Skip to content

Peamon/LandSteel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LandSteel

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.

What's have been done

  • 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

What's need to be done

  • 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

What idea for the future

  • 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.

And what can we do with this ?

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.

Screenshots

At Ethan level (in game) At Ethan level Look carefully you can see Ethan Look carefully Now whe cannot see him anymore No more ethan

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published