Avoiding game
Fast-paced arcade action testing player reflexes.

Project Overview
An exploration of game loop mechanics and dynamic difficulty scaling. This project demonstrates high-performance collision detection and state management in a Python-based execution environment, requiring sub-millisecond precision for collision checks.
Key Features
Dynamic Difficulty
Scaling enemy speed and spawn rates based on current player progression.
Score Persistence
Local data management for tracking high scores across sessions.
Fluid Framerate
Optimized drawing logic to maintain 60FPS on varied hardware.
System Architecture
Classic monolithic game loop architecture (Init -> Event -> Update -> Draw -> Repeat).
Game Engine
Handles low-level input detection and graphical rendering.
Logic Engine
Discrete mathematics for collision calculation and entity movement.
Engineering Challenges
Managing hitbox accuracy when objects move at extremely high velocities (Tunneling Effect).
Implemented discrete sub-step physics checks to bridge the gap between frames when objects are moving faster than their hitbox width.
Screenshot Gallery
Video Walkthrough
Key Takeaways
Mathematical principles of collision detection.
Game loop performance optimization.
Designing for scaleable difficulty in arcade games.
Tech Stack
My Role
- Implemented the core game loop and collision detection.
- Designed the UI and score accumulation logic.
- Created custom assets and sprite management systems.


