Laying out the shell
How the inside of the world is built from a seed.
Where things stand
- decidedThe inside of the shell is a dream world. The real machinery, the ear and the hull, stays outside, in the lore and out of play for now.
- decidedEverything is procedural. Every idea on this page is a rule for the generator, and the same rules check what it makes.
- decidedTowns stay as simple blocks for now. Later they become a mix of rustic, garden and urban pieces, with walls that suit parkour.
- decidedRegions differ subtly in their flowers and their townscape.
- decidedThe layout starts roughly symmetric, with north and south clearly different.
- builtThe prototype has towns on the frame (twelve sites, plus a hamlet on each face from 1×), hidden panels under the ground, each region's flowers, the painter and the plants, and a Look section in the pause menu for the sky, the band, the panels and the old or new ground.
- proposedThe shell map, its two grids, and shapes written as a radius for every direction.
- proposedTwelve sites at the corners of an icosahedron, with the poles at one opposite pair and a band around the middle.
- decidedThe sky is blue.
- openWhat the band looks like, and whether worlds change every match or rotate through named seeds.
The shell map
Every layer is drawn on one map, the unit sphere, which works like a globe's latitude and longitude. The world's shape comes in only at the last step, which places each point of the map on the ground, so when the world morphs, everything drawn on the map moves with the ground.
- Panels, for structure. The panels form a Goldberg tiling of hexagons and exactly twelve pentagons, made by cutting each face of an icosahedron into a triangular grid and taking the dual. The panels are nearly equal in size, no cells crowd together at poles, and the twelve pentagons, about half a hexagon's size, fall where the frame wants its twelve sites. Each panel stores its charge, height, region, building and how much of it shows. With panels about 10 m across, there are 1,442 at 0.65× (frequency 12) and 5,762 at full size (frequency 24).
- Texels, for detail. A cube map, six square grids that the graphics card reads by direction and blends without seams, holds what is finer than a panel: flower density and colour, grass height, paths and the band. With faces of 1024 × 1024, each texel covers about 15 cm of ground at 0.65×.
- Panels drawn
- 642
- Ground area
- 1.00 × sphere
- Hexagon size
- –
- Hexagon stretch
- –
- Pull, spare unused
- 22.0 m/s²
- Fits the spare
- yes
Any shape
A shape is a radius for every direction: from the centre, the ground lies at distance r(u) along each direction u. Lens and Rama are ellipsoids, a waist pinches an ellipsoid at the middle, and a free shape adds soft bulges and dents. Anything written as a signed distance field works too, by stepping out from the centre until you meet the surface. A morph blends two radius functions.
- One rule: every point of the ground can be seen from the centre. A radius for every direction guarantees it, and the Lantern needs it to light the whole ground. A ring or an overhang would need a different map.
- On a long shape, the sphere's panels can't keep both their size and their shape. Projected straight out from the centre, they stay round but vary in size: on Rama the hexagons range from 0.5 to 2.2 times the mean. The sphere's tiling has a fixed number of rows and a long shape needs more, so evening out the sizes stretches the hexagons, up to 1.6 times longer than they are wide on Rama and 2.6 times on the waist. On a nearly round shape like the Lens, a setting about halfway keeps both close to even, and on long shapes no setting does.
- The proper fix is to tile each shape on its own surface. Panels laid out on the real ground at a fixed size give a longer world more rows. A morph then adds and removes panels, which in the story is the spare ground unfolding from the seams, and a new panel takes its values from the shell map. A first test gave rounder hexagons, but about one panel in seven had five or seven sides, so this needs a careful remesher in the engine.
- The seams take up the extra ground. A shape with more ground has bigger panels, and the spare ground folded inside the hull opens along the seams. Past 1.5 times the sphere's area, the pull drops.
- The field follows the ground on any shape. The pull depends on your height above the nearest ground and points toward it, and on a general shape the distance field gives both. Each panel's charge then scales the pull above it.
The layers
Ian McHarg read a landscape as a stack of layers. Here every layer is drawn on the same shell map, so any layer can change and the others stay lined up with it.
| Layer | Holds | What it can do in play | |
|---|---|---|---|
| 1 | Shape | The form and its panels, with the spare ground folded in the hull. | Morphs. A panel tilted to 90° becomes a wall you can walk up, since the pull follows the panel. Panels rising into a ridge or sinking into a ditch. |
| 2 | Field | Each panel's charge, the falloff height, the events moving through. | Heavy and light ground, 16 to 33 m/s². Sweeps, lulls, tides. The ground going light before an event. |
| 3 | Frame | The poles, the band, the sites and their regions, the opposite pairs. | The zone as a set of regions. Gates between opposite sites. The director choosing where. |
| 4 | Relief | Low hills, knolls, ridges, hollows and sunken edges. | Cover from nearby players. Hills you go over or around. Rock that a shape event can raise or flatten. |
| 5 | Ground cover | Grass, flower drifts, field patches, the band, the few trees. | The field made visible: grass leaning, petals lifting, the painted wave. Each region's character. |
| 6 | Routes | Paths between the sites, wider where they arrive. | Bots' routes. Crossings, where fights happen. A map you can read overhead. |
| 7 | Places | Towns as blocks for now, spires, launch pads and gates. | Roofs for cover, high ground, launches, gates, loot. |
| 8 | Sky | Haze, clouds, drifters and the Lantern. | Haze that softens long sightlines. Stepping stones and moving cover in the void. Shade under drifters. Time of day. |
During a match, the director changes the layers: morphs change the shape, events change the field, the zone moves across the frame, light and weather change the sky, and the ground cover responds to all of them. Every new event idea starts with the question of which layer it moves.
Building a world
The generator builds a world from a seed and a preset in ten steps.
| Step | Uses | Gives | |
|---|---|---|---|
| 1 | Shape | The preset and the world's size | A radius for every direction |
| 2 | Panels | A frequency from the size, about R ÷ 8 | The Goldberg tiling, evened out on the shape |
| 3 | Frame | The tiling turned by the seed | North and south at an opposite pair of pentagons, ten sites in two rings, the band between them, a region round each site |
| 4 | Field | The charge budget | A charge on every panel, 22 m/s² to start |
| 5 | Relief | Noise shaped by the frame | Panel heights, flattened under sites and paths, hills placed where routes would cross open ground |
| 6 | Routes | The thirty sides of the icosahedron | Paths over the panels between neighbouring sites, bent a little, wider where they arrive; crossings marked |
| 7 | Ground cover | Each region's flowers, a slow drift from north to south | Flowers, grass and fields in the texels; the band; trees only where they do a job |
| 8 | Places | The sites and an allowance of spires and launches | Blocks on the panels round each site, spires, pads, gates between opposite sites |
| 9 | Sky | The haze setting and the seed | Clouds, drifters, shade under them |
| 10 | Checks | Everything above | Keep the seed, or throw it away |
The checks are the analysis layer. Every site can be reached in three ways: by ground, by launch and through the void. Every open spot that most of the shell can see has cover nearby. Neighbouring sites are close enough to walk between in the time the zone allows. Launch arcs clear the drifters and the Lantern.
With the sites at the corners of an icosahedron, neighbouring sites are 108 m apart along the ground at 0.65× and 221 m apart at full size. The ring sites lie 26.6° north and south of the band, so every route between the two rings crosses the band once, and cover goes at those ten crossings.
Showing and hiding the panels
Like the tiles of any terrain system, the panels carry the layers and stay out of sight unless something uses them. Each panel has a value from 0 to 1 for how much it shows, with a finer mask in the texels.
- Hidden, the default: grass, flowers, relief, noise and flower drifts all run straight across the seams, so the ground looks like one meadow with no trace of a seam.
- Disguised: the seams become the meadow's own edges, such as field boundaries, hedgerows and flower borders. The patchwork of fields seen overhead in the art can be groups of panels.
- Shown: fine seams and a slight bevel, so the panels look built. Panels that tilt, rise or turn over are shown this way.
- Shown by the director: just before an event, the seams brighten across the panels it will use, then fade once it has passed.
Seeing and cover
Someone who is an angle θ away from you around the shell sees you from θ/2 above your ground, because a chord meets the circle at half the angle of the arc it cuts off. So nearby players look along the ground and are stopped by walls and hedges, and far ones look down from high above and are stopped by roofs and canopy.
Shooting across the world stays part of the game. The haze softens the far side without hiding it: in the Hollow a target 120° away keeps about half its contrast, and one directly opposite keeps about a fifth (the Game page has the numbers). Cover is local: roofs and canopy belong to towns and groves, and most of the meadow is open, so a player crossing it can be seen from the whole far side.
From research on released battle royales and arena maps:
- About one named place per squad, with two or three unnamed outposts each, spread at an even density, which matters more than the total.
- Strongholds just off busy junctions, and three ways up to every high place.
- Keep launches few, loud and in pairs, so nobody arrives at a fight unheard.
- Surprise is local. The far side is always in view, so mystery comes from what's near: a knoll, a bend in a path, a patch of tall flowers.
- Give the world a clear north, with distinct poles and landmarks that look different from each side where players choose a direction.
Haze as sky
A blue sky makes the void look like sky and the far side look distant, the way painters show distance by making far things bluer. This depth cue helps players judge distance and keep their bearings.
The blue haze is pale and sits mostly in a core around the Heart, so it shows most across the middle of the far side and blends into the Heart's glow. It is as thick as the warm haze, so targets across the shell are just as visible.
A stronger blue has a cost, because haze can only colour something by hiding it a little. Enough blue haze to colour the whole far side would leave a target 120° away with 29% of its contrast, down from 54%. "Far blue" in the pause menu tries another way: distant things shift toward blue but keep their lightness, so nobody gets harder to see. It's off by default, and at full strength it turns the whole far side sky blue.
The warm haze stays in the pause menu, perhaps as the director's late-day light.


Painting the shell
The look we are aiming for is the hero picture on Inside the Shell, with painted flowers at your feet, brush strokes in the middle distance and a painted map of fields overhead. In a hollow world most of the screen shows far-away ground, with no horizon to hide it, so the ground is painted once into maps that are cheap to read, and real plants grow only in a small ring around you.
- The painter. When a world is built, one shader paints the shell map into two cube maps: a ground map with the grass swathes, the band and where plants may grow, and a flower map with where flowers grow and what kind. A morph needs no new painting, because the maps are stored by direction.
- The ground. For each pixel, the ground shader reads both maps, adds a little grain and faint brush strokes along the wind, and then adds the light and the haze.
- The plants. Grass blades grow within 14 m of you and flowers within 22 m, made on the graphics card from a grid on the cube's faces. Each plant's position comes from its grid cell, so plants stay in place as you move and the CPU stores nothing for them. Blades take the ground map's colour, so at the edge of their ring they blend into the ground.
- The flowers grow in clumps, a metre or two across, one kind to a clump: the region's own, white daisies or small yellow ones. Clumps are more common and bigger in the drifts. Beyond the flower ring, the ground shader paints the same clumps as dabs of colour, so the drifts are still visible from far away.
The Heart sits at the centre and never moves, so the light on every spot never changes and the shadows of trees and buildings fall straight beneath them. Those shadows can be painted in once, and only moving things need a shadow drawn every frame.


| Shader | Runs | Reads | Draws |
|---|---|---|---|
| Painter | Once per world, and on events that change the ground | Frame, relief, ground cover, routes, places | The ground map and the flower map |
| Ground | Every frame | Both maps, shape (panels), field, sky | The meadow |
| Grass and flowers | Every frame, near you | Shape, both maps, field | Plants at your feet |
| Trees and buildings | Every frame | Places, ground cover | Soft-shaded blobs and blocks, flat stand-ins far away |
| Sky | Every frame | Sky | The haze (inside every shader), clouds, the Heart's glow |
The wind, how far the grass leans and which way the strokes run all come from the gravity field, so a heavy patch can flatten the grass and a sweep can swirl the strokes like the vortex in the picture, at almost no cost.
The research behind this is on The look. Things to avoid:
- Full-screen painterly filters, the Kuwahara kind. They cost dozens of samples per pixel and smear small, far-off players into blobs, which hurts the shooting.
- Grass geometry past about 20 m, where a blade is thinner than a pixel and brush strokes look the same.
- Blended transparency on plants. Cut-outs with alpha-to-coverage need no sorting.
Next
- Measure the painter and the plants on real hardware with the pause menu's frame readout, against the live ground.
- Choose a band from the takes in the pause menu.
- More for the painter: fields, paths and flower beds, trees with their shadows painted in, flat clouds (in order on The look).
- Pole landmarks, so north and south differ at a glance.
- Routes: paths between neighbouring towns, crossing the band.
- Relief: knolls and hollows, flattened under towns and paths.
- A remesher, so long shapes keep round panels.
- Then the field as play: heavy and light patches, and a panel that tilts into a wall you can walk.
References
Tiling a sphere
- Goldberg, M. (1937). A class of multi-symmetric polyhedra. Tohoku Math. J. 43, 104–108.
- Caspar, D. L. D. and Klug, A. (1962). Physical principles in the construction of regular viruses. Cold Spring Harb. Symp. Quant. Biol. 27, 1–24. Why a sphere of hexagons needs exactly twelve pentagons.
- Wales, D. J. et al. (2006). Structure and dynamics of spherical crystals characterized for the Thomson problem. Phys. Rev. B 74, 212101. PDF
- Uber Technologies. H3, a hexagonal hierarchical index on an icosahedron. h3geo.org
- Górski, K. M. et al. (2005). HEALPix: a framework for high-resolution discretization and fast analysis of data distributed on the sphere. Astrophys. J. 622, 759. arXiv:astro-ph/0409513 An equal-area alternative for the data grid.
- Quilez, I. Distance functions. iquilezles.org
Landscape and level design
- McHarg, I. (1969). Design with Nature. Natural History Press.
- Lynch, K. (1960). The Image of the City. MIT Press.
- Christaller, W. (1933). Die zentralen Orte in Süddeutschland. Summary
- Martin, P. (2014). Visibility and accessibility in Splinter Cell levels. Entertainment Computing 5(1). Repository
- Vinson, N. G. (1999). Design guidelines for landmarks to support navigation in virtual environments. CHI '99. arXiv:cs/0304001
- Respawn. Kings Canyon and Olympus map updates. Kings Canyon, Olympus
- Epic Games (2018). Fortnite map update deep dive. fortnite.com
- Landscape research notes, with all sources for this page. with.md