Project Level: Advanced
I want to create a game that involves spending money on various problems. The game involves distributing money based on the given the balance and events (school fees, house maintenance, personal requirements, etc.)
The goal is to avoid the balance to becoming negative, while also maintaining the highest remaining balance as possible for the next level, because the balance carries over to the next level.
Also, you do not just spend money, but also earn it by various methods (part-time jobs, do voluntary work, participating in contests, etc.).
The balance will also be affected by random events (fines, robbery, etc.).
You can decide to end your run with the option “Surrender” which appear ONLY when you have reached a certain level.
This game encourages people to spend their money better, while also involves critical thinking and strategic mind to determine what to prioritize on spending.
The game shall be named “SPEND WITHIN REASON”.
<aside> 💡
I sent this idea to my friend, and he pretty quickly showed interest in this project. He started asking (I referred to him as A):
A: “So what determines a loss, or not clear the level?”.
Me: “When the balance goes negative, regardless of what stage the player is in”.
A: “Do they have a chance to return to the level?”
Me: “Of course, but the balance won’t, and the player must find a way to make them so that they can afford the requirement of that level and pass it.
Me - added: “It feels like a GAME OVER, but your choices have consequences regardless.”. “Players should also be aware of what to spend on instead of just blindly spending on everything. Simply put, your spending choice also impacts your walkthrough”. </aside>
PROGRAMMING LANGUAGES
Mainly use PyGame
A simple diagram to showcase the workflow of the game:
flowchart TD
A["Start: Initial Balance"] --> B["Level Begins"]
B --> C["Regular Expenses: (School fees, house maintenance, etc.)"]
B --> D["Income Opportunities: (Jobs, contests, voluntary work)"]
B --> E["Random Events: (Fines, robbery, bonuses)"]
C --> F{Balance >= 0?}
D --> F
E --> F
F -->|Yes| G["Carry Balance Forward"]
F -->|No| H["Level Failed: Retry with Current Balance"]
G --> I{Surrender Available?}
I -->|Yes| J["Surrender: End Run & Record Score"]
I -->|No| B
H --> B