Café Drift is a cozy, text-based café simulation game built with Python, focused on calm progression, clean architecture, and learning-by-building.
You run a small café, prepare orders, manage ingredients, earn money, and gradually unlock new stages as your café grows.
The project is developed incrementally using versioned alpha releases, prioritizing strong foundations over rushed features.
Version: v0.8.0-alpha
Gameplay State: Core Gameplay + Progression Implemented + Skill-based Preparation
The game is fully playable in CLI with a complete gameplay loop and a clear sense of advancement.
- Start a new café or continue from a saved state
- Orders appear based on player stage
- Players can:
- Accept orders
- Reject orders
- Accepted orders:
- Validate ingredient availability
- Consume ingredients on success
- Earn money based on ingredient cost and stage
- Failed orders:
- Apply a small money penalty (10%)
- View the café status and progress
- Progress through café stages by completing orders and earning threshold money
- Unlock new ingredients, orders and storage upgrades as you advance
- Restock ingredients using earned money
- End-of-day recap shows performance and balance
- Name (default: Barista, customizable)
- Stage-based progression
- Skill level (currently aligned with stage)
- Persistent stats (JSON + integrity check)
- Persistent inventory storage
- Ingredient consumption on order completion
- Bulk ingredient restocking with cost validation
- Cozy CLI inventory display
- Storage capacity that prevents hoarding
- Fixed, stage-based order pool
- Random order generation
- Accept / Reject flow
- Tracks completed, failed, and rejected orders
- Centralized Ingredient Pool (single source of truth)
- Ingredient unlocks tied to stage
- Base cost defined per ingredient
- Used consistently across inventory and economy
- Preparation success mechanics
- Skill-based effects on gameplay
- Ingredient-based pricing
- Formula-driven order value:
Order Price = Total Ingredient Cost × 1.5 × Stage Multiplier
- Prices rounded to nearest multiple of 5
- 10% penalty for failed orders
- Money persistence
- Orders summary
- Current balance
- Progress to next stage
- Cozy feedback messages
- Stages unlock automatically after completing orders and earning money
- New ingredients unlocked on stage-up
- Storage Capacity increases on stage-up
- Orders scale naturally with stage
- JSON-based storage for player stats and inventory
- Hash-based integrity checks to detect save tampering
- Reset / Start / Continue game flow
- Centralized default game state via
default_state.json
New players can read the full gameplay guide here: player_guide/
git clone <repository-url>
cd School-Management-Systempython main.pyor (PyCharm users):
Right Click → Run main.py
cafe-drift/
│
├── data/
│ ├── capacity_upgrades.json
│ ├── stage_rules.json
│ ├── default_state.json
│ ├── ingredient_pool.py
│ └── order_pool.py
│
├── models/
│ ├── player.py
│ ├── order.py
│ └── ingredient.py
│
├── player_guide/
│ ├── faq.md
│ ├── README.md
│ ├── how_to_play.md
│ ├── player_stats.md
│ ├── preparation.md
│ ├── inventory.md
│ ├── ingredients.md
│ ├── orders.md
│ └── reset_and_saves.md
│
├── runtime_data/
│ ├── integrity.json
│ ├── inventory.json
│ └── player_stats.json
│
├── services/
│ ├── inventory_service.py
│ ├── ingredient_service.py
│ ├── order_service.py
│ ├── preparation_service.py
│ ├── stage_service.py
│ └── economy_service.py
│
├── ui/
│ ├── inventory_display.py
│ └── status_display.py
│
├── utils/
│ ├── file_handler.py
│ └── validators.py
│
├── main.py
├── config.py
├── README.md
├── CHANGELOG.md
├── LICENSE
├── requirements.txt
└── .gitignore
- Progression and economy balancing
- Improved CLI UX
- GUI version (Tkinter / PyGame) in future releases
This project is currently in alpha.
Features and mechanics may change, and save compatibility is not guaranteed.
- Language: Python 3
- Storage: JSON (local persistence)
- Architecture: Modular, service-based design
- Environment: Virtual Environment (venv)
Café Drift includes a Reset Game mechanism designed for testing and development.
This resets player stats, inventory, and regenerates integrity data to ensure a clean state.
- This project is built as a learning-focused portfolio project
- Not intended for production or commercial use
- Feedback and architectural suggestions are welcome
Developed by GenStryke Codex
GitHub: https://github.com/GenStrykeCodex/
This project is licensed under the MIT License.
Café Drift is now fully playable, but still growing.
Each version adds feature to enhance User Experience.