Skip to main content
GameDev.net gamedev.net
🔒 Locked

Engine design articles

Started by Psyk60 Jun 16, 2007 at 2:32 PM 3 replies 1.2k views
Original Post
Psyk60
Psyk60
In my spare time I'm working on a simple 3D space game (I was thinking a 3D version of asteroids). As far as games go it seems like it should be fairly simple and will give me an opportunity to learn some C++ and DirectX. But my problem is I really don't know of a good way to structure my engine. Are there any decent articles about basic engine design? It doesn't need to use C++ and DirectX specifically, but it wouldn't hurt I suppose. Just so you know what level I'm at, I've just finished my second year of computer science at university. I'm fairly good with C and Java but I haven't really done any particularly big projects in C.
Psyk60
Psyk60
Ok then I'll rephrase my question :)

Are there any good articles about how to structure my game code? I do have a specific game in mind, so it's not like I'm looking to make a generic engine that I can use to make lots of different games.

Or do you think I should just get on with it and make it up as I go along? Should I just do what works and not worry about what the proper way to do it is?
CTar
CTar
Quote:
Original post by Psyk60
Ok then I'll rephrase my question :)

Are there any good articles about how to structure my game code? I do have a specific game in mind, so it's not like I'm looking to make a generic engine that I can use to make lots of different games.

Or do you think I should just get on with it and make it up as I go along? Should I just do what works and not worry about what the proper way to do it is?


There are no articles describing how to structure your engine. A complete engine is just too big. If you learn some general design principles and how to apply them, then it shouldn't be hard to figure out how you want to structure your engine.

If you really want some kind of guidance then David Eberly has published two books on the subject (3d Game Engine Design and 3D Game Engine Architecure are the names), but they are still far from completely describing how to structure an engine.

I know Gamasutra have a couple of articles about the high-level organization of engines, but they are specific to some problem engine designers face, like multithreading. For example see this which goes over some basics of very high-level engine design with respect to multithreaded engines (this is a similar article, but a little more in depth). If you have some time you could try looking through their programming articles, but beware, there are many and some of them are advanced. You also need to register (it's free) to see some of the articles.

Personally I would suggest you to treat this like any other programming task. Figure out what your goals are, what kind of design will accomplish them and then implement it. You will learn much more than if you copy someone else's architecture.

EDIT: Also if you just want a little inspiration, some things to avoid, little tricks, etc. then I would consider getting Game Coding Complete which might help you. It is an excellent book, which covers a lot of different topics related to game programming.
h_howee
h_howee
Quote:

This might not be the answer you're looking for, but you might find this worth a read:
http://scientificninja.com/advice/write-games-not-engines


That was surprisingly convincing
OS: Ubuntu, Windows XPIDE: CodeBlocksCompiler: GNU GCC

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.