Guest Posted January 28, 2015 Share 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 Link to comment Share on other sites More sharing options...
Sim Posted January 28, 2015 Share 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 Link to comment Share on other sites More sharing options...
Coly010 Posted January 28, 2015 Share 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 Link to comment Share on other sites More sharing options...
Guest Posted January 29, 2015 Share 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 Link to comment Share on other sites More sharing options...
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.