0.3.0-pre-alpha
is now available. This is really the first version of LB that does anything interesting at all; it hard-wires three rules for moving rocks, and deals with the complications of multiple 3x3 rules wanting to move the a rock in different directions (which may happen when a rock sitting atop a lone tree could move to the left or the right). This is achieved with a conflict resolution algorithm, which flags all conflicts, then resolves them at random until none remain.
I reckon this is a better solution and more intuitive to the user than only using 1x1 rules (whereby a 3x3 neighbourhood can only be used to modify the central cell, as in Conway’s game of life). This would require two rules to move a rock downwards; one to despawn it from its current position, and one to spawn it in the cell below.
Instead of that, rules in LB consist of a 3x3 neighbourhood of cells that are used to find matching areas in the game grid, along with a list of actions that will be added to cells when the rule activates. At the moment actions include spawning, despawning and moving a cell in a particular direction. One pass annotates cells with all potential actions, and then a second pass detects conflicts (such as moving a cell in different directions) and randomly removes rules until no more conflicts exist.
This works rather well at the moment. We’ll need to see how it stacks up when rules become more complicated.
Oh, I’ll try to get Windows and Linux builds out for the next release onwards.