Inspiration

Monopoly inspired us, and we wanted to make it more realistic. In real life, the choice to invest in a single property can change a person's wealth for decades, and that choice depends on things you can't fully control. So in BuKi every decision carries weight. You start at 23 with an inherited house, a fruit-only farm, and about $500,000 CAD of family debt, and each turn is one month.

To make it more fun and realistic, we added real-life events that move real-estate prices. These include energy shocks, interest-rate hikes, crop failures, housing crises, and new supermarkets or stations opening nearby. The events are rare, and their true size is hidden. The news only tells you an expected range, so you have to judge the risk.

What it does

BuKi is a real-estate and financial-survival game set in M City, an illustrated town of 600 buildings across 10 districts. Each month you choose what to buy, sell, rent, improve, or hold, and then you end the month and watch the world respond. The user are required to pay month-to-month interest.

Rare events show up in the news tab with an expected range, such as "Energy prices +40% to +80%". The true size stays hidden.

Knock-on effects: An oil shock raises gas prices first, then inflation about six months later, then interest rates about a year later. That changes what buyers can afford.

Agent-based (other buyers): about 800 invisible households bid for homes alongside you. They give each neighbourhood a market mood from Cold to Hot. You can make only 2 property trades a month, so you can't move prices on your own.

What decides the price of the property? Each property shows the factors behind its value: location, nearby schools and shops, planned projects, and construction costs.

Town plans and commodities: Government projects can be delayed, shrunk, or cancelled. Fruit and gas prices follow the seasons and the economy.

How we built it

BuKi is written in Python, with pygame-ce for the game and NumPy for the simulation.

Each time you end a month, the economy runs this pipeline:

Event engine

Rare random events with cooldowns, whose effects start late and fade out.

Economy factors

A chain from global to macro to city to sector, following our world-economy design doc. Each factor reads last month's values, so shocks travel over time.

Agent-based housing market.

Buyers bid for the best home they can afford, which produces a market pressure for each neighbourhood

Steady price model.

A price based on land, building, location, and town plans

Final price

The steady price multiplied by the market pressure.

Challenges we ran into

Finding factors and assigning weights to the factors and events that affect the house price required us to look at real data. We found this a bit challenging.

We also found that connecting simulation to the town is challenging too. A teammate was designing the town layout at the same time, so we encountered some conflict in the code before we actually make the layout and simulation code to work together.

Accomplishments that we're proud of

We are really excited to make the game where a full economy that runs with realistic events with our prediction models designed for the game. This housing market behaves like a market: a single player barely moves it, but a crisis can. It is even more realistic when we have an illustrated 600-building city whose properties are priced by that economy. The exiting feature we decided to add to the game is the news that gives ranges instead of exact answers, so the player has to weigh risk.

What we learned

  • Several simple rules that each read the previous month produce realistic delays better than one large formula.
  • Simulating other buyers is a better way to give the player small market power than hard-coding limits.
  • Keeping simulation and UI separate let us build and test the economy before the town was finished.
  • Balancing was most of the work, and a simulation needs checks on its overall behaviour, not just its individual functions.

What's next for Buki

  • Polish the visuals: larger, better-fitted houses and a fuller town in the existing art style.
  • Add more events, project types, and districts, plus a tutorial that walks through a first shock.
  • Add charts so players can see price history and market mood.
  • Add scoring and difficulty levels, and tune how hard the debt feels.
  • Add a web version.

Built With

Share this project:

Updates

Submission history