4. Optimizing Late
Donald Knuth is famously quoted for saying, "preoptimization is the root of all evil". Even as relatively experienced game developers, we have always taken that to mean: optimize after you've implemented most of your game. We've since learned that this couldn't be farther from the truth.
It wasn't until close to release that we realized we had some fundamental engine optimizations to make that we should have caught earlier. So we ended up making some massive technical changes within a week or two of launch. This included making the client prediction multithreaded (!) and making fundamental changes to networking and our server update rate.
After seeing even tiny code changes cause huge problems in playtests, the idea of making these fundamental engine changes right before ship made our stomachs churn. But we knew the game needed these performance boosts, so we kept a clear head and made the changes. Miraculously, they went over beautifully, and we had no horrible problems on launch.
But we now understand the father of algorithmic analysis to mean something closer to: "Don't optimize your system before that system is done and can be properly evaluated." From now on, we will measure and optimize individual systems as they hit functionality milestones, instead of waiting until everything is in.
5. Launch Press
We launched Natural Selection 2 on Halloween of 2012 -- exactly 10 years after the original Natural Selection mod. We didn't plan on hitting this date; it just happened. It was the only open slot on Steam before the deluge of high-end holiday shooters. We were unable to predict this day more than a few weeks in advance, so we didn't have much time to prime the press.
As a result, we didn't get much press coverage or reviews on launch, and it proved difficult to get covered after as well. We wrote approximately 600 members of the games press and dozens of YouTube channel owners. Each received a copy of the game, a press kit and an invitation to play, review, or interview us. After a full month, we finally had about 35 reviews published, but not many that were recognized by Metacritic. Our rabid fan base then went wild over a poor review and a subsequent Metacritic controversy, but that wasn't the kind of attention we were looking for.
With such a long development cycle, it was very difficult to keep the excitement or attention of the press. We are pretty inexperienced in the PR and marketing aspects of game development. Maybe we shouldn't have released our early videos six years in advance, or maybe we should've gotten a PR company to help us. It was so difficult to make a good game on new technology that we didn't have any energy or resources left to promote it properly. By the time the game was done, there was no time left for promotion anyways, as the holidays and big releases were going to blow us away.
We did learn that press people are totally overwhelmed with e-mail and that they appreciate phone calls. It's not enough to e-mail and expect them to cover you: always call. We found 37signals' Highrise to be a good way to keep contact info in one place and our efforts coordinated.

Conclusion
We are now figuring out how best to support Natural Selection 2 with new maps, weapons, etc. while also allowing us to start working on a new game. While the road we traveled was hard, we consider ourselves extremely lucky that we never had to modify our vision for the game to fit a marketing plan, publisher desire, current trend or brand. The game we set out to make is the game our players (eventually) got.
A final anecdotes sums up our experience.
When we were a cash-strapped company trying to figure out how we could show NS2 at PAX East, we couldn't believe how expensive it was to have a professional booth built. Instinctively, we decided to build our own, out of plywood. To make our hastily erected, unpainted plywood planks look intentional, we asked conference-goers and NS community members to doodle on them, permanently inscribing their forum handle on the structure that was literally holding up our game.
By relying on our community and our instincts, we had a great show. It was more work and stress than we had originally anticipated, but everything worked out fine, and no one died or got sued -- just like creating Natural Selection 2.

Development Stats
Developer: Unknown Worlds Entertainment, Inc.
Publisher: None
Release Date: October 31st, 2012
Platforms: PC/Steam
Number of Developers: 7 in-house, 11 contractors
Length of Development: 6 years
Budget: $2.9M ($1.1M pre-orders, $1.8M investment).
Lines of Code: 250,000 C++ (Spark engine), 116,000 Lua (NS2)
Development Tools: Microsoft Visual Studio 2005, Decoda, Adobe Creative Suite, 3D Studio Max, Dropbox, Perforce, Subversion, Balsamiq Mockups, Google Apps/Chat, Campfire, Pivotal Tracker, Notepad++, OpenOffice.
|
"It was more work and stress than we had originally anticipated, but everything worked out fine, and no one died or got sued"
That's all you can hope for right?
What about the Pivotal Tracker that was public during development?
This is very inspirational to an aspiring entrepreneur like myself.
The last page was really interesting; we ran into a similar problem with our iPad game last month... was very hard to get press (our first game release and no publisher I guess), but even with the blessing of Apple featuring us, our sales have dropped pretty quickly. It's nice to hear you still had solid sales even with the press issues. The app store is a bit of a "wild west" scenario... I think Steam has somewhat better content curation (or maybe just less stuff lol).
By the way was there a reason you didn't end up using the Source engine? Seems like it provides a lot in the form of network code and its UI/system/editor/feel is familiar to most PC gamers.
Our sales drop off pretty quickly in general - it's all about the sales and promotions. But even when they drop off, our long tail is still profitable so we're in good shape. I wonder if sales and updates are useful for driving sales on IOS as well?
We actually started development in Source - for one full year. Dynamic infestation was the first thing we added and it caused enough scary changes that we immediately felt like we were fighting the engine.
For iOS, it certainly helps to have sales and updates, but you're already starting from a low point of a few dollars. This also makes it difficult to advertise because if you convert someone from a click or impression, you're only making $1.99 or w/e. As well, many mobile ad networks aren't so hot on apps that cost money. If you're a free or F2P app though, then you can use the ad networks to buy users and then get up on Apple's charts (but you're going against $100k-$million of others' ad budgets).
Long tail is tough on iOS (or it seems so far) because as soon as you're done being featured, it's up to chart position and word of mouth (or ad budget)... and you're in the fray of 800,000 apps. 2 years ago it wasn't so saturated though haha.
Edit: Ps just bought NS2, going to play it later tonight :) Good thing your blog post reminded me of it haha!
Cheers!