This project aims to apply procedural modeling methods in order to create a multitude of plant and terrain variety quickly and simply.
Procedural modeling is an umbrella term for a number of techniques in computer graphics to create 3D models and textures from sets of rules.[1] In this sense, the program will be using a set of various algorithms to create an "infinite" variety of plant life and topology, while not needing said models to have been pre-made and saved to a file.
The general idea of this project is to procedurally generate several different types of plants on a randomly generated island. Plants will vary in appearance and shape based on biome, water sources and location. If a plant is near a large source of water, and/or on flat ground it will grow larger, have more varied color, and be more complex (more branches, leaves, roots).
There will be 5 basic types of plants: trees, bushes, grass, flower, and other. Each of these types will have distinctive aspects shared across each biome, but varying in color, shape, and size based on various factors (except other, which will be a unique plant type for each biome).
[4]A modified version of the programming assignments will be used to generate the topology. The primary additions will involve being able to designate certain areas as biomes, to create water sources/outlets, and to model rivers.
Additionally, the user will get controls to explore the landscape, to place plants/water sources of their own, and to designate biome locations. All the user's changes will then spread out and alter the rest of the environment: such as a new river resulting in plant growth.
5/06 - 5/10 Research topics, examine examples of other procedural modeling programs
5/11 - 5/17 Get working procedural modeling of plants on flat terrain. This will also include setting up a rudimentary water and biome system, so that the full range of plant modeling can be explored.
5/18 - 5/24 Have the modeling account for terrain variety, and have river and water generation work with the generated terrain as well.
5/25 - 5/31 Set up user interaction. This includes making sure the program will dynamically change the landscape in response to user actions.
6/01 - 6/07 Polish up, hunt and fix bugs