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).
Time to have another look at the lsystem sketcher and think about potential game mechanics. It’s also a chance to look the visual possibilities of constraining plant forms to 2D (or 2.5D).
This game prototype is pretty much done. The completed tetris lines now trigger the tree growth, so if you play long enough the tree obscures the game 🙂 I also set the block colours to be consistent, which seems to be important, as they reinforce the shapes as you get used to the game.
The blocks are deformed by the radial grid which makes them hard to recognise at first, so I also tried making the grid visible, resulting in a cobweb, which does make the game easier, but moves it too far from nice organic plant shapes: