Sunday, February 18, 2018

Mapping the sea floors of Subnautica

This post spoils the core gameplay and player progression in Subnautica, but not the specific story nor scripted plot events.

Subnautica is a long open world survival game set in a vast deep ocean. In it, you have to forage for food, manage your oxygen when diving into caves and deep sea trenches, and collect resources to build your own underwater base(s) and submarine(s) to find out What Really Happened Here.

Much like the other first person indie survival game The Long Dark, Subnautica features no combat, no world map, and essentially no NPCs or quests to complete for anyone. The few lethal weapons are either cumbersome and annoying to maintain (poison gas torpedoes must be crafted and loaded) or practical but anti-juicy (your knife)... but most importantly, unlike The Long Dark's focus on hunting, killing creatures in Subnautica *never* yields any reward or drops -- even when the game confusingly asks you to collect shark teeth but killing sharks never yields any shark teeth.

(Why? Well, there's a few story threads about how use of force cannot get you what you want, as well as a faint anti-capitalist / anti-colonialist message. But the smoking gun of authorial intent is in the credits: a dedication to the families of Newtown, Connecticut. The design lead has also talked about their no-gun philosophy.)

PC Gamer already did a nice roundtable about Subnautica's early climactic story moment, so instead I want to focus on Subnautica's most interesting systemic feature: its depth-based 3D level design, and implications on the rest of the game.

Without combat, Subnautica ends up feeling like a watered-down (hahaha) stealth game. Because there's so much repeated traversal across the world and no practical way to disable the strongest enemies, you have to be able to sneak past most of them without much trouble. Like most other games, the best tactic is to do what speedrunners do: just move past your enemy and ignore them, and you can easily leave their "aggro" radius before they catch up to you.

Stealth games also tend to tune their AI to be easily fooled by height differences; in dedicated sneaking games like Dishonored, walking along a ceiling pipe suspended above a guard makes you practically undetectable. This height-bias is exacerbated by console-fication in first person design, which discourages verticality because quick and accurate up-down looks are more difficult to perform with gamepads.

Now, take all these factors, and then also let the player basically fly around and change their height at will. After the initial shock of a weird creature encounter wears off, every hostile monster becomes a nuisance instead of a perpetually engaging design element. Maybe that's just the curse of stealth games?

So your real enemy is the land itself. Navigation becomes its own form of combat that threatens to kill you. Subnautica ends up being even more cruel than The Long Dark, and never provides you with any in-game world map nor any mapping mechanisms. This omission helps exploration feel genuinely dangerous and confusing, and also lets the devs sidestep the problem of legibly mapping a huge 3D terrain for player UI, but this decision has further repercussions for navigation and level design. Caves become mini-bosses; deep trenches become mega-bosses.

And when the sun sets, the world turns pitch-black and you must resort to feeling the topology of the landscape. You begin internalizing navigation strategies like, "ok there's that pointy reef and the round hill so I should turn left and keep swimming until I bump into another wall, then swim over until I can see the kelp forest, then swim down into the caves at the bottom."

As fun and mysterious it is, this darkness and heavy use of fog also means it's easy to get lost and miss important landmarks or key locations -- so in terms of level design, the designers usually have to place the key "wrecks" (broken parts of a crashed ship, with explorable interiors) in the middle of each biome, and then just pray you see it. And if you still happen to overlook it? Well, just look at your map screen and remember to come back -- oh, right... (In contrast: the extreme edges of Skyrim or Horizon Zero Dawn are often the most interesting places.)

In open world games, the map screen helps you measure the scope of the game world. It lets you say, "I'm at the northern boundary of the game world, and I need to go south-west." Because there's no in-game map here, there's no easy way to understand Subnautica's boundaries, which feels unfair when crossing into the surrounding dead zone will spawn a giant ghost monster to eat you with little warning.

(PS: it'd be nice if open world games flipped this map progression more often, to instead confine you to the safe edges and orbit toward a dangerous end-game middle. Assassins Creed Origins actually does an interesting spiral pattern here.)

The designers attempt two stop-gap solutions to ward you off from the edges: the terrain suddenly drops off with no visible floor, and your AI assistant warns you that it's very deep and dangerous, etc. but it's impossible to differentiate this dark dangerous void with any other dark dangerous void that you're actually supposed to explore, e.g. the mountains or dunes areas. Without a world map unambiguously giving me this information, Subnautica cries wolf but punishes me for not heeding its warnings. ("Don't explore this dangerous deep area!... Oh, but definitely don't explore *wink* this other *wink* dangerous deep area *wink*")

(The compromise I would've attempted in Subnautica -- put a very vague and incomplete world map poster in several ruined sea bases, and let the player take an in-game photo of it for reference.)

Some last few notes:
  • The interior level design, within various wrecked parts of the ship, is pretty cookie-cutter and disappointing. I understand they had to match the interiors of player-built bases for consistency, but it's still sad to wander these boring bland boxy plastic hallways from the same devs who fostered the geometric genius of the Natural Selection level design community. They feel like UDK levels waiting for an art pass.
  • re: player progression... for the first half of the game, new SOS beacons appear every hour or so, to gently push the player to explore different areas / give short-term exploration goals. But by the second half of the game, there's no more beacons and no more guidance. This disorientation is interesting, but more needs to be done to show that it's intentional, and maybe even script a few fallback beacons on any unexplored wrecks in the mid-to-late game. (I played for ~40 hours and apparently I missed like 1/4 of the whole game world? Again, no world map.)
  • A bit of technical analysis for Unity devs: Subnautica runs on a custom source version of Unity (according to the log file, Unity 5.6.2p4-UnknownWorlds) and their main level design tool was Voxeland, an asset store package that lets you sculpt and export 3D voxel data into sectors / cells, and process the topography into a more natural-looking marching cubes mesh. It also seems like they heavily engineered their own optimization and culling systems, especially for batching the terrain LODs together, but I've read that it's still running at like 20 FPS on Xbox One. Yikes, I think I'm never going to make an open world game...