top of page
Search

Survival Mode, Save System Overhaul, and Tackling Tech Debt in Neolithic Dawn

Greetings Hunters and Gatherers, James here with another Devlog!


It's been a while since I've given a proper update to the community — I've had a lot on my plate working through Neolithic Dawn's ancient codebase to bring highly requested features like Survival Mode while maintaining all the legacy code and quirks that come with a side-project-turned-overscoped VR survival game, built by a ragtag group of innovative and dedicated game devs in an industry shrouded in uncertainty.

The latest 1.1 update of Neolithic Dawn adds a brand-new Survival Mode, renames the original singleplayer and co-op experience to "Story Mode", and introduces support for multiple save files shared across co-op and singleplayer. Along with these new features, the update includes a number of under-the-hood changes aimed at making the game more maintainable and reducing the tech debt left over from years of struggle.


Trusting "The Process"

During the development of Neolithic Dawn, I trusted what they call "The Process." The process holds different meaning for different teams — historically, for ours, it has meant "get it done by any means necessary." This became especially true when we were sprinting toward milestones to actually ship the game. While putting one foot in front of the other and tackling each new challenge as it came, we accidentally created a monster. That monster's name is Technical Debt.

Technical debt is the accumulated cost of shortcuts, workarounds, and "good enough for now" solutions made during development. It's the kind of thing that seems worth it when there's a looming deadline, but the time you borrow to reach those goals has to be paid back eventually — and that brings us to today.


What Shipped in Update 1.1

Last month we shipped our first major update since Neolithic Dawn launched on December 11, 2025. This was the Valentine's Day update, bundled together with the new Survival Mode, a redesigned main menu, a refactored save system, and a refactored inventory system under the hood. This was a lot to drop at once, and the team never intended for it all to land in the same update or for these changes to take so long. But if we're going to maintain Neolithic Dawn and continue adding new features, it needed to be done. Major restructuring of core systems touched far more than we could have anticipated, and unraveling the mess was a big undertaking.

To give you an idea of the scope of problems we were dealing with, let's take a look at the backpack.


Rebuilding the Backpack from the Ground Up

The backpack in Neolithic Dawn was based on a system of bubbles that could hold items. Simple enough in theory, and it worked — for a while. Until it didn't.

In the original system, items stored in your backpack were not represented by an item type and quantity the way you might expect. This may not make sense to the average gamer, but devs are going to facepalm at this: we had a single concept called a Place Point — a point at which a grabbable item can be placed. This is how crafting works in Neolithic Dawn; you attach a spear blade to a stick and the two become one. Great for weapon crafting, but terrible for resource management.

The items in our game were literally attached to the bubbles they were stored in, then disabled. To the player, this looks normal — one item goes in, one item comes out. But for the game? Disastrous. Because every item is a networked object, and there's a fixed number available in the pool. That number is lower than you might think, due to limitations in our netcode (a story for another day), object pooling, and performance considerations on Quest 2.

So when one player has 20 apples in their backpack, things would start getting weird. Apples would stop growing on trees. Desync and late joiners would cause items to be stolen out of another player's backpack or appear to exist in two places at once. Weapons would disassemble and respawn elsewhere. Basically, things would just get really weird.

To solve this, the new backpack uses a data-oriented approach — storing the kind of item, the quantity, and all possible attributes. This way, a half-eaten cooked apple can be removed from the backpack and spawned on the fly without staying dormant, taking up memory, and clogging the pool. Because of how many systems depended on the way things worked before, it took time to make it possible to track all this information, apply it properly, and ensure it was synchronized for all players each time someone pulls anything out of a backpack.

The result of all this hard work? Everything looks exactly the same as before. Only now it works in a completely different way that you would never even realize.


Wrangling the Save System

The backpack is just one example of a prototype feature that ended up making it all the way into production — because it worked, and we were focused on things that didn't work for too long. Another one of these areas was the save data, which was its own boss fight.

We did what we could for this update to migrate save data into a compatible format, and for the sake of legacy support, did not change it as much as we probably need to. What we did do was fix the front-end issues that made saves hard or impossible to find and caused data loss.

Previously, there was one hidden save for singleplayer, a separate tame file, and another file storing all backpack items. Then there were co-op saves identified by a user-given name, and yet another hidden save for campfire hangout. Adding another game mode on top of that was going to get hairy.

We also found that players wanted multiple saves for themselves, the option to start a new game without clearing their existing data, and the ability to invite a friend into a game they started solo — or vice versa. This required a full redesign of the menus to give players a convenient way to navigate, erase, and create new save files across two game modes: Story Mode and Survival Mode. We also had to make sure legacy Story Mode save data could be loaded by clients despite previously being in a different format, so we added migration logic to convert old files into the co-op format for compatibility.

The result? You can still save the game. Wow, what an amazing feature! As you can see, a lot of the hardest work goes completely unnoticed and unappreciated — until something goes wrong.

"If you do everything right, people won't be sure you've done anything at all."

The Valentine's Day Crunch

Maintenance and cleanup aren't the most marketable things in the world, despite accounting for the bulk of the two months between launch and the 1.1 update. So that's why we bundled it with Valentine's Day — to pair it with some holiday cosmetics and spotlight the Survival Mode addition, since players have been asking for it since Day 1.

However, tying our deadline to a single-day holiday turned out to be a nightmare. That's when I found myself switching planes from Houston to Istanbul, on my way to an Eastern European country most of my friends had never even heard of, while trying to make final UI and localization fixes for a build that would be a futile marketing effort if we missed it by even 24 hours. Once again, we were racing against the clock.

As a result, the Survival Mode / Valentine's Day Update didn't get the QA love it deserved. It wasn't ready, and it left dangerous pitfalls in the menus and unexpected issues in the most unexpected places.


Looking Ahead

Patch 1.1.2 fills many of those holes so the journey can continue. And today, I pledge to all of you: we're committing to more frequent, smaller updates. We'll continue to balance our tech debt with new features, bringing you something new every few months without creating problems for future James & Team.


Thanks for bearing with us — the real survival game is the friends we made along the way.

Neolithic Tribe Strong!


-- James

 
 
 

Comments


© 2023 by Neolithic LLC 

bottom of page