Came across this article
(written by Jeff Plummer) by chance yesterday while I was browsing through Ogre tutorials to learn Ogre. It treats a somewhat different architecture for putting together a game from subsystems such as graphics, physics, AI, sound etc. For people like me -- who have at *least* basic knowledge in most major areas of game subsystems/engines but no real experience of putting together a full game -- it is easy enough to use one single engine in an application (like when creating a graphics demo you don't use AI for example). But when you have an application rendering a scene and want to turn it into a game you get stuck!!! Where are you going to add that extra code? How to organize it? This is where you should have thought twice in the beginning regarding the architecture that defines how different subsystems work together. Jeff describes a very easy-to-implement, easy-to-extend and easy-to-upgrade architecture. I found his idea interesting and started a design and implementation of it today in my spare time (I did some major changes compared to his prototype).
What I want the most of all for Fortia right now is to start development of the Game itself. So I think I'm going to move over to use engines created by other people (Ogre, ODE etc) for use in Fortia as well as Jeff's architecture. It will speed up the development significally compared to having to reinvent the wheel [smile] (especially since the team is very small). I learned a lot working on FortiaEngine and it has already served as a significant portion of my portfolio, but I have to be realistic if I want to get the game done!!! It also helped me understand Ogre and Nebula in just a few days!
I just want to finish this topic with a tip to all people working on their own game:Consider reading the article and moving to use finished libraries/engines!
For me this took years to understand and I'm sure I'm not the only one! Like a big group among game programmers I have had the ambition to code most things myself! If you're not in this group you're lucky! [smile]