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

closed as off-topic by gnat, user53019, user40980, Bart van Ingen Schenau, Doc Brown Dec 16 '13 at 6:39

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, Community, Community, Bart van Ingen Schenau, Doc Brown
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 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. – Bart van Ingen Schenau Dec 6 '13 at 14:04
  • The Unity guys have a great set of tutorials and documentations like this unitygems.com/fsm1 – Shivan Dragon Dec 6 '13 at 17:40

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 '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 6 '13 at 18:59

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