Parasite title screen: the word PARASITE in red over a rescue ship lit by searchlight, prison rooftops on the right

Parasite

Wake up in a cell. Reach the rescue ship — before the parasite turns you.

Download Linux x86-64 · v1.1.3 Source GitHub · zlib license

C11 · Allegro 5.2 · ENet + Opus · 480×270 internal · 256-colour indexed · up to 25 players

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

InputAction
W A S DMove (8-directional)
ShiftSprint — drains stamina, paused under encumbrance
Space / LMBAttack — melee swing if unarmed, fire if a firearm is equipped
RMBAim — precision reticle for ranged fire
EInteract — talk, open doors, pick up loot, board the dinghy
TabInventory grid (6×4, weight + shape both matter)
CCraft cure — combines antiseptic + antibiotic + bandage into one usable cure
MMap
EnterOpen chat (also accepts /me, /w, console commands)
VProximity voice — hold to talk
TQuick wave (MP only)
F1 F2 3 F4Quick emotes 1–4
F3Debug overlay (FPS, tick, sim state)
F10Open developer console
EscPause / 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.

CommandEffect
hello everyoneGlobal say — up to 256 characters
/me waves slowlyAction / emote channel
/w <name> you ok?Whisper to one player — up to 64 characters, name-prefix match
/helpList every console command the server recognises
/statsShow your live run stats overlay (same 14 lines as the survived screen)
/playersScrollable 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.

ActionScore
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

  1. 01 Download parasite-v1.1.3-linux-x86_64.tar.gz.
  2. 02 tar xzf parasite-v1.1.3-linux-x86_64.tar.gz && cd parasite-v1.1.3-linux-x86_64
  3. 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.