Skip to content

Instantly share code, notes, and snippets.

@KareemDaCosta
Last active December 11, 2024 20:03
Show Gist options
  • Save KareemDaCosta/01bc8c130cacb4dfb61d583c0bc2367f to your computer and use it in GitHub Desktop.
Save KareemDaCosta/01bc8c130cacb4dfb61d583c0bc2367f to your computer and use it in GitHub Desktop.
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