I've been developing with WPF and C# professionally for about 3 years now (40 hours a week). So I'm quite at home in Windows and the .NET framework. I will attempt to learn how to develop games mostly in the evenings and during the weekends, I'm not in any kind of rush as developing and learning is a hobby for me. I've never used C++ before so learning that is a big plus to me. While I do have some ideas for full fledged games I would like to eventually make, I know that going headstrong into developing them isn't the best course of action. So below is my game plan, I would love to hear from any experienced game developers what they think of it and more importantly if the see any flaws in it.
Improve my C++ knowledge
Improve my DirectX knowledge
Build and improve a simple framework I can use for 2d/2.5d game development
- Get acquainted with C++ & DirectX in Visual Studio 2012
- Layout the basics for the framework using the default DirectX C++ template in Visual Studio 2012 (seperating the framework into a seperate library for reuse during and possibly after this initial learning curve)
- Start developing my first gamecopy. I chose Sweet Acorn for this, for reference:
Reasoning behind this is that I didn't want to do Pong because everyone does that () and it seems to me the differences between the two are small enough for me to overcome. Both have collision detection, very basic AI, some sound, some user input. Where Sweet Acorn also has handling maps, the user input is a bit more complex and you have different courses of action depending on what collides with what.
- Refactor the game and think about what I can improve in the framework
- From this point on I'd like to learn how networking in game development works, the reason why I want to do this right after my first game is because I believe it will have a big impact on how I'll structure my games.
- Develop something simple for multiplayer, maybe just a map with a sprite that you can control and a chat system. This is to put theory into practice.
Well not so much so far, I started 2 days ago and I have currently completed step 1 and am making good progress on step 2. On step 2 I've decided to go with a static library for the framework and I've managed to abstract a basic game class that handles the actual game loop with gamestates that handle initialize, load, update, draw.
I'm looking forward to any feedback anyone can offer .