Simple Shop Sim is a lightweight, terminal-based shop management game written entirely in Python. It puts you in the role of a small shop owner — stocking shelves, serving customers, striking bargains, and keeping the lights on as rent climbs each day. Whether you’re a developer looking for a fun Python project to tinker with, a hobbyist who enjoys simulation games, or a learner wanting to explore object-oriented Python in a real context, Simple Shop Sim offers an immediately playable and easily hackable experience with zero external dependencies.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/mukybaby/Simple-Shop-Sim/llms.txt
Use this file to discover all available pages before exploring further.
What is Simple Shop Sim?
Each session of Simple Shop Sim follows a satisfying loop that deepens as the days tick by. You start by naming your shop, which sets the tone for your budding enterprise. From there the cycle repeats:- Restock — Browse your inventory and spend cash to top up the stock of any item you carry.
- Open for the day — Flip the sign to open and a fresh wave of customers walks through the door. The number of customers grows with each passing day, ramping up the pressure.
- Serve customers — Each customer arrives with a name, a budget, and a specific item in mind. You work through the queue one by one.
- Bargain (or don’t) — When serving a customer you can attempt to bargain with them. If the bargain succeeds, the price increases and the customer leaves without buying; if it fails, the price drops by 10% and the customer buys at the lower price. Skipping the bargain sells at the listed price. It’s a calculated risk every time.
- End the day — Close up shop, pay the day’s rent (which scales as
day × $10), and advance to the next morning. - Repeat — Return to the top of the loop with a little more experience, a slightly heavier rent bill, and more customers waiting tomorrow.
Key features
Inventory management
Browse your full stock list, see current quantities and prices at a glance, and restock any item on the fly — as long as your cash holds out.
Customer bargaining
Every customer interaction includes an optional bargaining round driven by a random chance mechanic. Play it safe or push your luck for a higher margin.
Day/night cycle with escalating rent
Each new day brings more customers and a higher rent bill (
day × $10). The pacing naturally escalates the challenge without any complex configuration.Fully customizable via JSON data files
The item catalogue and customer name pool live in plain JSON files. Swap in your own items, prices, and names to create an entirely different shop experience.
Project structure
main.py— Bootstraps the game, loads JSON data, and runs thewhile Truegame loop. All player input andmatch/caserouting live here.res/shop.py— Defines the three core classes (Item,Customer,Shop) and themake_customers()factory function that generates a day’s worth of customers scaled to the current day number.res/items.json— A JSON array of[name, price]pairs that seeds the starting inventory. The default catalogue includes Apple (10), and Potion ($25).res/customer_names.json— A flat list of names drawn at random when generating customers each day.
Simple Shop Sim is open source and built to be modified. You’re encouraged to patch any bugs you find, swap in your own item data, or extend the game with new mechanics. The README puts it simply: alter any of the code, fix what’s broken, and have fun.