This week - Economy
December 16, 2019 - Monday noon
One of the reasons for making this game was to help me understand economic concepts in real terms, by seeing things happening. Well - I got to see why low consumption can break an economy!
Last week
I decided on:
- A simulation principle
- Monetization path
And added:
- Store purchasing
- The village resource grid, and building consumption of Power and Water
- a Power building
- Resident suggestion
Also - I published the game on Play Store! (That is, on a test release track)
Serialization is still broken. I ran into another il2cpp issue where there was a Unity suggested workaround but is not supported - I'm waiting on Unity's response to the bug report.
Residents drive the world
I decided against having building-owned tasks. Instead, there are roles for workers - two for now - Labor and Management. Managers will do the admin-related tasks for a building like setting prices (this will just be based on the amount of supply in the building) and deciding if the Store needs to purchase more produce.
If they decide they need more produce, they can suggest the task to an employee - if no one else is there, they'll do it themselves. I plan to use suggestable tasks for the social outing system as well. This reflects a core game design decision I've come to, that is - things happen in the game because a Resident is doing it.
The economy will be entirely driven by Residents and their actions / reactions to the Player. So buildings won't own tasks, and there won't be a separate building-behavior tick phase. Everything will be handled by Residents as a Task. This means that buildings need Residents actively working there to accomplish their function.
In gameplay terms this means for example, Residents that work farther away will be more tired on arrival and tend to leave earlier, which will cause the building to be less productive. For managers this may mean they don't get through all their tasks and the building may miss some critical functions like price adjustments, or even purchasing inventory. For other workers this means work done will be less than if they arrived less tired.
Monetization
I've more or less settled on IAP (In-App Purchases) and rewarded ads, vs an upfront-paid game.
I was pretty pretty determined on upfront-paid because I saw this as more of a "real game" (at least, in terms of depth of simulation) when compared to a lot of the simulation games available for mobile. A transaction gate before the start of the game is going to lead to way fewer people willing to check it out, and in the end I'd really prefer more people to check out the game than exclude people at the onset (I'm guessing there's not gonna be too many in any case, so excluding any would be a horrible idea!)
New simulation mechanics
There are a few buildings now:
- House
- Farm
- Store
- Power
Residents live in a House, and work in any of the other buildings earning pay. A Farm produces vegetables, which Stores send a worker to go buy. Residents need to eat, and so buy produce from Stores. All the buildings use up power which is produced when workers do work in a Power building. We'll pretend for now that they run on giant hamster wheels to power the village.
Power is shared across all platforms. Water will also be a shared resource, used by Farms and Houses. As soon as a building exists it will start consuming resources, though I may scale this according to number of Residents assigned vs assign capacity.
There's a basic economy now and it turns out to be pretty hard to sustain. When consumption gets low, you can see the effects cascade back through to Residents. Not enough Residents buying from Stores means Farms don't move inventory, don't get paid, and can't pay Residents. This is pretty neat to see in action!
I'll need to add another building that doesn't produce something that stockpiles, but is something that is exportable and generates revenue. An Office! These are going to produce IntellectualProperty that magically turns into wealth for the building - I can imagine this later turning into a Task for a Salesperson role.
This week I'll primarily be working on:
- Camera that only locks on if there is something there
- Office building, IntellectualProperty resource
- Building storage capacity
- Player wealth
- Rent and Taxes (yay!)
And if I have time:
- Blackout events
- Dynamic pricing of Store goods
- Ability to inject/withdraw wealth from individual buildings
- Think about social interactions, time, day/night cycle