Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I'm a 3rd year Computer Science student and I would like to get started with building a game engine or at least tinkering with making one. I am curious if there are any good resources to use to get started. I get the idea behind different pieces in the engine, but I'm not really sure about how they fit together. Is there anything out there to help teach me the skeleton of a game engine? So far I've been playing with the idea of a game engine that uses modules built in a circular linked list so that each can do it's computing and then pass move to the next piece of the engine to work.

share|improve this question

closed as not constructive by Byte56, Patrick Hughes, Tetrad Aug 27 '12 at 15:56

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Decided what type of game you want to target with your engine. Make a prototype of this game. Organize any reusable code in libraries and call this collection of libraries a game engine. –  ClassicThunder Aug 27 '12 at 0:36
I also recommend taking a look at Game Engine Architecture by Jason Gregory. I find it very difficult to keep the architecture side of Game Development simple and intuitive and found the book a useful reference. –  ClassicThunder Aug 27 '12 at 0:39
There's no right answer to this question. That's why how to get started questions are off topic for the site. See the FAQ about what types of questions to ask here. –  Byte56 Aug 27 '12 at 1:36
@ClassicThunder is absolutely right on both counts. If you set out to make a game engine without a concrete use case, at best you'll end up with an unusable game engine. The Gregory book is an excellent resource as well -- I've read mine cover to cover at least twice! –  postgoodism Aug 27 '12 at 4:36
If you don't know how to write a game engine, write games instead. Eventually they start to evolve into game engines. When you have the experience, you can start building actual engines as well. –  msell Aug 27 '12 at 5:58

2 Answers 2

To be honest I think the best resource here will be to simply pull apart some existing games and engine to see how they work. There is nothing like seeing first hand how a running production engine work. Its also a hell of a lot more fun than reading a book cover to cover.

You could start with Unity - I personally really love its high-level component-based game development design. It is arguably regarded as one of the best designed engines in the industry in terms of getting your game from zero to market. The core rendering components are hidden from you in this closed source engine however, so you won't learn much where the hardcore rendering is concerned.

For the really core components of an engine I would go take a good look at Orge. Download the source and build it. The examples that come with Ogre will provide you with the entire end-to-end process, and there is some really cutting edge stuff going on in Ogre development right now too (Procedural terrains, DX11 support, etc). Almost all the key components are represented in Ogre and its scene managers are actually pretty well designed.

share|improve this answer

I found this website to be quite handy if you're thinking of heading down the directx path: http://rastertek.com/tutindex.html They seem to have a well organised structure and, while they're mainly working on the rendering side of things, it might be worth checking out?

Also, "Frank D. Luna" has a really good range of books for DirectX programming (new directx 11 book published recently) which heads more into the game-engine side of things.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.