State of Development: June 2013
Another month has passed in the Unknown Worlds office, and Natural Selection 2 continues to be improved, tinkered with, and polished. Continuing on from a tradition set with the March, April, and May ‘State of Development’ updates, here is a summary of some exciting things that have been happening in June. Let’s start with Art, then move to Engineering, and finally Gameplay.
NS2 maps are immensely complex creations. They require months of painstaking work by teams of mappers, all the while undergoing intense play-testing. Cory directs the artistic vision of maps through concept pieces, and then gives feedback to the mapping team as they set about fleshing out that vision.
Biodome is on target to be released in late August / early September, and areas are starting to look truly organic. Less and less of the map is a greybox, though layout adjustments continue to be made as deemed necessary by the map playtest group.
The world’s reserve currency is currently the United States Dollar, but central banks everywhere will do doubt soon be switching to a new and much more valuable currency: The Steam Trading Card. These cards have taken the PC gaming world by storm, and it is impossible to avoid calls for their inclusion in NS2. You will be happy to hear that we have been working on integrating Steam Trading Cards since the start of their beta period.
A full set of exquisite cards has been commissioned, as well as profile backgrounds and all the other gorgeous goodies one would expect from a game supporting this cool new system. Each card is a completely original, never-before-seen render featuring the characters of the NS universe. We expect to have the cards integrated by late August / early September.
In June, NS2 switched to a new method for handling it’s Lua gameplay code. This method is called the ‘Lua Just-In-Time-Compiler,’ or LuaJIT. Basically, it works because magnets. In the past, NS2 has been called out as being not the fastest running of games. LuaJIT has brought huge strides in performance and gone a long way to helping NS2’s performance image:
The above chart is, at first, a little bit hard to read, but stick with it, there is a good reason we are not just giving you a blunt statement like ‘average fps is now x% higher.’ The chart represents the true performance benefits of switching to LuaJIT, benefits that cannot be expressed properly with such statements.
Along the x-axis is the time taken to render a frame, in milliseconds. The lower this value, the faster the game is running. To convert these values to ‘Frames Per Second,’ compute 1,000 / frametime. For example, a frame rendered in 10ms is notionally equivalent to 100fps.
Along the y-axis is the proportion of frames in the sample rendered in a given number of milliseconds, provided by the x-axis. For example, we see that 30% of sampled frames in build 249 were rendered in 8ms (For the purposes of this analysis, all sampled frame-times were rounded up to the nearest integer, or ‘whole number.’)
Armed with this knowledge, two things become apparent.
1. Frames rendered in Build 249 tend to cluster towards the lower end of the x-axis, indicating that they tend to be rendered faster -“Higher FPS”
2. The time taken to render frames is much more consistent in Build 249, with a greater proportion of frames being rendered across a smaller range of time.
This means that not only did Build 249 make NS2 run faster, it drastically decreased the inconsistency of rendering that players perceive as ‘jitter’ and ‘hitching.’ This particular sample was collected on a high end machine, other samples have been collected on low end and mid-spec machines, and Build 249 has demonstrated the same characteristics on each. No matter what kind of machine you run NS2 on, you got significantly higher and more consistent fps out of build 249.
Yep, that is a Linux Mint desktop, running the MATE desktop. And that sure looks like Natural Selection 2 running on Linux, does it not? Now for the second:
You might be able to guess that this is a Linux Ubuntu desktop, running the Unity interface. These screenshots were taken on Dushan and Max’s work machines, respectively, at the same time. They show that not only is Natural Selection 2 now running on Linux, we are even starting to successfully trial actual networked play. In theory, we could have connected Windows players to the same server.
This does not mean we are about to release NS2 on Linux. But we are getting damn close. This is real, we are aiming for true SteamPlay Windows / Linux / Mac support. Max and Dushan are working full time on bringing this dream to fruition, and we can’t wait to share more progress with you over the coming weeks.
At UWE, want to support the way people choose to play our games, whatever that may be. It’s a fact that people enjoy playing NS2 in a competitive setting, and it is our belief that one of the best ways we can support the competitive scene is to facilitate ‘halo’ events that give players opportunities to play and spectate NS2 on the world stage.
In June, we announced the 2013 European Open. The grand final of this event will be held live on stage at Insomnia49 in the United Kingdom. The two best teams in the Open will receive flights to and accommodation in the UK, and a chance at taking home a community funded prize pool that is currently nudging $3,000!
June also saw the introduction of Build 250, the most sweeping set of changes to NS2 gameplay in a long time. While it does take some getting used to, all indications are that Build 250 has improved the diversity and quality of play. It is too early in the piece to do any statistical analysis of the effect of the changes, but Andi is closely watching the adoption of Build 250 and will continue to iterate on it over the coming months.
That is it for the June State of Development. Games do not have to stop being made once they have launched, and everyone at UWE is truly enjoying have you with us as we continue to improve NS2.