So over the last week or so I have started the design of a 2D game. Originally I planned to continue creating the game Engine I started a while back but instead decided I instead wanted to create a game as its generally much more fun. I decided therefore to use the SFML engine for all my engine needs. I may however use IrrKlang or FMOD for an audio engine however.
First on the agenda was setting up State Managements to manage the menu systems, game systems and other various states the game can handle. This included support for an input manager, texture manager, log files, event listeners among other things.
Because the state manager handles all the instances of the manager classes it prevented having to use singleton patterns since only one instance of each manager will be created. This should prevent coupling issues and make the game easier to test as well as allowing it to be as modular and reusable as possible.
The code aims to use the latest C++11 standards and currently makes use of things like unique and shared_ptr, the std::chrono library and std::threads for loading assets.
Part 2 will follow later today and will probably show off some code snippets and definitely some screen shots.