wiki:terrain/storage

Version 2 (modified by Jonathan Neufeld, 4 years ago) ( diff )

SDF not blocky

Storage File Format

I see little reason to deviate too much from Notch's region file format. Each region file would persist a logical unit of world of a fixed size (e.g. 64 x 64 x 64 blocks). Each file contains several channels:

  • Blocks
  • Lighting
  • Graphs
  • Entities
  • Items

Blocks

The block channel consists of an array of ordinals, each identifies the block-type as well as its meta-configuration (rotation / orientation). Since we're working with SDFs here instead of blocky Minecraftey worlds (i.e. smooth voxel terrain instead of blocky) I think this will mean we have to store a general value that indicates the density of the block at this location, which might make meta-configuration unnecessary. Also, my current thinking is that anything more complicated than this for describing terrain blocks in this case can be stored and described in a separate channel because 90% of the terrain is going to be very simple.

Lighting

The lighting channel indicates light levels and light colour

Graphs

Graphs are arbitrary networks of information that can span arbitrary distances that typically relate to specific types of blocks, one such example of a graph is the steam engine assembly in Mad Martian Mod.

Entities

All movable objects and creatures other than players

Items

Items that are left lying around on the ground, unlike Minecraft, Revenant will treat these differently and not lump them into the same category as entities.

Note: See TracWiki for help on using the wiki.