Hi Max, thanks for giving us the time to ask you a few questions. Last month, we saw a few interviews with Charlie that were released on some of the community sites. Today, however, we've decided to talk to you, the Technical Director of Unknown Worlds Entertainment, in the hope that you can answer our questions about the game engine. Firstly, can you tell us whether you'll be working on the engine after releasing NS2 and might it even be incorporated into another game?
Our plan is to continue to support Natural Selection 2 after the release with periodic updates. These updates will include new maps, new game play features, and most likely engine and tool enhancements. I don't know what those will be yet, but like any game, we've got a huge "wish list" of features that we probably won't be able to complete for the initial release.
Because we have such a small team (and we want to stay that way in the future), we plan to reuse and built upon our existing technology for future games. One of our core tenets when developing anything is to constantly gain momentum by building upon what we've already created. To this end, our "engine" is actually composed of two layers. The lower level is the bigger of the two and contains very general functionality that any game or 3D application would need. The upper layer is what we call the "shooter engine" and ties that general code into a first-person shooter engine. To complete the picture, on top of that is the game layer, written in Lua, that has all of the Natural Selection 2 specific code. For future games, we'd replace the top or top two layers, but maintain the lowest layer.
When the promotional site was opened, we saw that the system requirements were surprisingly low but we all know that the minimum requirements don't always allow for comfortable playing. In which case, what are your predictions for generally acceptable requirements, assuming medium details, to run the game smoothly? (with 32 players on server)
For most games, the published minimum spec usualy means that the game will technically run, but your experience is going to be horrible. I have to admit that I've also been guilty of this for games I've worked on in the past.
When we set the minimum spec for Natural Selection 2 I really wanted to make sure that we did better than that. So my goal is that someone with DirectX 9 class hardware will have a great experience with the game, even if they have to turn down the graphics or other settings a bit. I posted the 3D Mark score for my development machine in one of our blog entries (http://www.unknownworlds.com/ns2/news/2008/10/engine_video_followup); whenever people ask me what they should buy to play NS2, I give them that.
When you decided to write a completely new engine for NS2 there was doubt surrounding your chances of success but many were happy to see the source engine abandoned which is often said to be imperfect. What are the big advantages of half-life / source engine and the HLTV / sourceTV? Are you planing to implement something similar in NS2 and if so, will it be ready for the release of final versions or will we have to wait patiently (like for hltv up to NS 2.0)?
There can be a lot of challenges with using an existing engine, but obviously there are a lot of benefits too. When we gave up Source, we gained a lot of flexibility, but we lost all of the great features that Valve has added over the years to their engine.
Competitive matches and large scale spectating are really important to us, but unfortunately we won't have support for that in the initial release of Natural Selection 2. Generally when we're evaluating features, we ask ourselves "would we hold up releasing the game to get that in?". If the answer is no, we plan that for post-release.
This type of spectating functionality is one of those wish list tasks, and a prime candidate for and early update. In fact, there's a host of competitive-related functions that we've talked about rolling out in an update. You'll have to wait to hear more about that though.
Many players have already pre-ordered NS2 and will be able to participate in the alpha and beta. What is your opinion, as a programmer, about making a public (but not open) alpha version and what are your expectations from the testers around the world? Are you looking for an opportunity to find bugs or for help in balancing the game?
A big group of testers is really important for shaking out exploits, bugs and compatibility issues. But getting useful bug reports is hard enough from experienced and dedicated testers, so I don't expect anything out of people in the alpha/beta -- just that they play, try to have a good time, and to understand that there will inevitably be bugs and other problems.
We have an automatic crash reporting system that we'll use with Natural Selection 2 to help gather accurate information about problems people are having during the testing phase. Most likely we'll extend this to capture other types of issues as well.
Balancing will definitely be a big part of the alpha/beta. Charlie mentioned to me that for Natural Selection 1, it was hard to evaluate the balance until a considerable number of people were playing. The wide scale testing of the alpha will really be his first opportunity to adjust things based on those real-world playing conditions, and I'm sure he's looking forward to that. I personally find releasing anything terrifying!
Thank you for your time, Max! Those answers were just what we needed and we're looking forward to another interview soon!
Bring it on!