Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In playing around with my hobby projects in various object oriented languages, I have realized that creating good class structure and program architecture is both crucial and not straightforward to effectively develop a program, in particular a game.

I am a self-taught programmer with virtually no formal training, and I've only learned the things which seemed to be of immediate practical use, so I have never really looked into things such as design patterns, software architecture, code organization principles and the like. The resources I find are often limited in scope (most commonly it's a showcase of a single pattern) and/or quite technical (all the UML going over my head doesn't help).

Is there a good resource which explains the important concepts and basics of software engineering, where I can learn about things like when and how to use Components, what kind of class structures are appropriate to what tasks, how design patterns relate to each other and which are useful for what?

share|improve this question
up vote 7 down vote accepted

This is specific to game development and not general software engineering but I recommend looking at The wiki pages I've looked at (mostly design pattern ones) generally have had a blurb on why you would want to use such a design pattern, how it works, and provides code samples. It's exactly what I needed to learn!

The one caveat, as it usually is with wikis, you need a topic to search on to effectively find information but once you've got that its just a matter of clicking around and reading about what you like.

share|improve this answer
Actually, just noticed they have a "Wiki Content" link on their homepage. Could be a good place to start as well! I just overlooked this before. – SpartanDonut Feb 23 '12 at 13:33

If you want to program game engines or simply learn about it, pick a good book. I really recommend you 3D Game Engine Architecture and this one Game Engine Architecture

These two explain all about how a game engine is divided and are plenty of nice ideas and code snippets oriented to game programming.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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