How to design a game engine?

Started by
4 comments, last by JD 18 years, 7 months ago
Hi, I browsed the articles here on GameDev and can't say I found any great articles on game engine designs. Is there any? I'd like some class diagrams (UML) or similar to get me a jump start, language independant preferably... Thanks in advance.
Advertisement
You can maybe take a look at something like Ogre3D design (ex: http://www.ogre3d.org/docs/manual/manual_4.html#SEC4). There are a couple of open source game engines out there and they probably all offer a view at their design. Sorry I'm not able to give out more links, but googling should prove usefull.
Unfortuanely, when you design a game engine, there's no universal design. You just have to think about your options and choose the best structure of those.
There's a series called Engunity that received mixed reviews. It gets you thinking at least.
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
Game engines are used to make games. Unless you know what a game needs, any engine you make won't work very well. Look around the 'net for a few minutes and you'll find a bunch of "game engines" which have never been used for anything more than making tech demos. I can guarantee that making a game with any of these engines would be as fun as having teeth pulled. If you want learn how to make an engine, make a game. And then make another. And so on. Be product oriented. After doing it a few times, it will become apparent what the games share in common... and then you make an engine.


Try checking out the popcap game framework.

http://developer.popcap.com/index.php

It’s a little messy, and a little low tech, but it’s been tried and tested.
From the outset you should know what kind of game you're making and how components in your game/engine should interact/act based on your requirements. Then you need to implement them. For your first/second, etc. game, you shouldn't worry too much about correct code design structure, only that you have reached your goals. Then on your next engine start looking for advanced techniques that will make coding things simpler or better. That way you don't have to worry about the game/engine components and their interactions that you already though out.

This topic is closed to new replies.

Advertisement