4

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 Answers1

3

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.

Mike H.
  • 146
  • 3
  • 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. –  Dec 06 '13 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 06 '13 at 18:59