Order, Chaos, and Scale in Elite Dangerous

The thing I like about the skybox in Elite Dangerous is that it’s created dynamically. Every point of light you can see is a star that you can visit. That scope requires the kind of flexibility that you can pretty much only get with procedural generation, even if Skyrim does try.

The same thing is true in the opposite direction, now that Horizons is out: look down at that rocky planet below, and every crater is a place you can visit up close.

image

Since that’s far too much data to store, this requires that the generator be predictable and deterministic, at least for the planet surfaces and star characteristics. (I have no idea if the Stellar Forge is deterministic, since they could get away with caching less than 0.01% of the systems, which is all players have explored so far.) 

Continuing one of my themes, this requires order.

The two Frontier games handled the generation of the galaxy by using a bitmap of star density across the galaxy to define how many stars should be in each sector. Elite Dangerous uses a similar technique for the density of the galaxy, only extended into three dimensions. Only instead of just tracking density, it also tracks some of the other characteristics of stars, like metallicity. With a catalog of 160,000 known objects overlaid on top, there’s a heck of a lot of stars to explore.

image

It’s not perfect: astronomical measuring uncertainty has left some anomalies in the data. There’s some dense lines of stars that are artifacts from deep sky scans (such as a dense line of stars near NGC 1333, via the 2MASS data). But in general, if you see a star from Earth, you can visit in the game, which is a really cool property all by itself.

The sheer scale of the generation introduces another imbalance, one that is less noticeable in smaller generators: there are so many stars that individual stars matter less and regions of stars matter more. At this scale, you need biomes and landmarks to make sense of things. 

Minecraft has the same issue if you travel far enough, but its block-scale interaction means that the basic language unit is granular enough that you won’t usually explore enough to see the scale at which the map blurs into noise. In contrast, in Elite it’s not hard to scroll the map to a region filled with unexplored, undifferentiated stars. And the basic unit of interaction for exploration, before planet-landing was introduced, was planetary bodies. 

image

With planet-sized interaction units, there isn’t as much scope for contrast to develop. There are patterns to learn, like how to find planets in the goldilocks zone, or which planets are worth more to scan, but there aren’t a lot of treasure maps for the stars themselves. As it turns out, what you really need are galaxy-scale biomes to give the terrain some meaning.

Unlike with some other useful concepts, this isn’t one that science fiction has done much imagining for us. Presumably, the real-world galaxy does have regional differences that have some importance, but since they don’t presently have much practical effect on us, there aren’t a ton of stories that explore that as an idea.

image

The landable planets themselves do a decent job at this: while there’s a fair share of pock-marked rocks, you do run across things like this Mars-ish planet that has a recent, massive impact crater that affected most of its hemisphere.

image

And it is impressive to be able to glide down towards it, watching it gradually fill your field of vision.

Though features that big are hard to see when you land in the middle of them. 

image

Tooling around on the planet surface is solid, though I’m a terrible enough driver that I’ve learned to avoid tight crevices. (the SRV is rear-wheel drive, so reversing is sometimes enough to get it unstuck.) I really like the indirectness of the waveform sensor. Indicators that give vague directions are a good way to interact with procedurally generated spaces: they keep you from getting utterly lost, but encourage you to pay attention to the space as you travel through it.

I haven’t noticed any significant regional gameplay differences, though. The inhabited bases are mathematical points lost in the geometric vastness. Presumably, different parts of a planet might have different resources, but in practice there’s mostly a different distribution of rocks. The scale works at the local level and the planet level, but the middle octave doesn’t have much differentiation. 

image

On the galactic scale, there are a few regional aspects. There’s the bubble of human-settled space, of course. Recent updates have added some mysterious artifacts of possibly alien origin, which seem to be in certain regions. I hope they add more things like that. But, more fundamentally, the critical thing for galactic exploration is fuel.

You can only harvest fuel from certain stars–mostly main sequence ones that aren’t too cold or hot. And the maximum distance you can jump between stars is limited by the characteristics of your ship. Therefore, any feature of the generator that affects distance or stellar composition will also directly affect an explorer’s experience of galactic topology. The gaps between the galactic arms and the vast regions of young stars become significant obstacles to be overcome.

And, of course, the sky itself can change significantly if you travel far enough…

image

Which means that the galaxy does have a few landmarks: black holes, pulsars, the spiral arms, and especially nebulas. Real-world nebulas can be visible from hundreds of light years away, so naturally the in-game ones serve as useful reference markers.

Still, it’s something worth thinking about if your generator is creating a lot of space: are there enough different scales of variations going on? As the player zooms in and out of the map, are there points where it just looks like noise, or are there distinct structures at multiple scales? Does the player have a reason to care about what’s over the next hill, or the next hundred hills? Are there landmarks that the player can use to navigate?