Experimental Gameplay : Organicraft
When I heard that the Experimental Gameplay theme for October was ‘Vegetation‘, I instantly knew what concept I wanted to explore. I did my dissertation on fractal generated plants, and they’re something which have fascinated me ever since.
To play Organicraft, it will help if you have at least a working knowledge of L-System / Turtle graphics theory, and how they can be combined to fractal plants. They’re not hard concepts to grasp, and there’s a wonderful paper on it here, but I’ll give you the basics…
Trust me, if I can understand it, you definitely will too.
Or if you prefer, you can just skip to the end and play it now.
In school, you might have used something called LOGO. It’s a very simple graphics programming language which involves telling a wee virtual ‘pen’ to move around, leaving a trail behind it, to make pictures.
It accepts simple commands (Move Forward, Turn Left etc…), but using loops, it can be made to draw some quite impressive spirograph style images.
Hungarian Botanist Aristid Lindenmayer devised a system whereby rules could be applied to a string of characters, iteratively, to make longer more complex strings. For example, If I start with ‘A’ (The starting point is called the ‘Axiom), and apply the rule ‘Turn all ‘A’ into ‘AB’, then I’ll get the following result…
Axiom : A
Apply Rule Once : AB
Apply Rule Again on resultant string: ABB
Apply Rule Again : ABBB
Now… we if we imagine that each character in the string is a command to be followed, we can see that we can create a long list by repeatedly applying the rules. I think you can probably see where this is going…
Combining the Theories
If we assign a turtle graphics command to each character in our string, we can create a complex path for it to follow. These are as follows…
F : Move Forward
- : Turn Left
+ : Turn Right
So, to make something called a ‘Koch Snowflake’, you use the following Axiom and rules (With an angle of turning at 60 degrees)
Axiom : F++F++F
Production rules: F → F−F++F−F
Which after each iteration starts to look like this…
If we add in two more commands;
[ : Push (remember) the turtles current location
] : Pop (Go back to where you last remembered the turtles position)
We can make ‘branching’ L-Systems, which might look like this…
And you can instantly see the resemblance to plant life beginning to form.
The aim of the game in Organicraft is to work out which rules you need to apply to the L-System in order to create the target plant. The rules are represented as having been graphically rendered instead of as strings in order to make things a little easier. But I think that you’ll probably end up coming to the same conclusion as me about this concept…
That it’s beyond the scope of the human mind to predict what fractals will look like after around 4 iterations! I kinda knew it would be the case before I started, but hey, that’s the point of Experimental Gameplay!
Nonetheless, if nothing else, I hope the game makes you fall in love with L-Systems the same way I have.