![[An emulator
screenshot]](bouldercraft.jpg)
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.
bouldercraft.prg (version 0.4 for the Commodore 64 and emulators such as VICE; size 8123 bytes -- yes, this html page is larger)
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.
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:
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:
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 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:
Air Family:
: The inert and penetrable background substance of the
world.Water Family:
: 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.
: 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.
: 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.
: Proceeds semi-randomly upwards and leftwards, or
rightwards if the left side is blocked. If can't proceed, turns into a
Waterdrop.Fire Family:
: 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.
: Sometimes falls from the sky. Ignites its flammable
neighbors while falling. Explodes into fire when it can no longer fall.
: 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.
: 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:
: Rock crushed by Water. Lichen may grow on it. Turns into a
Wet Sand after absorbing a Waterdrop.
: 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.
: 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:
: 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.
: A non-falling stone element that is useful for crafting
and moving of items. Turns into a Glass when exposed to fire/ignition.
: 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.
: The world is surrounded by this non-destructive and
inert wall. Cannot be created by any natural processes or the player.Plant Family:
: 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.
: 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).
: Grows on a Rock or a Sand. Provides 20 units of energy
when eaten (50 if canned).
: 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).
: 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.
: 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.
: If there is Water in the neighborhood, waters the Stalk
above it when passed by the Sun.
: 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:
: 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.
: 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.
: 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.
: The player character.Artifact Family:
These do not appear naturally but require the player to craft them.
: Crafted from two Bricks or Glass+Brick. Explodes when
triggered by an Eater, a falling Egg or another Bomb.
: 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: