diff options
author | NielsCoding <48092678+heavydemon21@users.noreply.github.com> | 2023-03-15 18:56:15 +0100 |
---|---|---|
committer | NielsCoding <48092678+heavydemon21@users.noreply.github.com> | 2023-03-15 18:56:15 +0100 |
commit | 2588df5f89da62b857287344d6a7f2cc6951e938 (patch) | |
tree | f91c23e9233315502b9ccd320c3ae1adb2a6e051 | |
parent | 3891486b368f4cdd1c5e00019a2a66ca05e656e6 (diff) |
architecture docu
-rw-r--r-- | .vscode/settings.json | 15 | ||||
-rw-r--r-- | assets/TopLevelArchi | 1 | ||||
-rw-r--r-- | assets/hh_introScreen.png | bin | 0 -> 130932 bytes | |||
-rw-r--r-- | docs/architecture.md | 35 |
4 files changed, 50 insertions, 1 deletions
diff --git a/.vscode/settings.json b/.vscode/settings.json index d027762..7f37ba0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,5 +8,18 @@ } }, "cmake.configureOnOpen": false, - "files.eol": "\n" + "files.eol": "\n", + "nrf-connect.topdir": "${nrf-connect.sdk:2.1.2}", + "nrf-connect.toolchain.path": "${nrf-connect.toolchain:2.1.2}", + "files.associations": { + "input.h": "c", + "draw_screen.h": "c", + "camera.h": "c", + "entity.h": "c", + "stdint.h": "c", + "player_controller.h": "c", + "sprite_controller.h": "c", + "types.h": "c", + "startingscreen.h": "c" + } } diff --git a/assets/TopLevelArchi b/assets/TopLevelArchi new file mode 100644 index 0000000..bd8c538 --- /dev/null +++ b/assets/TopLevelArchi @@ -0,0 +1 @@ +<mxfile host="Electron" modified="2023-03-15T17:55:17.853Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.6.5 Chrome/80.0.3987.86 Electron/8.0.0 Safari/537.36" etag="2E6lyVvDi6oZnLAlj2-s" version="12.6.5" type="device"><diagram id="lFYth94ipJO3Ot3r_wOE" name="Page-1">zVdNc5swEP01PrYDFlD76NhpOtN0yowPSY8KbECtYD3y4o/++kpGfDuJkzp1fTG72hXSe29XYsTm2e5G8VX6DWOQo7ET70ZsMRqPXT9w9J/x7EvP1JuUjkSJ2AY1jqX4DdZp85JCxLDuBBKiJLHqOiPMc4io4+NK4bYb9oiy+9YVT2DgWEZcDr13IqbUet1g2gx8AZGk9tWT8adyIONVsN3JOuUxblsudj1ic4VI5VO2m4M04FW4lHmfnxitF6Ygp1MSvPAuyxcOfL1NQr8QyfebOPzg27XRvtowxHr/1kRFKSaYc3ndeK8UFnkMZlZHW03MLeJKO13t/AlEe0smLwi1K6VM2lG9YLW/t/kH44cxPvqVudi1Bxd7a5VrNQt8EgLrWmOhInhm38xKiasE6Jk4ryZKKxwwA70enadAchKb7jq4lVpSxzVs6AdLyCvIsYvccFnYN4WS70ENONPSWpnHIpOziFBprDagSGgZ3/IHkCGuBQnMdcgDEmGmA6QZuOLRr+TA5xylydOzscfDrzXHTIrE5JLht00kFiRFDvO69hqWTC7snudpiKtN8G3J2J7hVSW0bVWgY31pq/jcKvHsVHgDKnTDIYVSHqGjWyDbVBAsV/ygx63ukl0MzwAXG3fx8t0hXpNjcLnvBdf0om3F7bYV1vu90GUOVghKaChAnb/1BCe2HnbJ1hMM9L6MFED+32md+ZMLa72auIXVghO/OFK+00OKHemi4yNQ1fidH6rhiTZsFHk8M/c2bUWSr9ci6lX5TtB967l1ddBWU9PGeIeLg3di9brOcXJa4PtHsK98J1e5fUOIQu+k5t7rnaBBn9JynzarfWnsTdQXUcB6E5VADCY6yKPe9l8oZnjwvl4xT5wL//C6WfWIF2UTXFI1bp/s6RtV4/bl551LNdpsvpjK8Oa7k13/AQ==</diagram></mxfile>
\ No newline at end of file diff --git a/assets/hh_introScreen.png b/assets/hh_introScreen.png Binary files differnew file mode 100644 index 0000000..8b6e192 --- /dev/null +++ b/assets/hh_introScreen.png diff --git a/docs/architecture.md b/docs/architecture.md index 5001eed..94f17a4 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -1,3 +1,38 @@ +# Hooded Havic: Miniboss Mania +![intro arcade game](../assets/hh_introScreen.png) + +# introduction +Welcome to Hooded Havoc: Miniboss Mania, an exciting 2D platformer game created by our team Joshua, Loek, Bjorn, Frenk and Niels! This game was developed using the STM32 microcontroller as the game engine and the FPGA as the Picture Processing Unit (PPU). + +In Hooded Havoc: Miniboss Mania, you will take on the role of a brave hero who must battle through multiple levels filled with challenging obstacles and formidable minibosses. With smooth gameplay and engaging graphics, you will feel immersed in a world of adventure and excitement. + +Our use of the STM32 microcontroller and FPGA PPU allowed us to create a unique and innovative gaming experience. The STM32 provides efficient and reliable processing power, while the FPGA ensures that our graphics are rendered smoothly and accurately. + +So get ready to embark on a thrilling journey through Hooded Havoc: Miniboss Mania, and see how far you can make it! +## Objective +The objective of Hooded Havoc: Miniboss Mania is to guide the hero through multiple levels, defeating minibosses and overcoming obstacles along the way. The ultimate goal is to reach the final boss and defeat them to retrieve the stolen staff. + +To achieve this objective, the player must use their platforming skills to jump, run, and dodge obstacles while also battling enemies and minibosses. Each level presents a unique challenge that will require the player to adapt and strategize to overcome. + +As the player progresses through the game, they will unlock new abilities and power-ups that will aid them in their journey. The player must use these abilities wisely to defeat the minibosses and ultimately save the world. + +So, the objective of Hooded Havoc: Miniboss Mania is not only to provide an exciting and engaging gaming experience but also to challenge players to use their skills and strategic thinking to overcome obstacles and emerge victorious. +## Problem statement +One potential problem that could arise in the development of Hooded Havoc: Miniboss Mania is related to the PPU and communication between the STM32 and PPU. + +The PPU is responsible for rendering the graphics and displaying them on the screen, while the STM32 is responsible for processing the game logic and input from the player. However, if there is a problem with the communication between these two components, it could lead to synchronization issues and graphical glitches that could affect the player's experience. + +For example, if the PPU is unable to keep up with the processing speed of the STM32, the graphics may lag or appear distorted, causing the game to become unplayable. Similarly, if there is a delay in communication between the STM32 and PPU, it could result in a mismatch between the game logic and the displayed graphics, leading to confusion for the player. + +To ensure a smooth and enjoyable gaming experience, it is essential to address any potential issues with the PPU and communication between the STM32 and PPU during the development process. This may involve optimizing the code for both components, adjusting the communication protocol, or adding buffer systems to prevent lag or synchronization issues. +### architecture ( top level) +![Top level architecture](../assets/TopLevelArchi); + + + + +### design document (mid-low level) + # General system architecture ![Top-down system architecture diagram](../assets/architecture-level-1.svg) |