Treetris prototype finished

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:

First plant perspective

The game works now! It’s actually quite playable. The fact it’s tetris isn’t really important, more that it helps think about playing a game from a plant’s POV – the blocks could be nutrients provided by the roots, which you fit together to grow your plant. The problem is that you can’t see yourself, (the central player plant is still there, just clipped from the camera). I need to look at more of a third plant perspective next.

The code is here.

Circular tree tetris

I’ve put the tetris logic in the fluxus script, and stuck a tree in – some way to go yet… You still can’t actually play it, but the blocks fall into place properly. It might be quite challenging to play like this as it’s quite difficult to predict where the blocks will fall. Some camera movement may help, if it tracks the currently falling block. I also need to plug the lines created into the tree growth, and do some work on the clashing visual styles :)

ASCII tetris


..............................
..............................
..............................
....................##........
....................#.........
....................#.........
...........................#..
....###...................##..
.....#....................#...
##############################

Retro games, and ASCII for extra points! A quick script hacked together in pure PLT scheme to use for the game prototype, no actual interaction yet. It’s surprising how small the code is, I was expecting it to be harder to do. I think I’ll need to do more checking when you can drive the blocks, i.e. prevent moving left and right or rotating if there is a collision.

More ASCII output, and the code is here.


..............................
....................##.....#..
....................#.....##..
...........##.......#.....#...
...........#........###.......
..##.......#.........#........
..##......###.......##..#..#..
.######...#####.....#..##.##..
..#..#....##.######.#..#..#...
##############################

Things to think about

My groworld todo list:

  • Improve the lsystem sketching fluxus script
  • Work on a game mechanic idea I have – like tetris with polar coordinates, growing a tree out the middle
  • Look into haxe for making free software flash games, and port the lsystem and sketching stuff to it in 2D