-
-
The adventure begins here. A sleek intro screen — WASD to move — E to dash — Q to updraft
-
A simple, fun game screen where you fight zombies, watch your health, see your score, check the minimap, and survive wave after wave
-
Enemies that fire slime projectiles—dodge or get splatted!
-
Settings let you tweak music, sound effects, crosshair style, and more to your liking.
-
A game-over screen that shows your final score and lets you reflect on how long you survived.
PLAY NOW
🧟♂️ zombs.tech – A First-Person Zombie Survival Web Game
🎮 Inspiration
When I was a kid, I was obsessed with browser-based first-person shooters like ShellShockers and Krunker.io. They weren’t just games—they were friendship factories, moments of joy, and core memories. I've always dreamed of creating my own FPS web game that could give someone else that same thrill. Throw in some Doom inspiration, and boom—zombs.tech was born.
⚔️ What It Does
zombs.tech is a fast-paced, first-person shooter where you take down waves of zombies and slimes, leveling up as you go and chasing that high score. Every wave gets harder. You’ll dash, updraft, and shoot your way through chaos, racking up kills and dodging enemy fire like a boss.
🛠️ How I Built It
I built this beast using JavaScript with Three.js to handle all the 3D magic. It’s running on a web-based HTML framework and features a custom UI/UX design that brings the whole thing to life. Every model, mechanic, and texture was hand-crafted, tested, and refined for smooth gameplay.
😵💫 Challenges I Ran Into
BRO. THERE WERE SO. MANY. BUGS.
- Texturing? Took ages to figure out how to make textures attach.
- Projectiles? Had to learn raycasting just to figure out if a bullet hit an enemy or me.
- Walls? My character kept phasing through them for TWO HOURS until I coded collision physics from scratch.
- Map creation? Every wall had to be placed by hand with specific coordinates—ugh.
- UI/UX? Total overhaul midway through because the original was trash.
- Testing? I wrote actual unit tests for a web game just to track down sneaky bugs.
But I pushed through, and I’m so freaking proud of where it landed.
🏆 Accomplishments I'm Proud Of
I packed in a TON of features in a short time, and now I feel like I’ve truly mastered Three.js. Designing and building this game is second nature to me now. Here's what’s in the game:
Core Gameplay:
- 🔫 FPS mechanics with WASD + mouse look
- 🧟♂️ Wave-based survival
- ⚔️ Two enemy types: melee zombies & ranged slime shooters (from wave 3)
- ❤️ Health system (100 HP)
- 🧮 Score and wave progression system
Player Abilities:
- Dash (
E) – 6s cooldown - Updraft (
Q) – 8s cooldown
Enemies:
- Zombies chase and hit you up close
- Ranged enemies shoot green projectiles, can't shoot through walls, have smarter AI (150 HP!)
Environment:
- 3D map with full collision detection
- Projectile collisions
- Minimap and spawn point systems
UI Elements:
- 🚀 Start screen with title, instructions, credits, etc.
- In-game HUD:
- Health bar
- Score tracker
- Wave progress
- Cooldown indicators
- Crosshair
- 🪦 Game over screen
- ⚙️ Settings menu:
- Mouse sensitivity
- Crosshair style
- Music & SFX volume sliders
- Mute all option
Visual Effects:
- Gun animations, glowing bullets, enemy death animations
- Hit markers, score pop-ups, and health bar color changes
- Damage screen flash for that extra drama
Audio System:
- Background music
- Laser shots, zombie groans, dash and updraft sounds
- Full volume control and mute options
📚 What I Learned
Three.js & 3D Graphics:
- Scene setup, camera movement, lighting, materials
- Texture mapping and UVs
- Raycasting and hit detection
Advanced JavaScript:
- Game loop logic and timing
- OOP with game classes
- State management & event systems
- Vector math and 3D calculations
Browser APIs:
requestAnimationFramefor performance- Pointer Lock API for smooth FPS controls
- Web Audio API for all the juicy sounds
- Canvas rendering for the minimap
UI/UX Development:
- Built fully responsive menus and in-game HUDs
- Added animations, transitions, and visual feedback for all game states
Game Dev Concepts:
- Wave-based progression and enemy balancing
- Cooldown-based abilities
- AI behaviors with pathfinding and attack logic
Physics & Math:
- Collision systems for players, enemies, and bullets
- Movement and camera rotation in 3D space
Development Best Practices:
- Well-structured code with clear game states
- Performance tuning and resource management
- Debugging and writing unit tests for game logic
🚀 What’s Next for zombs.tech
Oh man, I’ve got big plans:
- Multiplayer battles (1v1s, team fights, co-op survival)
- Boss fights with crazy mechanics
- New enemies, new maps, and new game modes
- Even smoother movement and combat mechanics
- Ability to choose your own music and sound packs
- Graphics upgrade (thinking shaders & better models)
- Leaderboards, account systems, and more polish all around
Thanks for checking out zombs.tech! If you love browser shooters or just want to blast zombies for fun, I hope this game brings you the same joy that inspired me to build it 💥🎯
Built With
- canvasapi
- css3
- domapi
- html5
- javascript
- pointerlockapi
- requestanimationframe
- three.js
Log in or sign up for Devpost to join the conversation.