Subnautica’s Journey from Idea to Version 1.0 on Xbox One

When I had the first inkling of an idea for Subnautica, I was sitting in my garden in here in San Francisco. We had just finished a grueling journey making our previous game, Natural Selection 2. To make that game, we had to start a company, get funding, write an engine, hire a team, and make a game – and none of that was orderly as it was just written there. That game was a labor of love, but it was also exhausting. After working for so many years, for so little money and with financial insolvency always looming, I was wondering if I even wanted to stay in games.

But Minecraft was having its revolution. It showed us that games didn’t have to be focused on conflict and linearity, but could be creative sandboxes, with untold possibilities within. Minecraft represented a whole new mindset in gaming and it was exciting. In this garden, I started dreaming of orbiting space-stations, where small teams of players could build and wire up their own structures, using minerals they scavenged by drilling asteroids. You could solder panels together and give them behavior by configuring levers, buttons, displays, sensors, and joysticks and then clumsily pilot them off into the unknown. This prototype didn’t get very far, as suddenly it seemed like everyone was making a space game (note: it always feels like this when you start on a new game). I see in my notes that we quickly and without comment abandoned the space theme and moved underwater. If Natural Selection 2 was inspired by “Aliens,” it seemed that Subnautica would be inspired by “The Abyss.”

We started prototyping in earnest. I always start with music, as that lets me tune into the feelings that I’m hoping the game will embody and create. Often that’s just a main menu at first – choosing the fonts, animating the background and finding appropriate music. That got the ball rolling, and after a couple weeks of work, a couple of us had a very-ugly-but-quite-functional prototype to send around to the rest of the company. The feedback was surprisingly positive – most people enjoyed it for an hour or two, and some people sunk many hours into it. We expanded on the stuff that worked (the scariness, the unknown, oxygen mechanics) and changed or removed the things that weren’t working (sub-building, physical-based navigation). Some of the iterations and cuts were painful, but we kept experimenting and trying to find the game’s core.

By the time the game was invited to be one of the first into Xbox Game Preview three years later, we had found it. This was our first console game, but we knew the game would be great in the living room, on a great TV and sound system. It deserved to be on Xbox One, but the hard part was making it run. We built the game on PCs and we were all new to the console world. It was pretty early, but Xbox Game Preview was too good of an opportunity to miss. We enlisted Grip Digital to help out, but the real work was yet to come. Our handful of programmers underestimated the work required to make a Unity/console game shine, but our players supported us even when they weren’t exactly used to playing unfinished, unready games. We are still amazed that our user-ratings are as high as they are when the game’s frame-rate was suffering for so long. We continued optimizing for many programmer-years, knowing it deserved the help.

Since then we brought in Panic Button to get it over the finish line and today the game is working better than ever. In the v1.0 update, we’ve increased the display resolution (900p on XB1, 1440p on XB1X), brought over all the bells and whistles from the PC version, we’ve increased the water quality and the terrain quality, we’ve reworked the UI to be controller friendly and the performance is improved.