Some friends and me wish to develop a 2D game just for the experience of learning this paradigm. We are all software engineers with experience in business apps, but we are unsure if the typical design patterns and architectures (MVC, 3-layer, etc) apply as well, and we are totally unknown about the techniques that are typically used in Game development (Scenegraphs, key bindings implementation, event management, sound/texture banks...)

We plan on developing with C# and XNA/Monogame, and I would be grateful if someone could point out any useful bibliography that could be helpful for us to plan an architecture and deal with any day-by-day game development issues.

Thank you

  • 1
    Requests for external resources are not really welcomed here. Can you reformulate your question such that you don't ask for books/links/etc. Dec 6, 2013 at 14:04
  • The Unity guys have a great set of tutorials and documentations like this unitygems.com/fsm1 Dec 6, 2013 at 17:40

1 Answer 1


Start from the ground up. Game development is amazingly fun but quite a different beast from web development. XNA is a good starting point if you are comfortable with C# but I have to suggest starting from the beginning.

Try to create Pong or Tetris first. If you are not used to game loops, logic, rendering pipelines, collision detection, input handling, etc. it can get rather overwhelming. You have the advantage of experience so these should be relatively easy projects, and IMHO, important first steps.

  • 1
    I'd personnally go for C++/OpenGL using Glut, but I definitely support the Pong AND Tetris clones idea. The most important point being that you don't have to worry about the gameplay, and can concentrate your efforts on learning about the game loop, keyboard input, rendering, etc.
    – user44761
    Dec 6, 2013 at 16:21
  • @Tibo C++ is without a doubt king in the game world but as they are both experienced in C# and in a learning stage to create simple games, I don't see the need to get bogged down with unnecessary details like memory management. Let's face it, you could feasibly write a solid Tetris game with HTML5 canvas. No need to over complicate things in the learning phase.
    – Mike H.
    Dec 6, 2013 at 18:59

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