Skip to content

segordon/zero_rpg

Repository files navigation

Zero RPG ⚔️

Zero RPG Logo

Zero RPG is a "zero-player" autobattler experiment. You load the page, enable audio, and the hero does the rest—brawling through Sunmire Meadows, shopping in ribbon-choked villages, and desperately searching for bushes before bladder disasters.

🌟 Features

  • Auto-play simulation – Procedurally generated heroes explore, fight, shop, and camp without user input.
  • Biome + settlement art – Every Sunmire village/town/city roll now renders bespoke illustrations (Rushlight, Petalspan, Honeyfen, Ribbonvale, Draftwell, Bloomwarren).
  • Dynamic combat log – Animated combat queue with crit flashes, quips, traits, and Web Audio API sound effects.
  • Need & bio system – Hunger, thirst, bladder, and bowel meters trigger events, with new art-supported camp/bio scenes.
  • Temporary buffs/debuffs – Time-limited effects (e.g., ribbon sash bonuses, Sticky Boots) tick down automatically and appear in the character sheet’s new Temporary trait section.
  • Town scarcity – Encounters respect random cooldowns to keep merchants scarce; CHA-driven discounts and grocer/gear sellers feel meaningful.
  • Fully responsive UI – Layout clamps heights, scrolls gracefully on tablets/ultra-wide screens, and supports lightbox zoom for every event illustration.

🛠️ Tech Stack

  • Framework: React 18 + Vite
  • Language: TypeScript (strict mode)
  • Styling: Custom CSS utility sheet (Tailwind-like tokens) + light Tailwind remnants
  • Audio: Web Audio API (procedural SFX, no binary assets)
  • State: Custom useGameLoop hook orchestrating hero ticks, encounters, and combat animation

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm

Installation

  1. Clone the repository:

    git clone https://github.com/segordon/zero_rpg.git
    cd zero_rpg
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev
  4. Open your browser and navigate to the local URL (usually http://localhost:5173).

🎮 How It Plays

  1. Load the site – The hero spawns immediately with a random background, race, and trait mix.
  2. Enable audio – Tap the 🔊 button once (required by browsers) to hear combat stingers.
  3. Kick back – The hero cycles through 8 turns per day (combat/town/random/weather) and camps on turn 9.
  4. Monitor UI – Character sheet displays stats, equipment, long-term traits, and temporary effects with tick badges.
  5. Pause if needed – The ⏸️ button freezes the loop so you can inspect logs or admire art.

🧪 Useful Commands

npm run dev        # Start dev server (HMR)
npm run build      # Type-check + bundle for production
npm run preview    # Serve the dist build locally

📝 License

This project is open source and available under the MIT License.

About

zero move rpg

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages