Skip to content

mwardio/zeds

Repository files navigation

ZEDS: LAST BUNKER

A 4-player co-op, round-based zombie survival FPS that runs entirely in the browser. One map. Endless rounds. Voice chat. Buckets of blood.

Rated 18+ — extreme gore, dismemberment, and an announcer with a filthy mouth. There's an age gate on the door for a reason.

genre players rating

Quick start

npm install
npm start

Open http://localhost:3030, confirm you're 18+, enter a name, hit CREATE GAME, and send the 4-letter room code to up to three friends. They hit JOIN with the code. Host starts the game. That's it.

Friends not on your LAN? Expose port 3030 with anything you like (cloudflared tunnel, ngrok http 3030, a VPS, port forward…). Note: browsers require HTTPS for microphone access on non-localhost origins, so use a tunnel that gives you https:// if you want voice chat.

The game

You're locked in a derelict bunker. The dead come through the windows in waves that never stop getting bigger, faster, and angrier. Earn points for hits, kills, and repairs. Spend points on guns, doors, perks, and a gamble on the mystery box. When you're down, your squad has 45 seconds to drag you back up. When everyone's down, it's over.

Controls

Key Action
WASD / Shift move / sprint
Mouse / Right-click fire / aim down sights
R reload
E buy, repair barricades, revive (hold)
F or V knife
G frag grenade
1 / 2 / wheel swap weapons (2 max)
M mute/unmute mic
Tab scoreboard

The map — six rooms, two routes

+-----------+-----------+-----------+
| GENERATOR |   KILL    |  MED BAY  |
|   HALL    |   YARD    |           |
|  MG-Hog   | [mystery  | Widowmaker|
| Adrenaline|   box]    | Iron Veins|
+----$1000--+-$1250-$1250-+--$1000---+
|  ARMORY   |  SPAWN    |   LAB     |
| Boomstick |  GK-3     | Warhound  |
| TriggerHap| Riot-9    | Greased L.|
+---$750----+ SecondWind+---$750----+

Economy

  • Hit +10 · kill +60 · headshot kill +100 · knife kill +130
  • Repairing a barricade plank +10
  • Reviving a teammate +300

Arsenal

Wall-buys from chalk outlines (GK-3, Riot-9, Boomstick, Warhound, Widowmaker, MG-Hog), plus mystery-box exclusives ($950 a spin): the SF-10 Spitfire, the .50 Hand Cannon, the VX Vulcan minigun — and if the box loves you, the Disintegrator Mk-Ø.

Perks (4 max, lost when you go down)

Perk Cost Effect
Iron Veins 2500 250 HP
Greased Lightning 3000 2× reload speed
Trigger Happy 2000 +50% damage, +15% fire rate
Second Wind 1500 2× revive speed
Adrenaline Junkie 2000 +20% move speed

Power-up drops

MAX AMMO · INSTA-KILL · DOUBLE POINTS · NUKE

Tech notes

  • Zero build step, zero asset files. Three.js renders procedurally generated geometry and canvas textures; every sound (guns, growls, stings, the perk jingle) is synthesized live with WebAudio; the announcer is the browser's own speech synthesis pitched down to gravel.
  • Authoritative Node.js server (server/) owns zombies, rounds, points, doors, and barricades over WebSockets at 20 Hz. Clients predict their own movement and interpolate everything else.
  • Voice chat is a WebRTC mesh between players, signaled through the same WebSocket, with a ready-handshake to dodge offer races and AnalyserNode-driven speaking indicators.
  • shared/ holds the map and balance tables, imported by both sides.

Tests

npm start &
node test/smoke.js   # headless protocol test: lobby → rounds → kills → economy
PLAYWRIGHT_BROWSERS_PATH=... node test/e2e.js  # full two-browser playthrough

Legal

This is an original work: original map, original weapon/perk names, procedurally generated art and audio. It is inspired by the round-based zombie survival genre but contains no assets, names, or code from any commercial title.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors