Try to start a procedural planet as wide as earth. Starting code for Unity is http://code-phi.com/infinite-terrain-generation-in-unity-3d. Code for planet terrain generation is adapted from http://libnoise.sourceforge.net/examples/complexplanet/index.html.
- Calculating height of terrain with a distance to a virtual plane touching the earth's surface at a specific lat/lon
- Using a QuadTree to draw terrain from First person camera to far distance (50Km)
- separate scene with sphere world and texture (3d world map)
- Adapt terrain heightmap border dynamically (prepare work to connect different Quadtree levels)
- Use the QuadTree to avoid 25% point calculation when split.
- Use the QuadTree to create terrain chuncks while ethan walk on fusion (use children heightmap to create the parent one)
- save generated height map in a cache on disk
- lat/lon clamping to have a finite number of planes touching the earth's surface
- save generated height map in a distributed mongo file system: collaborative terrain generation
- Connect Terrain from different quadtree level (not native in Unity...), in first step adapt border height map to match neighbor (smaller chunck repeat height value of the parent on border)
- Adapt terrain chunks height locally to have a better resolution (will it suppress the flickering ?)
- Work on terrain texture
- Add sea at level 0
- Manage the rivers (see the last noise module)
- Reactivate sphere map, add a click on map to teleport ethan at lat/lon
- Add menu in sphere map scene and Noise Seed parameters to choose the world
- Use a noise module (perlin or more) to generate weather and weight it with season (day of the year)
- Use a noise module (perlin or more) to generate trees (perlin value is density proba to find a tree) weight it with lat/lon
- Use a noise module to generate town position and size.
- we can also generate maze or house.
A new world of adventure. Whe just have to write an adventure in a already existing world. An RPG engine depending of Rpg type is needed.
At Ethan level (in game)
Look carefully you can see Ethan
Now whe cannot see him anymore