by doogyhatts

Littlecube Island Maps

IPFS
Littlecube Island Maps

4 October 2022TEZOSIPFS

Littlecube Island Maps is a cartography art project showing procedurally generated islands of different sizes and biomes, surrounded by seawater. The motivation for this project was to examine how tiny voxels can be used to form a meaningful foundation layer for generating fantasy maps. As such, our inspirations came from Wolfram von Funck's work on Cube World and Scott Turner's work on Dragons Abound.

The artwork comprises islands in various sizes and combinations, with shallow seawater surrounding them, before veering into the deep ocean. Each scene is located in one of the five latitude regions (equator, sub-tropical, temperate, sub-polar, polar). The land and wetland biomes of each island is determined by a combination of factors such as the latitude, elevation, drainage, wind force, temperature, moisture and rainfall. Sometimes, there may be lakes on the islands.


Controls:
To move the camera around the scene, hold down the left mouse button within the display panel and away from the center.
To rotate the camera view, press 'C'.

Automated Camera Movement:
When the camera has not been activated by the user for a while, it will engage in automated movement around the scene. So sit back, relax and enjoy the scene.


Rarities:
Sometimes the solution may generate large islands too close to one another and they could combine and form an elongated island. Hence, such a rarity is not determined by a randomised number, but rather from a confluence of factors, such as the location and accumulation of nearby voronoi cells during the formation of these large islands.

Lakes tend to be the least common water biome within each artwork. There are frozen lakes (light-cyan), freshwater lakes (light-blue), brackish-water lakes (light-brown), algae-water lakes (dull-green) and saltwater lakes (bright reddish-pink).


Overview of the technical solution:
The application makes use of a precomputed Centroidal Voronoi Tessellation with a moderately high density of 2048 voronoi cells. This is used for the broad phase solution of the map generation in order to establish different regions on the map quickly, such as the land, wetland and water regions.

A hierarchy of voxels is imposed onto the map (of 256x256 points) in order to provide the spatial partitioning solution across the voronoi cell network. The information regarding the map regions is fed from the voronoi cell network into the leaf nodes of the voxel hierarchy, allowing the establishment of map details such as the border and inner regions of each voronoi cell.

The geometry used is a set of precomputed tiles with the smallest dimension at 4x4 quads. The narrow phase of the solution is the tiling of each voxel with its neighbours, using the information obtained during the broad phase of the map generation. The geometry tiling is also used to establish jagged borders across different land and wetland biomes. It is also used to establish the coastline of jagged beaches as the boundary between land and sea.

In order to fill up the whole scene, additional border maps are placed around the center map. They mainly contain seawater regions and are set to be impassable. A reusable object system is also implemented in order to allow hidden chunks of the scene to be recycled and only those that are visible to the frustum to be cached and rendered.

The application also uses a sparse virtual texture implementation to support many small texture atlases.
The post-processing uses SMAA for anti-aliasing.


Map Features:
Five different latitude regions.
Number of large islands between 2 to 4.
Different land, wetland & water biomes.

The full list of features is displayed in the console instead of the token page.


Other information:
The application requires a GPU capable of WebGL2 and has been tested on Chrome,Brave & Edge desktop browsers.

It may take a few seconds for the application to prepare the scene data on a slow computer.

Our development blog posts are on fxtext.

Frameworks used: three.js, jsrand

Copyright(c) 2022 Edwin Zeng, @doogyhatts on Twitter
License under CC BY-NC-SA 4.0

Indie game developer for Littlecube Valley, a research-oriented game project using NFTs.

Research & development engineer (Computer Graphics).
Digital artist making living worlds and animations using voxel art.

5 EDITIONS

0 RESERVES

minted

5 / 5

fixed price

1 TEZ

stay ahead with our newsletter

receive news on exclusive drops, releases, product updates, and more

feedback