L-Systems and Procedural Tree Generation

By Matt Tognetti

Project Description

For my final project I created a procedural tree/forest generator. As I saw it, my project consisted of two main components:

Non-determinate Lindenmayer systems were used to create a large number unique semi-realistic trees which were then scattered to produce a natural-looking forest. I used a grid-based "nudge" system to place the trees in slightly random positions.

Project Goals

My main goal for this project were too effectively utilize a Lindenmayer System to generate realistic trees (in structure if not in overall appearance). I knew I would not be able to produce photo-realistic trees because I would not have the time or resources necessary. Instead I focused on producing models that mimic the form and characteristics of trees well enough to be used in an independantly developed game.

Project Results

I believe I was succesfull in achieving my main goal. The models are clear recognizable as trees, every model is unique, and they are arrangement has enough randomness to look natural. The main area I felt I could have improved would be to provide a wider variety of tree types and to implement passable foliage.

Resources

Wikipedia:L-System
Gamasutra:Random Scattering, Creating Realistic Landscapes