Skip to content

kazim-45/dead-zone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

🧟 DEAD ZONE

A browser-based 3D first-person zombie survival shooter built entirely in vanilla JavaScript and Three.js. No installs, no engines, no bullshit — just open the HTML file and play.


Play

Just open dead-zone.html in any modern browser. That's it.

Or if it's hosted on GitHub Pages:

https://kazim-45.github.io/dead-zone/dead-zone.html

How to Play

Survive as long as possible. Zombies keep coming and keep getting faster. There's no end — only a high score.

Your best run is saved for the session, shown at the top of the screen.


Controls

Movement

Key Action
W A S D Move
Shift Sprint

Aiming & Shooting

Key Action
Arrow Keys Look around
Hold Enter Auto-fire
Insert Toggle scope (ADS)
R Reload

Scoped mode slows your look speed and tightens aim assist — use it for distance shots.

Grenades

Key Action
Hold G Aim grenade (shows arc)
Release G Throw

Grenades have a 15 second cooldown. The ring gauge at the bottom center fills up as it recharges.


Features

Weapons

  • 40-round magazine with visible bullet pips
  • Auto-fire by holding Enter (~11 rounds per second)
  • 2.2 second reload with animated progress bar
  • Muzzle flash, brass casing ejection, gun recoil and sway

Aim Assist

Built-in soft aim assist that nudges your crosshair toward the nearest zombie. It's subtle — it won't carry you, but it smooths out the jank of arrow-key aiming.

  • Wider assist cone when hipfiring, tighter when scoped
  • Targets chest height
  • Max range: 60 units

Grenades

  • Pull up the throw arc by holding G, release to launch
  • Dashed yellow arc shows the trajectory, orange circle marks the blast zone
  • Blast radius of 9 units — can wipe a whole cluster
  • Big fireball explosion with debris, screen flash, and a burst of light on impact

Invincibility

Every 15 kills you go invincible for 20 seconds:

  • Zombies can't hurt you
  • Ammo auto-refills continuously
  • Cyan screen flash on activation
  • Pulsing ⚡ INVINCIBLE ⚡ banner with countdown bar
  • Blue electric vignette around the screen edges

It resets and repeats — so 15, 30, 45, 60 kills, etc.

Zombies

  • Spawn continuously, 1 at a time early game, 2 at a time from wave 5 onward
  • Get faster, tankier, and hit harder as difficulty climbs
  • Each wave ramps up every 20 seconds
  • Die with a ragdoll fall animation, despawn after 3 seconds

HUD

  • Timer, kill count, and best time at the top
  • Wave indicator top right
  • Health bar bottom left — pulses red when low, red vignette when critical
  • Ammo counter with bullet pip display bottom right
  • Grenade cooldown ring bottom center
  • Invincibility banner and countdown when active
  • Kill feed messages top left (last 4 events, fade after 3s)
  • Crosshair with hit marker flash

Tech

  • Three.js r128 — 3D rendering
  • Vanilla JS — no frameworks
  • Single HTML file — everything in one place, no build step
  • Runs entirely in the browser, no server needed

Tips

  • Use scope for distant zombies, hipfire for close ones
  • Save grenades for when you get surrounded
  • Sprint (Shift) to reposition — standing still gets you killed fast
  • Invincibility windows are the best time to push into large groups for easy kills
  • The campfire in the middle of the map is your landmark — don't wander too far from it

Feel free to hit me up for some changes!

About

Browser-based 3D zombie FPS, built from scratch in a single HTML file using Three.js.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages