Gazi's Den

Project: Kobuild in Python

Disclaimer: I have no intention of releasing this game on any platform. It's just a janky little project I'm doing for myself for fun.

Kobuild is a $5 pen-and-paper RPG on itch.io. It's a very cute, short game, and I recommend it. You might've gotten it in a bundle already, but if you didn't. Dude. $5.

Anyway, while I was playing it, I thought: I bet I could make this into a little command line game. And so that's what this project is.

Mechanics - Original

In the original game, you have a camp (a 12x12 grid) and two actions per turn to choose from: “kobrave” and “kobuild”.

  • Kobrave: You venture out from your camp to scavenge for resources. You choose from a selection of locations and roll x number of 6-sided dice to determine what resources you find and bring back to camp. You start out with 4 dice and earn more from building.
  • Kobuild: You can use resources to add a structure to your grid or upgrade one that's already there. The more tiles you fill, the more dice you have available to you in “kobrave”.

The game ends, essentially, when you decide it ends.

Mechanics - Command Line

The basic mechanics are much the same, though the naming is different and dice rolls are handled automatically. Your camp is still a 12x12 grid, and you can still build, upgrade, and scavenge. Your actions are all handled through menus.

The root menu appears as follows:

What do you want to do today?

1 - Brave the outskirts!

2 - Build your town!

3 - Upgrade a building!

4 - Rest for the day!

0 - Quit

  • “Brave the outskirts” is the same as the “kobrave” action in the original. Unlike in the original, however, the possible resources in each area are not listed.
  • “Build your town” is just the “build” part of the original “kobuild” action. I've separated them for the sake of minimizing the number of menus the player would need to click on to do one thing or another.
  • “Upgrade a building” is the other half of the original “kobuild” action.
  • “Rest for the day” essentially skips a turn.
  • “Quit” exits the game. There is no save function at this point in time, so quitting also resets everything.

Progress

Currently, the python version allows you to scavenge from any of the seven locations laid out in the original. For locations that require additional supplies to visit, the game checks that you have those supplies before allowing you to proceed.

You can build (and upgrade if applicable) any of the eight buildings from the original, but they currently do nothing but show up on the grid and use your resources. You cannot build on top of other buildings, and you cannot upgrade an empty square. If a building upgrade increases the building size, it uses up the first unoccupied adjacent tile it finds. (The player is not prompted at this point in time to choose an appropriate tile.)

Future Plans

Currently on my to-do list:

  • Save function
  • Game ends automatically when grid is full
  • Viewable descriptions of buildings
  • Viewable descriptions of locations
  • Choice of where to put building upgrade (if applicable)
  • Bonus rolls for filled-in tiles