I spent a lot of the weekend working on improving the fluxus documentation by writing something which might serve as a user manual. Lots of work to do on it yet though.
A test using textures taken from Theun’s patabotanical illustrations.
A cellular plant made by me – energy transfer between cells is working much better now, and I’ve added blue cells which are now the only ones to divide. You need to get energy from photons hitting the green cells above ground to the blues ones underground to make new cells. The big blue spheres are going to represent nutrients, but don’t work yet. I’m not sure how far to take this, as it’s not really the most fun experience – and I’m not sure adding loads of features will improve the situation.
I’m hacking together the cellular plant prototype – as it might be the quickest way to play with resource management gameplay. These are some screenshots of the cells after they’ve wibbled around a little under some simple attract/repulse rules. Source here.
Two more ideas for game prototypes in sketch form…
The first one is a quick idea for a game in the vein of ‘Destroy All Humans!’ where you are a giant plant which can pull down buildings and cause mayhem. Think inverse sim city – start with a big smelly city and when you’ve overgrown and converted it into fields you’ve won. I was just thinking of how fun working on a traffic+crazed crowd simulator for this would be, but it’s possibly not really the right ambience for the groworld project 🙂
The next one is an idea for growing plants on the cellular level – and some ideas for how the cell’s dynamics and animation could work. The idea is to pull energy from photosynthesis into the ground where it can mix with nutrients to cause further growth. It’s partly inspired by the Plant Dungeon idea from Tale of Tales.
I’ve hacked a different way of interpreting l systems which is more suited to time based patterns, such as for music. Instead of parsing the rules into a long string in one go (as I used to do for pattern cascade), this version uses a stack based method to evaluate them continuously, meaning that they use up much less memory and the processing time is spread out – this means you can set the recursion depth much higher, or should that be deeper? The code is here.
Here’s an example run, although be warned that the synth patches I’m using are rather untamed (partly due to the mood I was in when composing 🙂
The rules for this are:
Which I think is quite a good compression ratio for the complexity resulting - this is an important aspect of the 'livecode-ability' of a procedural approach, less keystrokes equals more time to think about what you are doing. If the embedded thing doesn't work, the archive.org page is here
Playing with some doodled textures and a flattened l system. The components of the plant are now properly parented together, so you can animate them – rotating branches moves the whole subtree, as you’d expect.
The code for this is here. BTW – if clicking on that asks for a password, try it until it goes away (it’s not really password protected, I’m not sure why it’s doing that).