Oct 17th, 2016


No Man’s Sky is probably the most disappointing game of this year, but that doesn’t mean it’s not a technical marvel. The hype that killed the game was built on the fact that the entire game would have a universe of procedurally generated planets with their own flora and fauna to make it interesting. The part that unravelled the game is that Hello Games failed to make procedural generation interesting.

Disregarding that, a fellow game developer has done some reverse engineering and created a model viewer so he could explore exactly how the code behind procedural generation in the game works and how models end up in the game.

A handful of unique assets


The way No Man’s Sky works is by creating the illusion of diversity using procedural generation with a handful of pre-created assets that can’t be left up to chance, like animations and textures. The image above is the “triceratops” model for the game, which uses the same animation combined with randomized textures and parts to create a totally new creature. This sets the stage for the wide but shallow world of No Man’s Sky.

Each animations model comes with a descriptor that describes a certain part of the body, from the head to the body to the tail. Each of these descriptors can be generated independently of the other, so what you see in the picture above is all the possible combinations of body parts generated on the triceratops skeleton. The only human-made part is the skeleton itself.

Each unique part comes with a chance probability, which likely refers to how much of a chance that part has in appearing somewhere in the world. The interesting thing here is that most of these are set to 0 in the code explored. Thus, models that are pre-rigged can generate tons of animals that look different on the surface, but use the same skeleton and animations on a code level.


Where’s all the big monsters?

Perhaps the biggest criticism of No Man’s Sky is that many gamers feel as though it was falsely advertised. The E3 trailer that showcased the world for the first time features pre-rendered assets that have been discovered in the game but are set to inactive. In fact, most of the pre-rendered rigs and animations surrounding the “big” fauna are set to inactive.

I can’t speak about general game functionality or gameplay features etc, but from examining quite all the creature models in the game files I can say that there is TONS of content, which due to the engine decisions(?) doesn’t appear very often (or at all) in the game.

This is interesting because the game developer notes that while these models are in the files, they’re not used and they don’t appear anywhere that anyone can identify them without mods for the game. This leads credence to the theory that Hello Games has purposefully disabled certain aspects of the game even after launch.