To support multiple resolutions, a technique called "Resolution Independent Rendering", pioneered by Donald Knuth, is implemented using Direct2D and some linear algebra.
“User interface is the process of shifting from chaotic complexity to elegant simplicity.”
The current stack manager does not allow for Heads-Up-Display overlays yet, as each time a new state is pushed to the stack, the previous state is paused. We therefor have to add the possibilty to overlay states over each other: The Stack Overlaying States To add a new overlay, we
To further showcase the previously implemented new state system, this tutorial will explain how to create an options menu to allow the user to change the fullscreen state, to set the game resolution and to chose his own keybindings.
Every game, I suppose, needs a menu system with buttons to let the user navigate through the different scenes of a game. In this tutorial we will learn how to add such buttons to a game menu. The main functionality of each button will be defined using lambda functions.
In this tutorial we will implement a state manager (a deque) to handle different game states, or scenes, such as an intro sequence, a main menu, the main game scenes and a game menu.