Jakarta Survival
Survive 30 days of everyday Jakarta life.


The idea
Living in Jakarta is a run of small trade-offs: the TransJakarta or an ojol, lunch at the warteg or saving the money, overtime or a friend's invitation.
Jakarta Survival turns those trade-offs into a game. You play a young worker in a kos with 30 days to get through, in a cute pixel-art city where every choice costs money, time or energy.
The product
It is playable from the prologue to the end-of-month evaluation, and is now being balanced through playtests.
Tap to choose
Tap the player and a ring of choices opens: eat, rest, work, go somewhere, socialise, have fun, run errands or see to your health. There are 48 actions in all.
Six things to balance
Money, energy, mood, work, social life and health. Each action pushes some of them up and others down.
Eight ways to get around
Walk, call an ojol, drive, take a taxi, or ride the TransJakarta or the MRT, each with its own cost in money, time and energy.
Five places to be
The kos street, an office district like Sudirman, a mall like Blok M, the family home in a commuter town and an event venue like Senayan.
Days that react
Any day can be interrupted by one of 33 events, the light changes from morning to night, and when it rains people take shelter.
A month in review
The month ends without a score: you get a title for it, a word for each of the six aspects and the three moments that defined it.
Technologies
Every 30-day campaign starts from a seed, so it can be replayed exactly and run without a screen, which is how the rules are tested and balanced.
- Godot 4.7
- The engine, set up to run on low-end phones
- GDScript
- All the game code, in layers that tests keep apart
- GUT and GitHub Actions
- The tests, run on every push
- Generated game data
- The 48 actions and 33 events, built from the design docs
- pxl
- Pixel art written as code and built into sprites
- OpenGameArt
- The music, all under CC0