Submission for PROCJAM.

Dusting off an old prototype which procedurally generates non-realistic / fantasy / alien trees. For this demo I created a UI interface to allow control of the generation parameters. Be warned - the algorithm is still a work in progress and consequently some parameters may have no effect (though I tried to remove anything redundant) and some may cause very strange behaviour!

 The style is inspired by vintage sci-fi artwork and Dr Seuss illustrations. Planning to improve on it for the duration of the jam.


  • Use the control panel on the right to change the tree generation parameters.
  • A seed can be entered in the top text box or random seeds can be generated.
  • The Live Update option refreshes the mesh whenever a parameter is changed. 

Camera Movement

  • Click-Drag to orbit and zoom
  • Scroll mouse to adjust camera height


  • Demo can be played in the browser or downloaded for Windows or Mac
  • Windows/Mac downloads: simply download and extract the zip file, then run the .exe file (Windows) or .app file (Mac).


Everything is procedural. 

The tree branches are generated using a recursive algorithm, which uses Unity's Mesh class to build the geometry vertex by vertex, polygon by polygon. 

The tree texture is generated using layers of algorithmic patterns. 

The leaves are flat polygons with a cutout shader applied. Bezier curves with random control point positions are used to generate the leaf textures.

The terrain is also generated procedurally. This implementation uses Perlin Noise for that smooth rolling hill effect.

Source code

Source code can be downloaded via my bitbucket:

Mirrored on GitHub:


Download NowName your own price

Click download now to get access to the following files: 15 MB 11 MB

Development log


Log in with to leave a comment.

(2 edits)

I'd suggest also mirroring the source repo to Github. Myself (and I presume others) often find interesting projects via Github's social and search functionality. Gitlab and Bitbucket don't currently have the critical mass for them to be worth checking in this way. Even if you prefer a different Git hosting service it might be worth also having a Github presence just to make it easier for people to find you. You can probably set the mirror to auto-update so it shouldn't need extra work once you've set it up.

I only just got around to doing this and I've added the link in the description. Thanks for the tip! It's good to know what most people prefer to use. I was using BitBucket because I happened to stumble upon a good setup tutorial for it.