Buddymon is a Rust terminal pet battler inspired by classic virtual monster games.
You hatch a buddy, care for it, drill its stats, fight wild opponents, evolve through new forms, and eventually rebirth into a stronger next run. The game runs entirely in the terminal using ratatui and crossterm, with local saves and optional LAN PvP battles.
- Real-time egg incubation and buddy lifecycle
- Care loop with hunger, energy, hygiene, mood, discipline, sickness, and bond
- Drill minigames for
Power,Speed, andTechnique - Turn-based wild battles with
Attack,Guard,Focus, andSkill - Evolution rules driven by care quality, battles, discipline, and dominant stats
- Rarity and tiny shiny chance on hatch
- Rebirth and legacy progression
- LAN PvP host/join battles on the same network
- Data-driven species and enemy content
- Rust stable
- Cargo
From the project root:
cargo runIf your Rust toolchain is installed through Homebrew and cargo is not already on your PATH, use:
PATH=/opt/homebrew/bin:$PATH cargo runPlay with the default save slot:
cargo runCreate a new save:
cargo run -- newUse a named save slot:
cargo run -- --save-slot demoDelete a save:
cargo run -- --save-slot demo delete-saveExport a save:
cargo run -- --save-slot demo export-saveDisable color:
cargo run -- --no-color- Arrow keys: move selection
Enter: confirmEsc: go backTab: cycle panel focus1-6: trigger the matching actionq: open quit promptCtrl+C: open quit prompt
- Incubate the egg.
- Hatch a buddy.
- Keep it healthy with care actions.
- Run drills to improve combat stats.
- Fight wild battles or LAN PvP.
- Meet evolution requirements.
- Rebirth and carry legacy power into the next run.
LAN battles are available from:
Home -> Battle -> Host LAN
and
Home -> Battle -> Join LAN
Use the host machine's local IP with port 7878, for example:
192.168.1.15:7878
Notes:
- LAN PvP is local-network only.
- The host resolves turns.
- PvP uses softer rewards/penalties than wild battle defeat.
assets/content/ species and enemy data
src/app/ app loop and state transitions
src/domain/ simulation, battle logic, and core models
src/net/ LAN PvP session and protocol logic
src/persistence/ save/load and migration handling
src/ui/ ratatui rendering
tests/ CLI, core logic, and UI snapshot tests
cargo testThis project is playable and under active iteration. The core systems are in place, but balance, battle feel, and presentation are still being refined.