September 10th 2014
We are getting close! This afternoon we will kick off a Release Candidate build of Arena Commander V0.9. What that means is that we presently believe that our engineering teams should have eliminated all of the remaining blocker and critical bugs identified by our internal QA teams.
What happens next? The RC build process takes roughly eight hours. For those unfamiliar with software development, generating a build is sort of like baking a cake: we’ve put together all the ingredients into a pan and it’s now in the oven. Later tonight, we’ll take that piping hot copy of Arena Commander V0.9 and hand it over to QA for a final round of internal testing.
Why does it take so long to bake this cake? As our codebase and asset sizes grow, the amount of time to build the code with full optimizations and do a full clean build of the assets into the pak files takes longer and longer. (We do a clean build for release candidates for QA to test to avoid compiler and toolchain bugs with incremental builds.)
Then, to make the download smaller and faster for our backers, we run a patch building process that compares the previous release’s files to the new release – this binary delta comparison is an expensive process that also takes longer as the size of the code and assets grow. This patching process makes it so backers don’t need to download the whole game (or even whole files that have only been slightly changed) for the new release – just the differences.
Next, we need to distribute this patch data to all of our studios over the Internet so QA and developers throughout the company can test the build. Unfortunately, all of these steps added together makes the whole process take many hours.
But while it takes eight hours today, the system will change in the future as Star Citizen gets bigger and more elaborate! We plan to make the process faster to decrease the build->test->fix->repeat cycle for release candidates – we have efforts both in-progress and planned for the future to decrease the amount of time the full clean release build process takes. These improvements will also help development efforts earlier in the development process by increasing the rate at with QA and developers receive test builds.
Until that happens, we do have an ace in the hole that helps maximize testing time! Since we have QA teams in Manchester and Austin, we can effectively test through the night. The UK team will pick up the Release Candidate to put it through its paces. By the time the teams in Austin and Santa Monica get into work on Thursday, we’ll know how that testing cycle went. Should everything work as expected, the build is then propagated to the public release channel.
At that point, we’re really, really close… but things can still go wrong. At this step QA will do a ‘real life’ test of the game: downloading it from the server just like a backer to make sure it works correctly in the wild. It’s rare, but we’ve seen new blockers appear at this step in the process before: aspects of the real server environment we can’t emulate in the office that make themselves seen at the last minute.
Once QA gives us the final ‘thumbs up’ on the propagated build, we will flip the final switch and the patch will become available. If all goes as planned then you can expect to see Arena Commander V0.9 immediately thereafter. Should the unexpected happen, our bug smashers leap back into action to try and fix issues as quickly as possible… and then the Release Candidate cycle will begin again. We will keep you updated as to the status either way!