Skip to main content

A shared game night with an AI companion over a simulated radio: play old text adventures together. Runs the game inside a sandbox VM, on any platform.

Project description

Cabin Fever: x86

Cabin Fever x86

The books are finished. The rain isn’t. Somewhere deep in the Olympic Peninsula, a solitary operator is holed up in a remote cabin with no internet, no cell service, and no particular hope of going outside anytime soon. Every book on the shelves has been read—some of them several times. All that remains is a beige 1990s PC, a pile of ancient text adventures, and a VHF radio that can just reach one other voice through a repeater on a distant peak: yours. And old games are always more fun with a friend.

Cabin Fever x86 is a shared game night with an AI companion over a simulated radio. You explore old text adventures together, trading ideas, debating questionable decisions, and occasionally doing something foolish just to see what happens. The game is only part of the fun—the rest is the banter, the arguments, the running jokes, and the personality on the other end of the channel.

Under the hood, Cabin Fever x86 uses GPT-5.4 for inference, ElevenLabs for voice synthesis and recognition, and jericho for Z-machine game emulation.

Demo

Cabin Fever: x86 -- Text Adventures, Over Radio, with AI

Note: This demo captures a real gameplay session. The female voice is the AI radio operator built into the experience. The male voice is the human player, re-voiced in post-production using a different ElevenLabs voice to preserve anonymity. That overdub is not generated by the game itself.

Installation from PyPI

The fastest and most convenient way to get started is to use this launcher package, which runs the game inside a QEMU sandbox VM. It works on Linux, macOS, and Windows, is self-contained, and is a convenient alternative to Docker or other containers.

# Create a virtual environment (optional, but recommended)
python3 -m venv .venv

# Activate it on Linux or macOS
source .venv/bin/activate

# On Windows Command Prompt, use this instead:
# .venv\Scripts\activate.bat

# On Windows PowerShell, use this instead:
# .venv\Scripts\Activate.ps1

# Install the launcher package
pip install cabin-fever-x86

# Export your OpenAI and ElevenLabs API keys in the shell
export OPENAI_API_KEY=...
export ELEVENLABS_API_KEY=...

# Run the game
cabin-fever-x86

Then visit the URL printed in the terminal (typically http://127.0.0.1:8000) to start playing.

[!NOTE] The first run downloads and prepares the virtual machine, so it takes longer than later runs.

If you ever want to reset the virtual machine (e.g., to force an update of the game, or to troubleshoot a problem), you can run cabin-fever-x86 --rebuild.

The forwarded web port is bound to 127.0.0.1. To make the radio available on a LAN, run cabin-fever-x86-core directly on a Linux host instead.

Installation from GitHub

To install the current development version from GitHub, replace the PyPI install command with:

pip install "https://github.com/afourney/cabin-fever-x86/archive/refs/heads/main.tar.gz#subdirectory=packages/cabin-fever-x86"

Z-machine games

The server fetches Z-machine games on first run. On startup it looks in <cabin-fever-home>/data/games/; if there is nothing playable there, it downloads the z-machine-games archive and unpacks only the 57 titles in its jericho-game-suite folder.

<cabin-fever-home> is the directory where the launcher stores its data. By default, this is ~/.config/cabin-fever-x86/ on Linux and WSL, %APPDATA%\cabin-fever-x86\ on Windows, and ~/Library/Application Support/cabin-fever-x86/ on macOS.

To add games, copy .z3.z8 files into <cabin-fever-home>/data/games/. The server detects them the next time it starts.

Development

See the repository README for development setup and source-tree usage.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cabin_fever_x86-0.0.1a5.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cabin_fever_x86-0.0.1a5-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file cabin_fever_x86-0.0.1a5.tar.gz.

File metadata

  • Download URL: cabin_fever_x86-0.0.1a5.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cabin_fever_x86-0.0.1a5.tar.gz
Algorithm Hash digest
SHA256 e90287382b16b78a3fd979f7b8624c4afde44d2ef6ec7c23adaf7131731eb5a9
MD5 4b3c35d38174420b34e613aead633646
BLAKE2b-256 60e8e43e39a03d25c7e1fb6472a95c9f130686f7b39675d1a0629f99960d9967

See more details on using hashes here.

Provenance

The following attestation bundles were made for cabin_fever_x86-0.0.1a5.tar.gz:

Publisher: release-app.yml on afourney/cabin-fever-x86

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cabin_fever_x86-0.0.1a5-py3-none-any.whl.

File metadata

File hashes

Hashes for cabin_fever_x86-0.0.1a5-py3-none-any.whl
Algorithm Hash digest
SHA256 d5f143be7a9ce6cedd2303f3d5a42c7c6bcb46ecad884340f539b0de9640c3a5
MD5 b80cfa2bd5d3221af7d0fc344c7d9bda
BLAKE2b-256 136450feb734b7bed43126817756bfc25acb9c3dd109dfbe20c959721ecb2301

See more details on using hashes here.

Provenance

The following attestation bundles were made for cabin_fever_x86-0.0.1a5-py3-none-any.whl:

Publisher: release-app.yml on afourney/cabin-fever-x86

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page