diff options
author | lonkaars <loek@pipeframe.xyz> | 2023-03-16 18:00:27 +0100 |
---|---|---|
committer | lonkaars <loek@pipeframe.xyz> | 2023-03-16 18:00:27 +0100 |
commit | 8f3cc317d17e04ee6756362138649e0b159bdc62 (patch) | |
tree | 9f60f6cf8da7035019c083c55a7b4c331498f6c7 | |
parent | 0fb8c4c52d185244898bac5745df6730a5c6ed5e (diff) | |
parent | 51ee4672d5f2f734eb40f4312a2aefd2f8c6dc03 (diff) |
merge #41
-rw-r--r-- | docs/architecture.md | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/docs/architecture.md b/docs/architecture.md index 831e6e4..bf062f2 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -67,17 +67,16 @@ components. # STM32 software -The game engine will be designed to support 2D games. 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. +The game engine is designed to run a 2D platformer game. The game engine has to manage all the different game states. To do this it will utilize a finite state machine (FSM). The game engine will also cover de input handling from the player, the game logic for example enemy handling or the powerup handling it will also send out data to the APU (Audio processing unit) so that the right sounds will be played. -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 +FSM is a useful tool for managing game states and transitions. The game has many different states such as: title screen, shop and gameplay state. Each state represents a particular configuration from the with different logic and variables. -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. +The state machine is designed to have 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. ## Input |