Hackathon Game
An interactive, arcade-style browser game developed entirely with vanilla web technologies during a weekend hackathon. It features custom logic constraints, engaging visual aesthetics, and collision detection to keep players coming back.
The Challenge
The hackathon theme revolved around time and choices. I wanted to build something viscerally engaging — a game where every decision carries weight and time pressure creates real stakes. The constraint of using only vanilla HTML/CSS/JS (no game engines) meant every mechanic had to be hand-crafted, from collision detection to animation loops.
Technical Approach
The game uses a hand-built requestAnimationFrame loop to coordinate player movement, object updates, collision checks, score or state changes, and visual feedback. Without a framework or game engine, the implementation had to keep DOM updates predictable and avoid unnecessary work inside the main animation loop. Collision logic and state transitions were written explicitly, which made the gameplay rules easier to tune during the short hackathon window.
Outcome
The project was valuable because it forced every abstraction to justify itself. Building a playable game with only browser fundamentals strengthened my understanding of timing, event handling, animation, and state management. It also showed how much polish can come from simple mechanics when feedback, pacing, and visual hierarchy are tuned carefully.
What I Built & Learned
Building a game in 48 hours with zero libraries taught me more about JavaScript than months of tutorials. I implemented a custom game loop using `requestAnimationFrame`, wrote collision detection from scratch, and managed complex state transitions without any framework. The experience reinforced how solid fundamentals in vanilla JS, the DOM, and CSS animations are the foundation of everything built on top of them.


