Last active
December 11, 2024 20:03
-
-
Save KareemDaCosta/01bc8c130cacb4dfb61d583c0bc2367f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Game Setup | Map Generation | Raycasting (Walls) | Raycasting (Enemy) | Sprite (Enemy) | Gun Controls | Device Communication | Other | |
---|---|---|---|---|---|---|---|---|
Creating Intro screen | Randomly generating maze using Prim's Algorithm | Setting up raycasting engine | Calculating vector orthogonal to player camera angle to use as enemy boundary angle | Reformatting 61 sprites | Rendering crosshair on screen | Sending messages from Processing to ESP-32 for setup (x4), firing gun (and whether there was a hit), and routine messages for position/velocity/camera angle | 'You Died' Animation | |
Creating Setup screen (as host) | Modifying map generated by Prim's to make gameboard more exciting | Rendering maze walls | Rendering enemy as wall (with special properties) | Rendering proper sprite based on vector between player and enemy positions | Implementing cooldown between gun shots | Broadcasting messages from ESP-32 using ESP Now | Respawn mechanic | |
Creating Setup screen (as joiner) | Converting map grid into walls (to be used for raycasting) | Preventing user from walking through walls (or clipping slightly through walls) | Generating proper offset for enemy on screen | Rendering proper sprites for animations (walking, firing gun, dying) that work with angles | Rendering on-screen indicator for gunshot cooldowns | Handling messages received from ESP-32 and updating game state accordingly | Rendering minimap | |
Handling creating map and initial player position (as host) | Creating animation timers to cycle through animations properly | Hit detection (detecting if player hit enemy sprite) | Score Tracking | |||||
Handling reconstructing map and intial player positions (as joiner) | Dynamically modifying sprite width/height ratio to maintain on-screen sprite rendering for sprites with different dimension (i.e. dying animation) | Performing laser cuts for enclosure |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment