aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorUnavailableDev <69792062+UnavailableDev@users.noreply.github.com>2023-02-15 20:37:29 +0100
committerGitHub <noreply@github.com>2023-02-15 20:37:29 +0100
commit09bb4d8a774557fc81519fc704d110559694073c (patch)
treebc7ccea7f8e1abcceff5a31f2f420d513597d59f /docs
parent1e7848653e1f0ee2fd578491dbc215dcdce6f08b (diff)
parentda71c4d0d6bc545e8953f1940be567f8b9e64a0b (diff)
Merge pull request #8 from BjornMartens/master
Stm32 added
Diffstat (limited to 'docs')
-rw-r--r--docs/architecture.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/architecture.md b/docs/architecture.md
index 055d228..3452862 100644
--- a/docs/architecture.md
+++ b/docs/architecture.md
@@ -40,6 +40,18 @@ The buttons will be connected as follows:
To implement the input in the game, the input should be ckecked at the start of each game cycle. In this case there are no interupts needed.
# 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.
+
+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