🍽️ 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.
Metadata
Release files for restorant 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| restorant-1.0.0.tar.gz | 45.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| restorant-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 59.3 kB
Release files / restorant-1.0.0.tar.gz
| Download URL | restorant-1.0.0.tar.gz |
|---|---|
| Size | 45.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b71e2f9577f4b2630894c71e0efb1ce37b93c8c2989711c9e19e59e3107bb52e
|
|
BLAKE2b-256 checksum How to use checksums |
59c10dd651ed9d8eb3d72adbfe897db450e77c4fd803da12398c35b333ef1c3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Release files / restorant-1.0.0-py3-none-any.whl
| Download URL | restorant-1.0.0-py3-none-any.whl |
|---|---|
| Size | 14.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
755bedcf80b41b0e97436280e5e55f1f3e7dde17d9ed33a012fd7a120a77b45f
|
|
BLAKE2b-256 checksum How to use checksums |
5e2d849cd3f3f2a73cd5ab41bbddb518403110ad6ab0bc06a8efa728d6890431
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|