About
You spawn in a cell at the start of an outbreak. The bedding makes a rope. The door isn't as locked as it looks. Past the prison wall is a treeline, a logging road, a forester's camp, a river, a gas station, coastal pines, and a beach. A rescue ship rides at anchor offshore. Get on board and the run is over.
Bites carry the parasite. The parasite carries a clock — two minutes from exposure to turn. Find the three cure ingredients, craft them together, use the cure. Or climb high and pray.
Die anywhere on the route and you wake back in the same cell, vitals reset, one item left behind at the death site. PvP is always on. Named NPCs remember what you do.
- Strict 256-colour One indexed palette, 480×270 internal, upscaled through a fragment shader. Day/night, infection tint, water, and fire are all palette LUT effects — no per-pixel shading.
- Persistent world An SIR infection model runs on cold chunks while you're offline. NPCs sicken, recover, or turn. The map shifts whether or not you play.
- Up to 25 players One Linux server, one shared coastline. ENet over UDP with Ed25519 identity and HMAC-SHA256 packet authentication.
- Proximity voice Opus, 48 kHz, server-mixed per listener. Audible within 16 tiles. Walls drop blocked talkers to a quarter gain.
- 1–3 hour runs Designed to be finished. Reach the ship and your character retires into the Survivors gallery on your machine.
- Linux native, C11 Vendored Allegro 5.2, ENet, libsodium, Opus, SQLite. Open source under the zlib license.
Screenshots
How to play
Controls
| Input | Action |
|---|---|
| W A S D | Move (8-directional) |
| Shift | Sprint — drains stamina, paused under encumbrance |
| Space / LMB | Attack — melee swing if unarmed, fire if a firearm is equipped |
| RMB | Aim — precision reticle for ranged fire |
| E | Interact — talk, open doors, pick up loot, board the dinghy |
| Tab | Inventory grid (6×4, weight + shape both matter) |
| C | Craft cure — combines antiseptic + antibiotic + bandage into one usable cure |
| M | Map |
| Enter | Open chat (also accepts /me, /w, console commands) |
| V | Proximity voice — hold to talk |
| T | Quick wave (MP only) |
| F1 F2 3 F4 | Quick emotes 1–4 |
| F3 | Debug overlay (FPS, tick, sim state) |
| F10 | Open developer console |
| Esc | Pause / close menu / cancel input |
Reloading is automatic the moment a magazine runs dry and you have matching ammo in your inventory.
Survival rules
-
Infection
Every zombie bite has a 15% chance to expose you. The clock is then two minutes. Find an antiseptic, an antibiotic, and a bandage; press C to craft them into a single cure; use the cure from your inventory. The three cure ingredients live in the prison's guard room — locked behind a door that needs a
cell_key, which drops from yard zombies at 40% per kill (the first kill of every fresh prison entry is guaranteed). - Hunger Hunger below 25% caps your max HP at 50%. Eat anything — canned, fresh, regrettable.
- Noise A gunshot lights up a 30-tile alarm; sprinting footsteps carry 4 tiles. Melee is the default loop; firearms are emergency tools.
- Marked Killing a named NPC tags your character. Guards across the map attack you on sight, and every named NPC refuses to talk or trade with you. The status persists for the rest of this character's life; death clears it.
- Death Soft. The same character respawns in their spawn cell with vitals reset, infection and Marked cleared, and most of the inventory intact — one randomly chosen anchor item is dropped at the death site for whoever finds it first.
Chat
Open with Enter. Type a message and send. Chat is global
— the whole server hears /say, since at twenty-five players
the room is small. Plain text goes to /say automatically.
| Command | Effect |
|---|---|
hello everyone | Global say — up to 256 characters |
/me waves slowly | Action / emote channel |
/w <name> you ok? | Whisper to one player — up to 64 characters, name-prefix match |
/help | List every console command the server recognises |
/stats | Show your live run stats overlay (same 14 lines as the survived screen) |
/players | Scrollable roster of connected and recently-seen players (MP only) |
Chat history holds the last 32 entries; 6 lines render on screen. Pressing Esc closes the prompt without sending.
Voice
Hold V to transmit. Voice is proximity-based and server-mixed: the server decodes everyone, computes per-listener stereo gain from distance and line of sight, then re-encodes a single Opus stream per listener.
- Codec Opus, 48 kHz, 20 ms frames. Client sends mono at 24 kbps; the server returns the spatial mix as stereo (24 kbps/channel, 48 kbps total).
- Range Full volume within 2 tiles. Linear falloff out to 16 tiles (~256 px). Beyond that, silence.
- Walls Solid line-of-sight obstruction drops gain to ×0.25. You can still be heard through a door; just barely.
- HUD A small square in the top-right HUD lights yellow when you transmit, white when someone nearby is talking, grey when you've locally muted them.
- Discipline Sustained over-rate gets you silenced in the mix for 30 seconds (server-side; the game session stays connected). Per-listener mute persists in your settings.
Scoring
Every completed run ends with a 14-stat reveal and a top-5 leaderboard pulled from the server's SQLite store. Runs are tagged with an outcome: rescued, died, or abandoned.
| Action | Score |
|---|---|
| Zombie kill | +10 |
| Melee kill (any) | +25 |
| Player kill | +50 |
| Item picked up (net of drops) | +5 |
| Conversation completed | +20 |
| Accuracy | +5 per % |
| Damage dealt to players | +2 per HP |
| Damage taken (PvE) | −1 per HP |
| Damage taken (PvP) | −3 per HP |
| Shots fired | −1 |
| Food eaten | −2 |
| Named NPC killed | −30 |
| Time elapsed | −1 per 10 seconds |
A quest-completion term (+100 per quest) is wired into the formula but v1 ships with no quest registry, so the field always reads zero.
The Survivors gallery
Reach the rescue ship and your character is retired permanently into a local gallery on your machine. The gallery keeps the last 32 survivors: name, last zone reached, time-to-shore. There is no new-game-plus — ending a run is the point.
Die instead and the same character respawns in their cell. The gallery is for endings, not body counts.
Install
1. Install the runtime
Ubuntu 22.04 LTS or newer, x86_64. Linux only for v1. ~30 MB on disk after first launch.
sudo apt install liballegro5.2 liballegro-image5.2 liballegro-audio5.2 \
liballegro-acodec5.2 liballegro-ttf5.2 \
liballegro-dialog5.2 libcurl4 libsodium23 tar curl
2. Get the tarball
-
01
Download
parasite-v1.1.3-linux-x86_64.tar.gz. -
02
tar xzf parasite-v1.1.3-linux-x86_64.tar.gz && cd parasite-v1.1.3-linux-x86_64 -
03
Verify the install:
./check_deps.sh
Solo run:./parasite_client
Public server:./parasite_client --multiplayer --host=mittonvillage.com:7777
First launch fetches ~24 MB of assets from parasite.mittonvillage.com over HTTPS and verifies every file by SHA-256. After that the client is offline-safe.