The journey of a hobbyist game developer
 
Zen Garden

Zen Garden

This is not a game.
This is an allegory to the futility of trying to control everything around us.
Sometimes things go right. And when that happens, it is good, we can be happy.
Sometimes things don’t go so well. And then, that is also good, as we can challenge ourselves.

The marbles, with their random nature, and their random size, represent things that are happening around us. Sometimes marbles flow nicely. Sometimes a big marble is generated and it blocks the path for all the next ones.
When the path is stuck, more lava marbles will be generated.
These melt and can find their way to the blockage, where they explode.

I’ve recorded almost 1000 sounds – marbles of different materials (plastic, metal, wood, stone, rubber) rolling around and colliding with each-other.


This is based on a children’s toy, a wooden mushroom. It has a wooden track around and through the mushroom, with straight 90 degrees angels. It has a bell at the bottom.

Initially I created a similar layout, and that required rotating the screen often to see what is happening in multiple places. So I decided to get rid of the middle object (the mushroom) and just stuck to a track with edges on both sides.

I do realize that the Play Store is full of “here’s my first game”, and more or less I just added more to the trash pile. In my defense, I’ve spent a lot of time recording and editing the +- 1000 sounds, fiddling with the textures, creating depth maps where needed, tuning the physics of the friction. I’ve learned a lot on this project and I’m very very happy with the result.

The code here wasn’t really difficult since Unity deals with physics and I’m very happy with the resulting architecture, both in Unity and in the scripts. What I could focus on was the random generation of marbles out of a list, randomizing their size and position and a bit of impulse just so they don’t just fall directly downwards.
Where I got stuck was in implementing pinch-to-zoom, and after spending some time on it I realized that Unity will implement it themselves sooner or later and I see more value in working on another project rather than implementing pinch-to-zoom in this one, mostly because I don’t have any expectation out of this one.