Side ProjectJavaScriptp5.jsBuilt from Scratch

Rebuilding Bomberman, a game I grew up with, written from scratch in JavaScript.

No game engine. Just p5.js and a childhood memory. I spent hours on this game as a kid, so rebuilding it was the most honest way to learn JavaScript properly. Every mechanic I remembered had to be translated into code.

Built with
JavaScript · p5.js
Engine
p5.js from scratch
Type
Solo Side Project
Status
Live & Playable
Try it yourself →

No install. No download.
Runs in the browser with keyboard controls.

Skills Demonstrated
JavaScriptp5.jsGame Loop ArchitectureCollision DetectionSprite AnimationState ManagementKeyboard Input HandlingDelta Time Physics2D Grid Systems
What This Demonstrates

Real JS ability. No shortcuts.

01

Systems thinking

A game is just a loop: read input, update state, render. Building this forced a clean architecture before a single line of logic was written.

02

p5.js as a creative tool

p5.js gives you draw(), setup() and input. The rest is yours. Using it for a game meant understanding exactly what the library handles and what you still have to build yourself.

03

Debugging without a net

There is no tutorial for "build Bomberman." Every collision, every explosion radius, every timing bug was solved from first principles.

Code

A glimpse into the code.

Not the full source, but enough to see how it is structured. Real functions, real logic, written from scratch.

bomberman.js
Code screenshot 1
bomberman.js
Code screenshot 2
Reflection

What building it taught me.

Biggest insight

Games are just state machines

Every feature in the game, collisions, timers, animations, is just a variation on the same pattern. Understand the loop, and the rest follows.

Hardest part

Frame-rate independent movement

Tying movement to delta time instead of frame count was the first real breakthrough. Physics that break at 30fps but work at 60fps teach you fast.

What surprised me

p5.js is a runtime, not a game engine

It gives you setup(), draw() and keyPressed(). Collision logic, game state and bomb timers are all yours to build. The boundary was clearer than I expected.

What's next

Multiplayer via WebSockets

Bomberman was built for two players. Real-time multiplayer is the natural next step. Same grid, two browsers, one connection.

apoorvagoyal1020@gmail.com
Open to Product Design, UX Design and Design/Creative Technology roles
Made withlove and codeby Apoorva Goyal
apoorvagoyal1020@gmail.com
Open to Product Design, UX Design and Design/Creative Technology roles
Made withlove and codeby Apoorva Goyal
apoorvagoyal1020@gmail.com
Open to Product Design, UX Design and Design/Creative Technology roles
Made withlove and codeby Apoorva Goyal
apoorvagoyal1020@gmail.com
Open to Product Design, UX Design and Design/Creative Technology roles
Made withlove and codeby Apoorva Goyal