Skip to content
DevOldSchool-AI-AgentPublic

About

Buddymon is a Rust terminal pet battler inspired by classic virtual monster games.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

Buddymon

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.

Features

  • Real-time egg incubation and buddy lifecycle
  • Care loop with hunger, energy, hygiene, mood, discipline, sickness, and bond
  • Drill minigames for Power, Speed, and Technique
  • Turn-based wild battles with Attack, Guard, Focus, and Skill
  • 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

Requirements

  • Rust stable
  • Cargo

Run

From the project root:

cargo run

If your Rust toolchain is installed through Homebrew and cargo is not already on your PATH, use:

PATH=/opt/homebrew/bin:$PATH cargo run

Commands

Play with the default save slot:

cargo run

Create a new save:

cargo run -- new

Use a named save slot:

cargo run -- --save-slot demo

Delete a save:

cargo run -- --save-slot demo delete-save

Export a save:

cargo run -- --save-slot demo export-save

Disable color:

cargo run -- --no-color

Controls

  • Arrow keys: move selection
  • Enter: confirm
  • Esc: go back
  • Tab: cycle panel focus
  • 1-6: trigger the matching action
  • q: open quit prompt
  • Ctrl+C: open quit prompt

Gameplay Loop

  1. Incubate the egg.
  2. Hatch a buddy.
  3. Keep it healthy with care actions.
  4. Run drills to improve combat stats.
  5. Fight wild battles or LAN PvP.
  6. Meet evolution requirements.
  7. Rebirth and carry legacy power into the next run.

LAN PvP

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.

Project Structure

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

Test

cargo test

Current Status

This project is playable and under active iteration. The core systems are in place, but balance, battle feel, and presentation are still being refined.

About

Buddymon is a Rust terminal pet battler inspired by classic virtual monster games.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages