Sunday 9 October 2011

Terracraft WIP 1

Since Notch has yet to release the mod API I can't start on Sapphire Island yet, so in the meantime I've decided to continue on my terrain generation algorithm. So far, I've implemented the following:
  • Continents
  • Mountains, hills and plateaus
  • Rock strata
  • Regional temperature and height-based temperature lapse
  • Regional rainfall
  • Biome identification
Still to do:
  • Volcanoes
  • Orographic rainfall
  • Topsoil
  • Biome-based terrain features (canyons, mesas, oases, etc.)
  • Vegetation and other decoration such as boulders
  • Rivers
  • Caves
  • Ore distribution
  • Man-made structures (villages, ruins, etc.)
Below are two screenshots of  the current state. As you can see the map is quite a bit higher than a normal Minecraft map: I'm using a height of 512 instead of the default 128 to allow for proper mountains and generally get a more realistic scale; as in real life, a decent-sized tree for example will easily reach 20-30 meters. Sequoias can grow up to 100 m, which would take up almost the entire height of a standard Minecraft map. With the increase in height I can still have a mountain towering over a sequioa. The colors in the screenshots represent the biomes. Currently they have very clearly demarcated borders because I set specific cut-off points, but they're actually gradients so once I put in topsoil and vegetation they will smoothly blend into eachother. Below the terrain you can see cross-sections showing the rock strata. There are five types of rock (excluding the bedrock in the bottom layer of the map): sandstone, limestone, shale, granite and basalt. Each will have a different ore distribution. Diamond, for example will only appear in basalt. As usual, click for a larger view.