Game Engine Development
While I should be finishing my game and engine a notable epiphany has hit me like a ton of bricks, the kind of epiphany that's worth writing about so the next time you decide to dedicate 3 years of your life to a programming project you don't forget what you learned the time before.
My project has consisted of 3 sub projects - The Engine, the Level Editor, and the IDE.
I've been working on "RTS Creator" for awhile, and it's a full suite of tools to make your own Real Time Strategy game with little to no coding knowledge.
The project is 90% complete but the last 10% seems to be taking the longest, which could have been preventable had I known what I know now.
Having a solid foundation before you begin development can really make development move along much more easily, and the things I would suggest tackling before even beginning development of your game are the following -
- Graphics API\Engine - In this case Leadwerks is a developed and tested solution.
- GUI - Having well tested User Interface api will make life much easier.
- Saving\Loading Mechanism - Writing saving and loading functions can be a huge time consumer. Using Serialization(Or Reflection to create serialization) you don't have to worry about updating your saving and loading functions when you make changes to your game.
- Resource Management - It's not uncommon to change your mind about some of the assets in your game, don't let the removal or addition of a resource create a world of work for you.
- Modular Development\Isolation - Create an architecture that's easy to add\remove functionality. Make the core game framework raise the events you need to for your modules, and make those modules raise their own events. Develop the modules in complete isolation from your game.
- Inheritance\Polymorphism - Make good use of polymorphism but don't overuse. Finding a way to use inheritance for your game that supplements you can make a huge difference.
- Take Your Time - Taking the time to design a good architecture can save you time in the long run. Code smart not fast
These are the things that I've learned over the last 3 years and if I had known to do these things before and well enough I'd probably be done by now.
Happy new years!
BlaBZ ouT!
3 Comments
Recommended Comments