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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b71e2f9577f4b2630894c71e0efb1ce37b93c8c2989711c9e19e59e3107bb52e
|
|
| MD5 |
ae1cd8de008d6a4e0e448680f913e8a9
|
|
| BLAKE2b-256 |
59c10dd651ed9d8eb3d72adbfe897db450e77c4fd803da12398c35b333ef1c3a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
755bedcf80b41b0e97436280e5e55f1f3e7dde17d9ed33a012fd7a120a77b45f
|
|
| MD5 |
27f5ec7343d648cf0555be97df9347c9
|
|
| BLAKE2b-256 |
5e2d849cd3f3f2a73cd5ab41bbddb518403110ad6ab0bc06a8efa728d6890431
|