Ratventures with friends, in the terminal!
Play now at ratventure.online
Go on quests with up to 2 friends, defeat monsters, solve riddles, and explore the depths of the sewer underworld. Built with Rust — a ratatui TUI client talking to an axum/SQLite backend.
open-ratventures/
├── backend/ # axum HTTP server + SQLite database (ratback crate)
├── rat-client/ # ratatui terminal UI client
└── docker/ # Dockerfile for backend
cargo install sqlx-cli --no-default-features --features sqlite1. Start the backend
cd backend
cargo runThe server starts on http://localhost:3000 by default. Set HOST or PORT env vars to override.
2. Start the client (in a separate terminal)
cd rat-client
cargo runA compound task is included. Press the configured hotkey (or Terminal → Run Task → Run rats) to launch both in separate terminals at once.
The backend uses SQLite (backend/data.db). Migrations run automatically on startup via sqlx.
If you need a clean slate:
cd backend
sqlx database resetAfter resetting or adding new migrations, touch src/db.rs before running to force the migration macro to recompile:
touch src/db.rs && cargo runThe backend can be run via Docker Compose. The database is persisted in a named volume.
docker compose upThen run the client locally as above, pointing at the Docker backend (default port 3000).
- Register a username and create a character
- Form or join a party (up to 3 players)
- Go on a quest through procedurally assigned encounters across four areas:
- Sewers — the upper tunnels, relatively tame
- Sewer Depths — darker, more dangerous
- Fungal Warrens — bioluminescent caverns, spore-touched inhabitants
- Abyss — the void-touched deep, where things get strange
- Encounters include combat, NPC dialogues, merchants, and environmental events
- Manage your inventory, buy items from the tavern shop, and revive fallen party members