diff options
author | BjornMartens <113104306+BjornMartens@users.noreply.github.com> | 2023-02-15 19:11:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-15 19:11:55 +0100 |
commit | 833185c0d8f266a57091eee94d321be0a1f2959e (patch) | |
tree | 3bef12dad67251753a3db70f4abbb0c64fa14fb1 | |
parent | 138cf645be7433022beead33025f8714e35c054f (diff) |
GameEngine
-rw-r--r-- | docs/architecture.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/architecture.md b/docs/architecture.md index ea07cdc..52abb25 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -11,6 +11,18 @@ Important notes: # Game controllers # STM32 software +The game engine will be designed to support 2D games with advanced graphics and input handling. The engine will use a state machine to manage game states and transitions between them. The state machine will be implemented using a finite state machine (FSM) design pattern. The engine will also include support for handling user input, game logic, and sound. + +FSM is a useful tool for managing game states and transitions. A game can have many different states, such as a title screen, a level selection screen, a loading screen, and various gameplay states. Each state represents a particular configuration of the game, with different sets of variables, objects, and logic + +The state machine will be designed with the following states: +1. Initialization: The initialization state will be responsible for initializing all game-related variables and subsystems, including the FPGA-based picture processing unit. +2. Title Screen: The title screen state will display the game's title screen and wait for user input to start the game or access the options menu. +3. Options: The options state will allow the user to configure game settings, such as sound and graphics options. +4. Game Play: The game play state will be responsible for running the game logic and updating the game state. +5. Game Over: The game over state will display the game over screen and wait for user input to restart the game or return to the title screen. + + # PPU |