Skip to main content

A terminal-based restaurant management roguelike game

Project description

๐Ÿฝ๏ธ Restorant - Terminal Restaurant Roguelike

A text-based restaurant management roguelike where you build your culinary empire from scratch, manage staff burnout, master recipes, and navigate unpredictable events that shape your restaurant's destiny.

๐Ÿš€ Quick Start

Prerequisites

  • Python 3.7 or higher
  • pip (Python package installer)

Installation Options

Option 1: Direct Run (No Installation)

# Clone or download this repository
git clone https://github.com/restorant/restorant.git
cd restorant

# Install dependencies
pip install -r requirements.txt

# Run the game
python restaurant_game.py

Option 2: Pip Installation

# Install from local directory
pip install .

# Run the game
restorant

Option 3: Development Installation

# Clone the repository
git clone https://github.com/restorant/restorant.git
cd restorant

# Install in development mode with all dependencies
pip install -e ".[dev]"

# Run the game
restorant

๐Ÿ“– For detailed installation instructions, see INSTALL.md

How to Play

  • Use number keys (1-9, 0, Q) to navigate menus
  • Press Enter to confirm selections
  • Watch the live events during service hours
  • Manage your staff, kitchen, and finances
  • Build your restaurant's reputation through customer satisfaction

Game Controls

# Run the main game
restorant

# Run with Python directly
python restaurant_game.py

# Run the alternative main file
python main.py

๐ŸŽฎ Game Concept

Restorant is a terminal-based roguelike where you start as a passionate chef-turned-entrepreneur with a dream of creating the perfect dining experience. Every playthrough is unique, with procedurally generated events, staff personalities, and business opportunities that force you to adapt your strategy.

โœ… IMPLEMENTED FEATURES

Core Systems โœ…

  • Staff Management: Hire, train, promote, and manage staff with XP and skill levels
  • Recipe System: Unlock recipes through skill trees with proper ingredient requirements
  • Financial System: Realistic profit margins, ingredient costs, and daily expenses
  • Inventory Management: Ingredient tracking with spoilage and restocking
  • Venue System: Different restaurant locations with capacity limits
  • Loan System: Business loans with interest and repayment
  • Save/Load System: Persistent game state

Staff Management โœ…

  • Role Specialization: Chef, Server, Prep Cook, Dishwasher with unique bonuses
  • XP & Leveling: Staff gain XP from cooking and training (max level 20)
  • Burnout System: Staff satisfaction decreases with stagnation and stress
  • Performance Tracking: Staff performance scores based on satisfaction
  • Pay Raises: Give raises to prevent staff from quitting
  • Staff Quitting: Staff can quit if satisfaction drops too low
  • Daily Salaries: Staff are paid at the end of each service day

Customer System โœ…

  • Quality-Based Orders: Higher restaurant quality = more complex orders
  • Multiple Course Orders: Starters, mains, desserts, and drinks
  • Customer Reviews: Detailed 5-star ratings with comments and tips
  • Tip System: Tips based on service quality (15-25%)
  • Review Tracking: View recent reviews and average ratings

Event System โœ…

  • Service Hour Events: Customer complaints, kitchen incidents, staff issues
  • Night Events: Cleanup, maintenance, inventory checks, staff meetings
  • Event Categories: Customer, kitchen, staff, business, special, night
  • Player Choices: Multiple response options with different consequences
  • Event Limits: Maximum 16 events per service for balanced gameplay

After-Hours Activities โœ…

  • Activity Categories: Networking, advertising, crafting, workout, research, relaxation
  • Habit System: Track activity frequency for permanent bonuses
  • Cost Management: Activities cost money but provide benefits
  • Stress Management: Activities can reduce stress and burnout

UI/UX โœ…

  • Two-Column Layout: Terminal log on left, stats on right
  • Visual Indicators: Role icons, burnout warnings, XP bars
  • Real-time Events: Live event logging during service hours
  • Menu Navigation: Intuitive number-based menu system

๐Ÿšง REMAINING FEATURES TO IMPLEMENT

Priority 1: Core Gameplay Polish

  • Recipe Quality Scaling: Better success chance based on staff skill vs recipe difficulty
  • Ingredient Substitution: Allow ingredient substitutions when missing items
  • Equipment System: Equipment condition affects cooking success
  • Staff Scheduling: Different staff for different roles/shifts
  • Customer Capacity: Enforce venue customer limits during service

Priority 2: Advanced Features

  • Staff Specialization: Staff can specialize in specific recipe categories
  • Recipe Mastery: Staff can master specific recipes for bonuses
  • Supplier Relationships: Build relationships with ingredient suppliers
  • Market Dynamics: Ingredient prices fluctuate based on supply/demand
  • Seasonal Events: Special events and menu opportunities

Priority 3: Business Expansion

  • Multiple Venues: Own and manage multiple restaurant locations
  • Catering Services: Special catering events and contracts
  • Food Delivery: Partner with delivery services
  • Franchise System: License your restaurant concept
  • Investor Relations: Attract investors for expansion

Priority 4: Advanced Staff Management

  • Staff Personalities: Unique traits affecting performance and interactions
  • Team Dynamics: Staff relationships and conflicts
  • Training Programs: Specialized training for different skills
  • Career Paths: Multiple promotion paths for staff
  • Staff Recruitment: Active recruitment of skilled staff

Priority 5: Content Expansion

  • More Recipes: Additional recipe categories and complexity
  • More Events: Greater event diversity and complexity
  • More Venues: Different restaurant types and themes
  • More Activities: Additional after-hours options
  • Achievement System: Goals and milestones for progression

Priority 6: Quality of Life

  • Settings Menu: Configurable game options
  • Help System: In-game help and tooltips
  • Statistics Tracking: Detailed performance metrics
  • Performance Optimization: Handle large event logs better
  • Error Handling: Better error messages and recovery

๐ŸŽฏ CURRENT GAME STATE

Implementation Status: 85% Complete

  • โœ… Core systems fully functional
  • โœ… Staff management with burnout mechanics
  • โœ… Customer review system with tips
  • โœ… Event system with player choices
  • โœ… Financial system with profit margins
  • โœ… Save/load functionality
  • โœ… Habit system for activities

Game Quality: 9/10

  • Realistic restaurant management mechanics
  • Engaging staff burnout and retention system
  • Detailed customer feedback and review system
  • Balanced economy and progression
  • Good event variety and player agency

๐ŸŽฎ Gameplay Flow

Daily Operations

[Morning Prep] โ†’ [Service Hours] โ†’ [Evening Cleanup] โ†’ [After Hours Activities]

Service Hours - Live Event System

During service hours, the game runs in real-time mode with live event logs:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚           LIVE EVENTS               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 12:15 - 2 customers arrive          โ”‚
โ”‚ 12:16 - Customers seated at Table 3 โ”‚
โ”‚ 12:18 - Order: Grilled Salmon       โ”‚
โ”‚ 12:18 - Order: Caesar Salad         โ”‚
โ”‚ 12:19 - โš ๏ธ  No salmon available!    โ”‚
โ”‚ 12:19 - Customer leaves dissatisfiedโ”‚
โ”‚ 12:20 - Rating: -1 (unavailable)    โ”‚
โ”‚ 12:22 - Order: Pasta Carbonara      โ”‚
โ”‚ 12:25 - โš ๏ธ  Kitchen accident!       โ”‚
โ”‚       [1] Send help immediately     โ”‚
โ”‚       [2] Let staff handle it       โ”‚
โ”‚ 12:26 - Customer served: Pasta      โ”‚
โ”‚ 12:27 - Customer satisfied (+1)     โ”‚
โ”‚ 12:28 - Customer leaves review (+5) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐ŸŽจ User Interface Design

Main Menu Structure

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚           ๐Ÿฝ๏ธ RESTORANT ๐Ÿฝ๏ธ           โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                     โ”‚
โ”‚  [1] Start Service Hours            โ”‚
โ”‚  [2] View Kitchen                   โ”‚
โ”‚  [3] Manage Staff                   โ”‚
โ”‚  [4] View Recipes                   โ”‚
โ”‚  [5] Manage Inventory               โ”‚
โ”‚  [6] View Venues                    โ”‚
โ”‚  [7] Apply for Loans                โ”‚
โ”‚  [8] After-Hours Activities         โ”‚
โ”‚  [9] View Customer Reviews          โ”‚
โ”‚  [0] Save Game                      โ”‚
โ”‚  [Q] Quit Game                      โ”‚
โ”‚                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“ Project Structure

Restorant/
โ”œโ”€โ”€ restaurant_game.py      # Main game file
โ”œโ”€โ”€ data/
โ”‚   โ”œโ”€โ”€ recipes.yaml        # Recipe database
โ”‚   โ”œโ”€โ”€ ingredients.yaml    # Ingredient database
โ”‚   โ”œโ”€โ”€ events.yaml         # Event database
โ”‚   โ”œโ”€โ”€ activities.yaml     # After-hours activities
โ”‚   โ”œโ”€โ”€ venues.yaml         # Venue database
โ”‚   โ””โ”€โ”€ loans.yaml          # Loan database
โ”œโ”€โ”€ README.md               # This file
โ””โ”€โ”€ savegame.json          # Save file (generated)

๐Ÿค Contributing

This is a personal project, but suggestions and feedback are welcome! The game is designed to be easily extensible with new content through the YAML data files.

๐Ÿ“ License

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

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

restorant-1.0.0.tar.gz (45.3 kB view details)

Uploaded Source

Built Distribution

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

restorant-1.0.0-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file restorant-1.0.0.tar.gz.

File metadata

  • Download URL: restorant-1.0.0.tar.gz
  • Upload date:
  • Size: 45.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for restorant-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b71e2f9577f4b2630894c71e0efb1ce37b93c8c2989711c9e19e59e3107bb52e
MD5 ae1cd8de008d6a4e0e448680f913e8a9
BLAKE2b-256 59c10dd651ed9d8eb3d72adbfe897db450e77c4fd803da12398c35b333ef1c3a

See more details on using hashes here.

File details

Details for the file restorant-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: restorant-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for restorant-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 755bedcf80b41b0e97436280e5e55f1f3e7dde17d9ed33a012fd7a120a77b45f
MD5 27f5ec7343d648cf0555be97df9347c9
BLAKE2b-256 5e2d849cd3f3f2a73cd5ab41bbddb518403110ad6ab0bc06a8efa728d6890431

See more details on using hashes here.

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