This is a rough spec for an implementation of a realtime virtual world using OpenStreetMap data and voxel.js. The basic idea is to encode feature data pulled from Mapbox vector tiles as overzoomed tiles, which can be represented as voxels. This allows for easy scalability, since it utilizes existing algorithms and architecture.
The initial implementation is going on here.
###general
- 1 voxel = 1 tile at zoom 17 = 1.1943 sq meters
- the world is a 33,554,432 x 33,554,432 voxel grid
- assume that a server is serving up vector tile pbfs at z15 (mapbox.com, local, etc.)
- vector tiles are loaded at zoom 15 and geometry is encoded as
4096x4096
pixel coordinates, which is equivalent to tiles at zoom 24