DevLog: Cube World 01

For my first #1GAM game of 2019 I have decided to make a small economy builder game inspired by Rubik's Cubes. Here are some rough notes from a brainstorming session earlier today.

The basic concept is that the player needs to advance a small civilisation on the surface of a cube planet to the point where they can achieve space travel. The twist is that the cube can have its segments rotated like a 2x2 Rubik's Cube. This will affect the resources the user has access to by changing which tiles are adjacent to their city, which is always on the top face on the camera-opposing side.

There will be three main phases:

  1. Player interacts with the cube planet by rotating segments. This will be limited either in time or number of rotations (probably the latter).
  2. Tile actions take effect - e.g., adjacent Forest tile adds wood to the Player's resources.
  3. Player selects next Build project.

The core Build/Resource system doesn't need to be overly complex. Resources can be the expected Wood, Stone etc, Build Projects will primarily just increase/decrease the effect of (positive/negative) tiles. Build Projects will each take one turn, and cost some amount of Resources.

Build Projects can effect:

  • Rate of harvesting resources from tiles
  • Resource capacity
  • Rate of damage taken from Dangerous Animal tiles
  • Number of rotations per turn
  • Rocket Ship: completes game successfully

Tech Plan: Need a comprehendible way to manage the cube rotation - settled on a three-dimensional int array + face - i.e., the tile with the castle would be at coordinates [1, 1, 1] and its Face would be Top. For all coding purposes, we'll use the standard Front Back Left Right Up Down coordinate system used in Rubik's Cube solutions, with the right face in the sketches being the Front.

Rough outline of the Model-View-Controller layout for this project and what needs access to what. As this is intended to be a one month project I'm not going to be overly strict about reference hierarchy, but still worthwhile to have a rough plan in mind before starting.