Dead Wake Engine · the full source · one zip

A co-op shooter you can read, run and build on.

Dead Wake is the 4-player zombie shooter aboard a cruise ship that you can play on this site. This is everything it is made of: the three.js client, the server-authoritative WebSocket room server, the tests and the pipelines. For builders who want a working co-op browser game to learn from or start from, not a template.

  • $89once
  • 48,968 linesTypeScript
  • 4 playersserver authoritative

Stripe takes the card. Your download appears on this page the moment the payment clears, and the same link arrives by mail.

The game itself, playable at /DeadWake. Everything in this trailer is rendered by the source in the zip.

Measured on 4 November 2026

What is in the zip, counted

One repository, src/ and server/, as it stands on the commit you download. The counts are from the repo, not a brochure.

48,968

lines

TypeScript across src/ and server/

1,020

tests

vitest, in 98 files

403

commits

since 15 October 2026

15 Hz

snapshots

the room to every player

The part worth the price

How a shot travels

The room is the authority. A client sends what it intends, the room runs the horde on the real ship data and decides what happened, and every player gets the same snapshot 15 times a second. The client predicts its own movement so it never waits, and takes the server's word on damage, magazines and reloads.

Client intent to screen

01

Client intent

Move, aim, fire, reload, interact. Movement is predicted locally.

02

Room sim

The horde, rounds, doors, barricades, pickups, downs and revives, on the server.

03

Snapshot

15 a second. Players as packed arrays, zombies as binary rows.

04

Client interp

Smooth between snapshots; damage, magazines and reloads confirmed by the room.

One zombie in one snapshot · a cell is a byte

A zombie that changed

29 bytes

the full row, sent in the tick a zombie changed

A zombie that only moved

10 bytes

the motion row, sent when nothing else about it changed

15 snapshots a second · players as packed arrays · about 6 KB/s per player early, 17 KB/s with 40 zombies on deck

Room rules the server enforces

RuleValue
Players per room4
Revive a downed teammatehold 3 s
Bleed-out after a down30 s
Dropped seat kept for rejoin5 min
Snapshot rate15 a second
Bandwidth per playerabout 6 KB/s early, 17 KB/s with 40 zombies

What is inside

The whole game, with its tooling

  • The co-op room server

    server/rooms.ts and src/net/world.ts. The room runs the horde on the real ship data: rounds, doors, barricades, pickups, points per player, downs, revives and bleed-out.

  • Client prediction

    Movement is predicted on the client; damage, magazines and reloads are confirmed by the server.

  • Voice chat

    Teammates talk in the room, with a volume per teammate.

  • Rejoin from the invite link

    A dropped player comes back to the same run; the room keeps the seat 5 minutes.

  • A global leaderboard service

    The service the live game reports to, with the client code that talks to it.

  • A GPU-tier boot plan

    Four quality tiers picked at boot, and a frame governor with dynamic resolution.

  • The horde renderer

    Near zombies on skinned rigs, the far crowd on a vertex-animation texture.

  • 20 guns

    Each with its recoil and ADS code.

  • Procedural audio

    No audio files. Every sound and the music are synthesised with the Web Audio API.

  • The QA harness

    scripts/qa: Playwright, with multi-browser co-op tests.

  • The Blender pipeline

    scripts/blender: converts Mixamo characters and bakes the far LOD.

  • 1,020 tests

    vitest, in 98 files, run with one command.

What is not inside

The Mixamo characters and clips

The six zombie characters, the four survivor characters and the 36 animation clips come from Adobe's Mixamo, and Mixamo's terms forbid redistributing them. They are not in the zip. You download them free from mixamo.com with your own Adobe account and run the included convert script; the zip's README documents the step.

Assets

AssetIn the zipLicence
Poly Haven textures and HDRIyesCC0
Oswald and Inter fontsyesOFL
Generated voice linesyesincluded
6 Mixamo zombie charactersno, you download themMixamo terms
4 Mixamo survivor charactersno, you download themMixamo terms
36 Mixamo clipsno, you download themMixamo terms

Licence

Personal, paid once

  • One buyer. Use it in as many of your own projects as you like.
  • Commercial use is allowed: ship and sell what you build on it.
  • No resale or redistribution of the source, or of a substantial part of it, as a kit, template or starter.

How delivery works

Pay, then the download is on this page

01 Stripe takes the card and sends you back here. The page checks the order and shows the download.

02 The receipt mail carries the same link. Keep it: the URL is your personal access.

03 The link always serves the current zip. When Dead Wake ships, the zip is replaced and your link keeps working.

Price

$89, once

$89

One payment, personal licence, the full source as a zip, updates at the same link. No subscription, no seat count, no key to lose.

Questions

Before you buy

Can I get a refund?
Within 14 days, if it does not run for you. Mail alex@alexsssaint.com with your order reference and what you tried.
What happens when Dead Wake updates?
The zip behind your link is replaced when Dead Wake ships. Your link keeps working; download again and you have the current source.
Is there support?
None promised beyond the README. It documents the install, the room server and the Mixamo step, and the tests say what every part is meant to do.
Can I ship a game built on it?
Yes, commercially, under your own name. What you cannot do is sell or give away the source itself, or a substantial part of it, as a kit or template.