a_bertrand Posted December 21, 2011 Share Posted December 21, 2011 I started to work on a brand new engine, not zap, not mccode, nothing you ever saw. The engine will not be open source, nor it will be free, yet, I believe it will offer what you guys expect: - Complete open code for the owners. - Secure. - PHP 5. - Commented. - Well structured (without being over split). - Completely modular / plugin based. - Will be delivered as full game or base engine. - Will be able to download / install plugins directly from the admin site. - Template system. For people with little to no knowledge the engine will provide a fully working game and a base where they will be able to plugin lot more functionality without much or any knowledge required. For people willing to develop, the system will allow to develop quickly new pieces without having to change existing code, nor needing to know about complex frameworks. Expected delivery date: March 2012 Price of a complete package: around 100$ Modules can be bought separately too. The development process will work directly with the help of a beta team, which will be able to purchase a full package for the price of 20$ (1/5 of the price) at the end of the beta, or not buy it and simply not keeping the license. I will accept 5 beta testers (at least at this point) so the first 5 which are accepted will be granted to join the team. Of course credits will be given too ;) Beta testers which will be inactive will of course not have the option to gain access of the full package at that given price. Finally, if you want to develop modules for it, we will held a module shop, which will control the security, and the functionality of your module before putting it online (which means for the owners of the engine, using the shop will ensure working and secure modules). We will keep 20% of the sales for us, and 80% will be sent back via paypal to the developers. So it is also an opportunity to all developers to get a market there. Djkanna promised he will contribute to the engine and modules too, I hope to see some of you join the boat as well! I will come later on with a more and more detailed list of features which will be included in the March release. Quote Link to comment Share on other sites More sharing options...
BlitZ Posted December 21, 2011 Share Posted December 21, 2011 I am interested in helping, i would like to apply to be a developer, i was just talking to an old friend about creating a game engine, run through mostly plugins but can be run on it's own. If you can let me know the process i'd be happy to help, it'll give me something to do lately! Don't be put off that i am a newcomer here either :) Quote Link to comment Share on other sites More sharing options...
bluegman991 Posted December 21, 2011 Share Posted December 21, 2011 Woah. I have been working on something almost exactly the same for the past couple months. Quote Link to comment Share on other sites More sharing options...
Djkanna Posted December 21, 2011 Share Posted December 21, 2011 Great news. This is something that has been requested over and over again, a well documented, extendable and quality engine. I've had the chance to look at the current draft of the skeleton/base of this engine, and I must say it already is well documented and seemingly very easy to work with. I am happy to contribute to the code where I can, and I wish you the best of luck. This module store is equally a good idea, and in my opinion is much better than taking the forum route, as this way it ensures that the modules that are created have been well tested, well documented and work before ever reaching the marketplace. Quote Link to comment Share on other sites More sharing options...
BlitZ Posted December 21, 2011 Share Posted December 21, 2011 You could have something like how SMF does it, where you can search in a "directory" of some sort, including different categories of mods, all which are uploaded to the mod site, documented and have version control on Quote Link to comment Share on other sites More sharing options...
a_bertrand Posted December 21, 2011 Author Share Posted December 21, 2011 the development is made with SVN such that we keep track of all changes, but for the modules yes they will be classified as soon as we start to have some to offer. Quote Link to comment Share on other sites More sharing options...
Dave Posted December 21, 2011 Share Posted December 21, 2011 Providing there is a decent amount of people using this engine then I'd gladly port my current systems and potentially create new ones for the system. Finally, if you want to develop modules for it, we will held a module shop, which will control the security, and the functionality of your module before putting it online (which means for the owners of the engine, using the shop will ensure working and secure modules). We will keep 20% of the sales for us, and 80% will be sent back via paypal to the developers. So it is also an opportunity to all developers to get a market there. So you'd also deal with all customer support if it was going through your PayPal? What about the prospect of charge backs and such.. how would all this be managed? Quote Link to comment Share on other sites More sharing options...
Dominion Posted December 22, 2011 Share Posted December 22, 2011 (edited) I have a few quick questions. I believe you could produce something of extremely good quality, however due to your area of work you do tend to be very professional. Normally good, but not always. For example creating an over complex system your average customer could not understand. (If it updates from the site that should not be an issue.) - Complete open code for the owners. - Secure. - PHP 5. - Commented. - Well structured (without being over split). - Completely modular / plugin based. - Will be delivered as full game or base engine. - Will be able to download / install plugins directly from the admin site. - Template system. Define what you mean by PHP5. I believe you’re not a massive fan of PHP’s oop, therefore will you be avoiding massive usage of it within this framework? So... would it all be in procedural? What do you plan on using to communicate with the database (mysql_, mysqli, PDO,) or even what type of database will it be using? “modular / plugin”, so how much would the programmer need to know? Example -> mccodes you need to do all the HTML etc yourself, but the core is there (inside globals that you include), for zap I believe it’s got functions for in game buttons etc, but the user still needs to call them. (if that made sense at all.) “download / install plugins directly from site” free ones if going with the base engine or a fee for every download? “Template system.” Your own or something premade (e.g. smarty). Finally, if you want to develop modules for it, we will held a module shop, which will control the security, and the functionality of your module before putting it online (which means for the owners of the engine, using the shop will ensure working and secure modules). We will keep 20% of the sales for us, and 80% will be sent back via paypal to the developers. So it is also an opportunity to all developers to get a market there. All I will say here is most modifications for current engines start at around $5, and would not be worth creating at all if you then lost 20%. As suggested above build this feature into forum software, and have two areas “site approved/ reviewed” that go through this channel and pay the 20%, and another for those who do not. Edited December 22, 2011 by Dominion Quote Link to comment Share on other sites More sharing options...
a_bertrand Posted December 22, 2011 Author Share Posted December 22, 2011 We could do customer support, but bug fixing other people code wasn't primarily our intention. No the idea was a simplified system, like an app store for phones, where for the customer you have 1 shop and from there you will find all. If there is a bug, that should be the developer work to do, however before reaching the shop we will install the plugin manually on our own setup and check how it's done. This explains the 20% share we take. Again it was an idea, if the price of the module if 5$ then we may need to lower the cost as taking 1$ each 5$ may be a bit too much... we shall see how it goes. Of course free modules will not cost the developer anything ;) For over the complexity, yes, zap engine is over complex, too many directories, too complex. The design of this engine on the other side is really much simpler, if you want dom, I give you a copy of the current design and you evaluate it and tell us what you think. Deal? To give an idea of the directory structure: - Config (config.php being the lonely content) - Install (which will contain the main installer and then shall disappear) - Language (will will contain the language file(s) ) - Libs (shared libraries of the framework) - Modules (contains 1 directory per mododule) - Templates (again 1 directory per template) On the root, 2 files, index.php and a "marker" file. That's it. Here is an example taken directly from common.php found in libs: /** * Stores menu entries in forms of label, position in the list and link. * It autmatically retreive the module calling it. */ class MenuEntry { public $label; public $position; public $link; /** * Create a new menu entry * * @param $label string * label displayed on the menu * @param $position integer * used to sort menu entries * @param $link string * if null then the module name will be used. */ public function MenuEntry ($label, $position = 0, $link = NULL) { $this->label = $label; $this->position = $position; // Link is not defined then let's extract it from the module name // calling this function. if ($link == NULL) { $bt = debug_backtrace(); $filename = str_replace("\\", "/", $bt[0]["file"]); $path = explode("/", $filename); array_pop($path); $this->link = array_pop($path); } else $this->link = $link; } /** * Sort the menu entries by their position then by their label. * * @param $arrayOfMenuEntries unknown_type */ static function Sort (&$arrayOfMenuEntries) { usort($arrayOfMenuEntries, "MenuEntry::SortMenuCallback"); } private static function SortMenuCallback ($a, $b) { if ($a->position > $b->position) return 1; else if ($a->position < $b->position) return - 1; return strcmp($a->label, $b->label); } } As you can see, I will try to document the code. And yes this is one of the rare class of the engine. By PHP 5 I mean I may use libraries which will be there with PHP 5 and not 4, like XML libraries for example and make sure the code runs with PHP 5.x. PHP 5 by itself doesn't say you MUST code OO, you can but it is not a requirement. I decided to use some classes, for the DB as well as for other structures like menu, but for most part it will not be OO. Why? Because it would make again the system too complex for new comers, and actually you may not gain much. Here creating a plugin is simply creating a directory, and create a file with the right name inside. Done that the system will use it. No need to extend particular class or attach your module in other ways. For the database I'm evaluating MySQLi, PDO could be an option too, but I think MySQLi will do the trick. Actually I'm thinking of a way to hide the database as much as possible for most cases. For the HTML generation, you will have button functions, and "box" or "window" functions, such that the look will be consistent across the application. The framework may provide also list functions which generate click-able table or whatever. We shall see how the needs come along the road. Of course you are free to do all the HTML yourself as module developer. Actually for a normal "page" module you will use the standard echo function to show something. For the template, it is mainly a PHP page. It will not be a self invented format. Why? Again to let the developer use what they know. Why not smarty? Simply because it would be waste of resources and over complex for the average usage we would have here. I hope I didn't missed any question, if yes please tell me, and I shall try to answer to my best. If other questions come, please ask them too ;) Quote Link to comment Share on other sites More sharing options...
runthis Posted December 22, 2011 Share Posted December 22, 2011 (edited) I could Beta locally on windows(vista) and linux(ubuntu 10) as well as online linux(centos). Sounds Fun. edit: Smarty templating is nice, but a waste of time 90% of the time. I am glad you are not going that route. Also if you have msn i could help give you some tricks i picked up on hiding the database from the user. Mine is [email protected] Edited December 22, 2011 by runthis Quote Link to comment Share on other sites More sharing options...
Newbie123 Posted December 22, 2011 Share Posted December 22, 2011 Sounds very good ;) Quote Link to comment Share on other sites More sharing options...
JohnGato Posted December 22, 2011 Share Posted December 22, 2011 Look forward to seeing this in action. Hopefully this will be an engine that really helps all of us newbies out there just getting into the gaming world. LOL I for one would love to try and help if there are any beginners stuff to do Thanks Quote Link to comment Share on other sites More sharing options...
Spudinski Posted December 22, 2011 Share Posted December 22, 2011 I've got a question about the directory structure. To give an idea of the directory structure: - Config (config.php being the lonely content) - Install (which will contain the main installer and then shall disappear) - Language (will will contain the language file(s) ) - Libs (shared libraries of the framework) - Modules (contains 1 directory per mododule) - Templates (again 1 directory per template) On the root, 2 files, index.php and a "marker" file. That's it. I see no use in having a lang and template directory separate from each other. This will cause problems, as sentence structures do not remain the same in all languages. I'd suggest a per-template language, much like a CMS. Also then, the config directory is in www root? That's not good security practice, I'd suggest it be lowered to below the root. Same applies to shared libraries. Maybe, /home/spud ./config ./libs ./www - template -- defualt --- en-gb --- af-za - modules - install Lastly, when will the module guidelines be published. I'd like to see what is possible, and contribute if I have the time. Quote Link to comment Share on other sites More sharing options...
a_bertrand Posted December 22, 2011 Author Share Posted December 22, 2011 Language contains an XML file which is partially auto-generated partially managed. It has nothing to do with the templates, as the templates normally do not contain texts. You may see it later on in action it may be will be then more clear. Anyhow really the language file is pure text translation and is independent from code and presentation. Therefore it definitively make sense to place it somewhere else. For the config being in the same directory, again this is partially due to the fact the admin / install will need to edit it, anyhow it's inside a directory which is not browsable from the browser (.htaccess), so unless somebody injects some code to read it, you don't risk anything and moving it above will not increase the security at that point. Keep in mind that most PHP code works like that too ;) For the guidelines for the modules, it will come, let me first stabilize the whole framework then I will publish all specs, and quiet certainly give away mini-frameworks to let test it without the need of buying a package. Quote Link to comment Share on other sites More sharing options...
rulerofzu Posted December 22, 2011 Share Posted December 22, 2011 I can offer beta assistance. I cannot offer full 100% of my time so wouldnt expect anything in return but I can offer testing and input. Testing platform I can offer is Centos 6.1, php 5.3.8, mariadb or mysql 5.5 until mariadb 5.3 is released with a apache/nginx webserver. Quote Link to comment Share on other sites More sharing options...
bineye Posted December 22, 2011 Share Posted December 22, 2011 In order for someone to develop modules for this, they'd have to purchase a license I assume to be able to work with the full code, then have to give up 20% of sales too? Potentially a nice little earner there... What game type is the engine going to take? Is it a text-based one, or is it a 2D engine? I may have missed this somewhere along the thread. Quote Link to comment Share on other sites More sharing options...
a_bertrand Posted December 23, 2011 Author Share Posted December 23, 2011 To develop modules you could start without paying anything, as said, we will give out all the spec and even some sort of environment to test your module. Of course it will not be the full engine. The 20% we keep allow us to offer basically a review, and hosting service. Nothing odd compared to all the app market out there for phones. For the kind of game, the first package will be a text game where the second one planed will be kinda mixed one. Both will use the same engine and modules. Quote Link to comment Share on other sites More sharing options...
a_bertrand Posted December 23, 2011 Author Share Posted December 23, 2011 Development progress quickly and even more so as the base framework is nearly all there. Now I will not be there till about the 5th Jan so don't expect to ear from here till then ;) To give an hint of what will be the first package sold, check this: Medieval Knight Start: Player start as a squire of a small / poor knight. Goal of the game: Be the best knight yourself. Activities: Train Purchase /sell weapon / armors Battle in tournaments (bows, sword, and ride) Battle for quests Repair weapons and armors Craft weapon and armors Buying and selling manors / castles (limited numbers per world) Invading / defending manors / castles Stats: Dexterity (% to hit depending on the complexity of the weapon and agility of the opponent) Agility (% to evade attack of the opponent) Strength (Hit points) AC (Action points which will determine how many things you can do before running out of time... re-generate slowly) Weapon stats: Damage Reload time Complexity Durability Health Price Damage / Reload time / Complexity shall make a constant Armor stats: Damage absorption Agility decrease Durability Health Price Damage absorption / agility / durability shall make a constant Game features: Register / lost password / login Game news Tutorial Online market (between players) Real-time chat Simple forum Offline messaging (like emails) Top lists And weekly contests Admin features: Object creation / edition Game news edition User management (stat view, give / remove items, credits) Rules tweaking Language management (change game texts) Table editors (which let edit tables but not all) Progression view (to check if some player cheat) Log view (to check actions made on the game) Game Stats Quote Link to comment Share on other sites More sharing options...
Paul Evans Posted December 24, 2011 Share Posted December 24, 2011 Wow good luck with this Alain look forward to seeing the sample. Quote Link to comment Share on other sites More sharing options...
a_bertrand Posted January 4, 2012 Author Share Posted January 4, 2012 Thanks Paul ;) Quote Link to comment Share on other sites More sharing options...
a_bertrand Posted January 17, 2012 Author Share Posted January 17, 2012 Engine progress: around 50-60% done I will need soon to start to work on the server to host the engine documentation and market place. You guys think that the documentation shall be a wiki or, a static website or a pdf of some sort? Quote Link to comment Share on other sites More sharing options...
Nickson Posted January 17, 2012 Share Posted January 17, 2012 Wiki or a small static website, but no pdf or related stuff please :) Quote Link to comment Share on other sites More sharing options...
chicka Posted January 17, 2012 Share Posted January 17, 2012 Wiki would be better than pdf in my opinion. Quote Link to comment Share on other sites More sharing options...
Sim Posted January 18, 2012 Share Posted January 18, 2012 I agree with chika Quote Link to comment Share on other sites More sharing options...
a_bertrand Posted January 18, 2012 Author Share Posted January 18, 2012 Ok the documentation writing effort started... But really it's just a start: http://www.nw-engine.com/wiki/ Don't worry for the typos I shall make it corrected before we go in production, also, as I don't want the wiki to be filled with spam, registrations as well as chat pages are disabled, if you want an account PM me. 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.