Bouldercraft 0.2 Commodore 64 game

Bouldercraft is a survival-oriented world simulation game based on a 2D cellular automaton. It is basically a clone of Boulder Dash with some characteristics of Minecraft (hence the name). The game was completely created by Viznut in October 2022 and the first version (0.2) was released at the Zoo demoparty.

The game is still at an early stage of development, so the game logic is still subject to change. This document describes the game as of version 0.4.

At the moment, Bouldercraft is only available for the Commodore 64, but versions for other platforms are likely in the future. The main game logic is written in C, so modifying the logic and porting the game into non-6502 platforms will hopefully be easy. The source code will be released on Github once a minimum level of maturity is reached. The licence will be chosen at that time.



Long-term survival is the essence of Bouldercraft. The longer you stay alive, the more you score.

Staying alive consumes energy, and you need to eat to gain it. The energy capacity peaks at 999, so you will need to consider when and how to eat. If there's plenty of food available, you may want to conserve the food in order to prevent it from rotting away.

The world is not reset between lives, so you can reincarnate into it and use whatever you managed to create earlier. Spending several lifetimes building a bunker and securing a reliable and manageable food source is a strategy that may get you into high scores.

Moves and actions

Bouldercraft is designed to be played with a controller that has four directions and a single button ("fire"). What the player character does depends on what lies in the moving direction and whether the button is pressed.

When moving towards a direction without pressing the button:

  • Walking: Penetrable medium (air, water etc.) is displaced when the player moves into it. The medium reappears behind the player.
  • Digging: Sand or soil turns into air or water depending on its wetness. Digging consumes a unit of energy.
  • Pushing: An arbitrarily long queue of items with at least one penetrable cell behind it can be pushed to any of the four directions. The first item in the queue must be a pushable item (like a rock or a bomb) but the others may also be diggables (like soil). Pushing something horizontally also moves the item supported by the first item in the queue (this is useful for moving rocks etc. that would otherwise fall). Pushing consumes a unit of energy.
  • Crafting: Two items are "pushed together" in order to form a new item. The possible combinations currently include:
    • brick/glass + brick → bomb
    • brick/glass + food/bone/egg → canned food
  • Eating: Non-pushable (i.e. non-canned) edibles can be consumed without the fire button.

When moving towards a direction while pressing the fire button, the player character stays in its place while doing something to the cell in the direction:

  • Static Pushing: Like in Boulder Dash: the queue of items is pushed, but the player won't move towards the pushing direction. Digging and eating are always static in Bouldercraft.
  • Swinging: When moving towards an empty cell while pressing fire, an item is moved into it from the opposite side of the player. This is useful for moving items out of difficult positions. Consumes a unit of energy.
  • Eating: An edible item is consumed and energy is gained depending on its type.

A dead player may only select the horizontal position for the next incarnation (by moving left and right) and incarnate (by pressing the button).

The world

The world consists of a grid of 64 × 14 cells, each containing a single element.

Some element types have subtypes depending on the state (a rock can be either falling or stationary, and there are four subtypes for the eater depending on the direction it's currently moving to). These state differences can mostly be ignored by the player, so they won't be covered there.

There are slow and fast natural processes in the game. Fast processes (such as the falling of rocks) apply to the entire world several times per second, while slow processes (such as the growth of plants) only apply to a single column of cells at a time. This column is marked by the Sun. Some processes only take place in the topmost non-air column under the Sun (the vaporization of water, the rotting of mushrooms, etc.)

Slow processes are caused by the Sun that continuously passes over the world. When the Sun has reached its rightmost position and reappears on the left, certain balancing operations take place in the form of items that will be randomly created on the top of the world:

  • If there is too little surface water, new water is created (in the form of raindrops).
  • If there are too few plants, seeds are created.
  • If there are too few rocks, rocks are created (so, avoid staying uncovered under the sky, or at least be ready to get under a cover!)
  • If there are too few eaters, an egg will be created.
  • If the world is too cramped, a destructive spark will be created.


Air Family:

  • Air : The inert and penetrable background substance of the world.

Water Family:

  • Water : Turns into a Waterdrop if there's Air below it or on the left or right side (except when carried by a Brick). Water vaporizes under the uncovered Sun.
  • Dense Water : Technically contains two units of Water. Splits into two normal Waters if there's Air on the below/left/right side. Moves horizontally in order to find a place where to split.
  • Waterdrop : Falls down if there's Air below, else turns into static Water. When falls on a Soil, grows a Mushroom. Turns a Rock into Sand at 25% probability. Turns a Sand into a Wet Sand. Turns a Stalk into a Watered Stalk. Disappears on top of other plants.
  • Vapor : Proceeds semi-randomly upwards and leftwards, or rightwards if the left side is blocked. If can't proceed, turns into a Waterdrop.

Fire Family:

  • Sun : Moves from the left to the right and facilitates the slow processes of the world. Destroys anything on its way and ignites flammable items on the other sides.
  • Spark : Sometimes falls from the sky. Ignites its flammable neighbors while falling. Explodes into fire when it can no longer fall.
  • Fire : Proceeds upwards and horizontally and ignites flammable items in its neighborhood. If can't proceed, turns into Air or Vapor depending on whether there's water in the neighborhood.
  • Explosion : Turns into a Vapor, a Bone or a Fire depending on the items taking place in the explosion, and also explodes explosive items in the neighborhood. Only Eaters and Humans explode into Bones.

Earth Family:

  • Sand : Rock crushed by Water. Lichen may grow on it. Turns into a Wet Sand after absorbing a Waterdrop.
  • Soil : Grass and Mushrooms may grow on it. Turns Wet Sand into Soil on the left and right when passed by the uncovered Sun. Dead plants and animals may to turn into Soil. Seeds turn Wet Sand into Soil.
  • Wet Sand : Tries to pass its water downwards. An Air below turns into a Waterdrop and a Sand below turns into a Wet Sand. After succesful passing, Wet Sand turns into non-wet Sand.

Rock Family:

  • Rock : Falls down if there's penetrable medium below. If falls on a Rock that is surrounded by Rocks on both horizontal sides, turns that Rock into a Brick. Explodes an explosive item and when falls on it. A plant explodes into Vapor when a Rock falls on it.
  • Brick : A non-falling stone element that is useful for crafting and moving of items. Turns into a Glass when exposed to fire/ignition.
  • Glass : A transparent Brick. Sunlight penetrates it, so it does not block processes such as plant growth from taking place below it. Unlike the normal Brick, Glass doesn't hold Water.
  • Steel Wall : The world is surrounded by this non-destructive and inert wall. Cannot be created by any natural processes or the player.

Plant Family:

  • Seed : Falls down and reacts with the cell below when the fall ends. Turns into a Lichen on top of a Rock or a Sand, and into a Grass on top of a Soil. Turns a Wet Sand into a Soil. In other cases, turns into an Air. All plants turn into Seeds if not supported by a non-penetrable element.
  • Mushroom : Appears when a Waterdrop falls on a Soil. Turns into an Air when the uncovered Sun passes over it. Provides 50 units of energy when eaten (50 if canned).
  • Lichen : Grows on a Rock or a Sand. Provides 20 units of energy when eaten (50 if canned).
  • Grass : Grows on a Soil. Turns into a Stalk if passed by the uncovered Sun and surrounded on the left and right sides by Grass. Otherwise creates a Seed on the left and right sides. Provides 30 units of energy when eaten (50 if canned).
  • Stalk : When passed by the uncovered Sun, grows upwards if there is air and water (in some form) in the neighborhood. If the sun is covered and there is a Soil below, the Soil may grow into a Root.
  • Watered Stalk : A Stalk that has gained water from a Waterdrop or a Root. When passed by the Sun, creates Fruits on the left and right sides (if these side cells are empty) and reverts into a normal Stalk.
  • Root : If there is Water in the neighborhood, waters the Stalk above it when passed by the Sun.
  • Fruit : Grown by a Watered Stalk. The passing uncovered Sun causes a Fruit to fall. A fallen Fruit is turned into a Seed the next time the Sun passes over. Provides 200 units of energy when eaten (150 if canned).

Animal Family:

  • Eater : The only non-human animal currently in the game. Moves by a simple algorithm and eats everything it notices in its immediate neighborhood. Whenever an Eater eats something, there's a 6% chance that it also lays an Egg. Causes a fatal explosion when coming to contact with a Human. Explodes into a Bone (although this Bone is often destroyed by a subsequent explosion). If surrounded by non-Air in every direction, will die of suffocation and turn into Soil the next time the Sun passes over it.
  • Egg : Falls down. Turns into an Eater when passed by the uncovered Sun. Not directly edible but can be canned. A canned egg provides 100 units of energy.
  • Bone : Turns into Air when passed by the Sun. Can't be directly consumed but can be canned. A canned bone provides 150 units of energy.
  • Human : The player character.

Artifact Family:

These do not appear naturally but require the player to craft them.

  • Bomb : Crafted from two Bricks or Glass+Brick. Explodes when triggered by an Eater, a falling Egg or another Bomb.
  • Can : Crafted from Brick/Glass and a food item (Lichen, Mushroom, Grass, Fruit, Egg or Bone). Cans are pushable items, so consuming them requires the holding of the fire button. The color of a Can indicates what type of foodstuff it contains:
    • Purple: from Lichen, Grass or Mushroom, 50 units of energy
    • Red: from Fruit, 150 units of energy
    • Yellow: from Egg, 100 units of energy
    • White: from Bone, 150 units of energy

Game category: Commodore 64 games

Recently played