Description
The landscape is filled with massive structures that look like architectural elements, as if a series of vaults constructed from geometric figures has been carved into the ground. They span over mountains and valleys, imposing order on the natural terrain. It appears as if the weight of the land is being held up by columns and walls, shouldering its burden.
Meandering roads find their way through the terrain, between the structures, connecting scattered homes and fields of crops or vineyards. Occasionally, a larger building stands out, resembling a church or town hall.
The people living in these settlements bring to mind ancient barbarians from history books, how they overtook great civilisations and made their homes among the ruins. But it is hard to say who came first. The massive structures may have been built after the wooden settlements: an outside force colonising the land for resources, leaving behind traces of its barbaric conquest.
In both scenarios, the concept of barbarism always refers to “the other”, accentuating the dichotomy between us and them, right and wrong, form and matter, space and time, human and nature. Yet here, in this landscape of contradictions, these divisions are not so clear-cut after all.
—
*DISPLAY*
The size of the image generated by the algorithm adapts to the size of the browser’s window. Add parameters “w” (width) and “h” (height) to the end of the URL address to force a different size, e.g. “&w=1350&h=2400”.
The project is best viewed in 4K; however, high resolutions result in longer rendering time. Please note that the algorithm will adjust the resolution to the aspect ratio of the rendered edition.
Certain visual elements, such as the density of strokes on geometries, differ between low- and high-resolution images to ensure the best display quality.
—
*REFERENCES*
All drawing and geometric methods by Jacek Markusiewicz except the following:
For terrain generation, I adapted Hydraulic-Erosion by Sebastian Lague. (MIT License)
For pathfinding, I adapted the C# script from the article Pathfinding Algorithms in C# by Kristian Ekman (The Code Project Open License - CPOL). The code was translated to JavaScript and simplified.
I translated algorithms for ray-cylinder, ray-sphere and ray-torus intersection to javascript from articles and shaders published by Inigo Quilez (MIT License).
Many pseudorandom effects are achieved with OpenSimplex Noise by Josh Forisha (The Unlicense: CC0 1.0) and seedrandom by David Bau (MIT License).
Compiled using a boilerplate by James Merrill (MIT License). The random number generation from transaction hash uses the prng algorithm sfc32 by Chris Doty-Humphry (public domain) as described in the artblocks.io tutorial (GPLv3).