I’ve found tools like CityEngine that can procedurally create a city,
and there are plenty of tools to procedurally create plants. Is there
any way to make them work together? I’d like to create an apocalyptic
city for use in a game, something like I am Legend.
I’d like to procedurally create the buildings of a city, and add in the
details like cars and miscellanious street objects into the street. Then
I’d like to apply forces to the streets to flip cars and blow things
around to add some chaos to the mix, cause a few windows to break and
the like. Those I know how to do. But what I’d like is to add the
generation of plant life, as if nature was retaking the city. L-systems
can simulate real life growth, but I’m not sure how I’d use them to
accomplish this. Any ideas?
It’d be even better if the creation was done by the game, like the data
for the map/objects was all that had to be stored in order to generate
the map. That way the map information could be transfered over a network
Please log in or register to post a reply.
You should create your planst, and put manually in the procedural city,
i don’t know if there is a tool which can model both actually, but maybe
the guys behind cityengine are reading this post…
Incidentally i had researched some months ago a procedural city
generation, you gave me some ideas about what to add next , like
computation of fluid paths along buildings, and vegetation spawning like
the city had been abandoned for so long time…
You could use the same techniques as they use in CityEngine.
It basically works by using a mix of supplied 2d bitmaps to define
parameters, and a library of objects to fit into the map.
You can then build your own rules for plant viability.
So say you have a building with a mud floor, that has a high viability.
A concrete floor has low viability. A park has a viability of 1, tarmac
a viability of 0.001
Then you can run a simple algo that generates a 2d bitmap of initial
plant growth. Different plant types can exist in different viability
Each plant type has a damage value, this is the amount of damage the
plant can do to the fabric of the city. This increases the viability of
regions next to the plant.
Iterate this a few times till you have the result you want.
Then use the final viability table to do two things.
1) Damage the buildings, bring down walls, smash windows, etc.
2) Add 3d plant meshes
From the viability table you can tell what meshes to add where, I would
probably keep another bitmap as well which holds plant age so you can
use that to define the size of the meshes. Small tree, large tree, that
sort of thing.
You’ve seen Life After
Maybe get in touch with the production studio…