Cellspace: Cellular Automata Sandbox

Cellspace: Cellular Automata Sandbox

This game is from ldjam.com, which is currently unavailable.
You can try viewing the original page on Web Archive (may not load correctly).
overall: 3.19
fun: 2.79
innovation: 4.38
theme: 3.02
graphics: 2.59
humor: 2.23
mood: 2.40
Most important things first: Select the level using the <<level and level>> buttons at the bottom. Press restart to start the level after you modify any rules. Some levels already have some rules predefined.

There is now a postcompo with a level editor in which you can create and share full games! Instructions below.

A cellular automata game where you can create your own rules. There are no win or lose conditions (yet) so it can be considered a toy rather than a game. The screen consists of a grid of tiles. The game scans the grid for any 3x3 tile patterns that you define, and wherever a pattern is found, it replaces the 3x3 tiles with a new 3x3 tile pattern.

At the right you find the rule definitions. For each rule, the two leftmost 3x3 grids are the patterns to scan for and the patterns to replace them with:

The rule above indicates that when an o is found with an empty space next to it, it places another o over the empty space. This will cause o cell to propagate to the right. So:

An empty cell means "Don't care", this tile is skipped.

The dash "-" means "empty space". In the scan pattern, this means the tile must be empty. In the replace pattern, it means the tile is cleared.

The other characters are defined according to this legend:

The first five are supposed to indicate different types of cells, # represents a wall, and : represents food.

In each rule, you can define a number of options:

- playerdir: indicates that the rule should trigger only when a direction key is pressed (W=up, S=down, A=left, D=right)

- priority: higher means the rule has higher priority

- probability: probability that the rule is triggered if applicable

- transform: indicates how the rule should be rotated or mirrored (rot4=rotate 90,180,270 degees, mirx,miry = mirror)

- conddir and outdir: this enables you to indicate a direction for each cell in the grid (L,R,U,D). Conddir indicates which direction the center cell should point in. Outdir indicates which directions should be assigned to each cell in the 3x3 grid. Cells that have a direction will also rotate their sprites to indicate the direction.

With some simple rules, you can define game-like behaviour. For example with a single rule you can move a cell around with the W,S,A,D keys:

Like the previous rule, we indicate than an "o" cell should propagate to the right. However, it also clears the cell in the previous position, indicate the cell should move rather than propagate. "playerdir" indicates this rule is triggered when the "D" key is pressed. Outdir indicates that the new "o" cell should be facing right. Finally there is a transform "rot4" defined, that rotates the rule in all directions, and automatically converts all directional conditions appropriately.

This rule engine is very suitable for Boulderdash style games. For example, a Boulderdash-style rolling boulder (featured in level 4) is defined by just 2 rules:

Postcompo: CellSpace IDE instructions

Press "Edit" to edit the level, "Run" to run the game if you changed the level or the rules. Games are saved in Cellspace format (a human readable text format). "Open Game URL" opens the game in a new tab, with the source embedded in the URL.

At the top you can select the sprite. Once you've selected a sprite, you can edit rules and win/lose conditions, as well as the level. The plain green square at the very left indicates "ignore", which can be used to ignore cell positions in a rule.

Limitations: Currently you can only edit only one level and you cannot yet change the tile set.

Postcompo: CellSpace IDE instructions

Press "Edit" to edit the level, "Run" to run the game if you changed the level or the rules. Games are saved in Cellspace format (a human readable text format). "Open Game URL" opens the game in a new tab, with the source embedded in the URL.

At the top you can select the sprite. Once you've selected a sprite, you can edit rules and win/lose conditions, as well as the level. The plain green square at the very left indicates "ignore", which can be used to ignore cell positions in a rule.

Limitations: Currently you can only edit only one level and you cannot yet change the tile set.

Example games

Platform game - you cannot jump, fall onto the monsters to kill them

Douse the Fires - click to remove walls

Boulderdash - get all the diamonds

Escape Room - push the keys to unlock the locks

Tanks - destroy the tanks with fire

Harvey Wallbangers - draw walls to make the wallbangers get the potions

Cell Pacman

Shooter - space to shoot
Found a bug?
Tell us on Discord