Guest Posted January 28, 2015 Posted January 28, 2015 Hey all, I have recently stepped into a rather large project, currently we only have 1 game on the go, it is however pretty active, in fact we just reached 10,000 members. For the next version it is a total rewrite, the base code is 4+ years old, I am creating an engine for this so we can fork it and create new modules to launch on different games. I was wondering if you guys and girls would be interested in a decent modern and free game engine? There may be a "pro" version and a "hosted" version depending on the interest. How would this "engine" work? First off it will be just an "engine". There are mods and mod packs to pack on to it. - A mod pack consists of multiple mods - A mod is a single feature - Events are essentially plugins, they hook into the core of the engine in which you can change the outcome of things. For example you want to shoot a mail to someone after they have registered, you could hook into the event "post-registration" in which the users register vars are passed. - The engine would have a fully featured admin panel in which you can administrate a game properly, add new mods from the ACP (So long cURL is enabled). - Mods can add new admin settings and setting groups Sample mod (This doesn't show any functionality, simply an example of a super basic plugin) //Your name as the namespace to group authors to stop comflicting mods namespace Application\Modules\ArchEclipse; class Crimes extends BaseModule implements Application\Core\Interfaces\Mod { public function __construct() { //Set up the template path so you don't have to write the full path out later $this->settings['template_path'] = 'application/mods/archeclipse/crimes/'; } public function index() { $this->templateVars['crimes']['page_info'] = 'Welcome to ArchEclipse\' new crimes page!'; //Render automatically adds $this->templateVars to the template before rendering //Template path is auto appended in the render() method so the real path would be //application/mods/archeclipse/crimes/index.twig //You don't need to add .twig at the end return $this->render('index', [ 'site.name' => 'Crimes' //The template would render this as <title>SITE_NAME | Crimes</title> where //SITE_NAME is the application name ]); } public function _install() { //This will be called when the plugin is uninstalled } public function _uninstall() { //This will be called when the plugin is uninstalled } public function _activate() { //This will be called when the plugin is enabled } public function _deactivate() { //This will be called when the plugin is disabled } } Any questions shoot them over :) Quote
Sim Posted January 28, 2015 Posted January 28, 2015 Similar to my system I was doing for PC in C# for a crime based project. The one I started in php is sort of weird, but powerful. If you are going threw with this, I would make a Hook for "Features" such as "Crime" so people can over-ride displays, certain features, extend things,e ct. Quote
Coly010 Posted January 28, 2015 Posted January 28, 2015 This inspires me to do a fully OOP engine for Chaos-Era lol I might go and refactor that project Quote
Guest Posted January 29, 2015 Posted January 29, 2015 Similar to my system I was doing for PC in C# for a crime based project. The one I started in php is sort of weird, but powerful. If you are going threw with this, I would make a Hook for "Features" such as "Crime" so people can over-ride displays, certain features, extend things,e ct. That would be a pre-render hook where it is choosing the template to render, so an if statement to check if template = "crimes" then show "newcrimes". Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.