Inspiration

Trees, they're everywhere. But we need MORE!

Nature is our inspiration with all the quirks it has to offer. We wanted to create a system that generates unique trees and what better way to do this than procedurally generated greenery at your fingertips. Go ahead, create a garden, and get some ReLeaf.

Over Easter, a team member was inspired by a book called "The Algorithmic Beauty of Plants" by Przemyslaw Prusinkiewicz and Aristid Lindenmayer which discusses how plants can be represented visually by computers.

What it does

Using parameters given by the user, plants and trees can be generated and saved. This allows for unique creations of different sizes, shapes, colours and densities. These saved creations can be planted around the virtual garden.

The user can plant the generated structures in a variety of planters including pots and wooden boxes.

How we built it

Unity game engine was used to create the world and is the backbone of the system. The scripts for unity were written in C# including the code to procedurally generate plants.

Model assets such as fences, pots and paths were all modelled and textured in Blender by ourselves (no models were taken from the internet). Images used for textures were taken by group members and edited using Gimp.

The map is based on 'tiles' where there are small square sections containing different items such as blank areas and path models.

Collaboration was done using GitHub and the "GitHub for Utility" addon. Due to group members living in the same house, communication was done in person and all were in the same room, doing the work at the same time.

Challenges we ran into

We wanted to have random paths for each new garden created for a more unique experience. However, dynamically loading in different path models to create a complete route was more difficult than anticipated via our approach (using tiles). Therefore, the paths are not random in the version submitted for this hackathon.

Additionally, when getting changes from GitHub, the scripts were successfully updated but were not applied to assets. Additionally, the scene items also weren't updated which resulted in some errors which had to be solved manually.

Many an argument was had over heating and song choices.

Accomplishments that we're proud of

We were shocked by the number of variations we noticed by changing small values for the plant parameters. Additionally, we're proud of the realistic swaying animation that vegetation experiences even when we didn't know the final shape of the generated plants.

Furthermore, we're proud of not falling asleep.

What we learned

Improved skills on collaboration using GitHub and working in person (which has been absent for most of the year due to global pandemic).

Although some group members had some experience with unity, this was very basic. Some members had no blender or unity experience but still got involved and learned as we went along.

What's next for ReLeaf

Expand into making entire streets/cities which are procedurally generated with emphasis on greenery and vegetation. Instead of limiting a user to a small area, allow them to travel as far as they wish and continue to procedurally generated paths (which was not possible in this version).

Built With

Share this project:

Updates