Many of you have been first hand witness to the frantic post-launch struggle of Shadowrun Chronicles as we patched time and time again only to still end up with a lag when playing. Now to the players this looks like we are constantly running against the same wall until our heads bleed and have only managed to make small dents in said wall. From the inside however, it is a completely different story and we wanted to give you an inside perspective on what is going on.
In the last 6 days we have applied an increasingly large number of fixes and changes, from optimizing garbage collection, sequential threading to deep-copy of data to wrenching open our middleware, which actually contributed to our issue in slightly invisible ways (think of middleware as an engine under a hood, so you don’t always see what is going on exactly but you can hear the engine stuttering)
Each of the changes and fixes was profiled and supposed to bring a good amount of improvements – and it did – we are winning the battle against lags millisecond by millisecond, but it is a war of attrition. This is exacerbated by the amount of time we spend in lag and new players getting bad impressions while our Steam review ratings plummet. Now we have a simple but cruel choice: Do it properly and test a solution for days while our game rots away in lag-land or pushing a fix online with a minimal period of testing, which however results in a bit of profiling and a sanity check if the game explodes immediately or shortly after starting the servers - tempered by a judgement call by our coders of “how dangerous it is versus how likely to fix our problem”. So we send out an annoyingly high amount of patches and updates with annoyingly small effect and are basically really field testing things on the live servers, which we all know we should not do, but then we are between a rock and a hard place. This is why online games always launch as beta…
All this time, our brave coders fight invisible foes such as a maximum user cap in a license that then puts the brakes on certain parts of the performance and carry the burden of working above and beyond the call of duty while being rained with derision by angry customers. The rest of the team watched in agony and frustration as we could not do anything to help and all other things took a back seat to solving the problem while our sales and our users patience dwindles away. Imagine the morale in the team! And still we worked at night, with the community team taking the brunt of the damage while taking turns to be there 24/7. I want to personally thank them and the remaining team for enduring and persevering. You guys and gals are the finest team I have had the privilege to work with. Even though we fragged this up you have been exemplary in every aspect.
So what now? Well, yesterday’s update resolved a lot of issues (reducing frequency and of lags), but foreseeably opened others exploding our servers after around 3 hours of operations. Today we rolled out two server updates – the second one of them dealing with the infamous garbage collector and settings. As this pushed CPU load to a baseline of around 30% and lag spikes appearing again, we reverted the changes…only to see lag creep in 2 hours into operations. So now we relaunch servers every two hours…because this is the only option we have.
Tonight we have finally accepted that “hoping this will be the fix that really does it” is simply wishful thinking. We have run out of silver bullets and we will focus on making the frequent server restarts automated and manageable, creating schedules and having automated in game announcements preferably everyone can see, so everyone can live more comfortably in the emergency state. This should create some air for us to breathe and look at our data and find new options to improve performance.
As a personal note, many of you – even those who have been critical of the game – have been incredibly supportive and understanding in the past days. Helping us, explaining things to others and cheering us on, honoring the work and dedication we have put in. This literally is what has got us through this week (other than coffee and sheer stubbornness) and we are deeply grateful for that.
So let’s see what the next days may bring and keep our fingers crossed.
Oh and Legend Run Event No.3 with none other but Jordan Wiseman himself happens on Friday 3 pm PST or Midnight CEST! Lag or no lag!
See you in the shadows
This has been the roughest week of our collective studio live – and we had a number of rough patches as some of you know. We are a small team and creating an online game – regardless of whether it is a massive open world MMO or a more modest game like ours- is a big undertaking. When we launched, we were reasonably certain, that everything worked out. So what has gone so horribly wrong and have we all been blind or stupid? If you want to understand what happened, below is the rundown on things. If you are not interested in explanations or excuses, just scroll to the announcement at the end for how we try to at least make amends for this clusterdrek.
We know the risk associated with online games, especially if it is structurally and technically an MMO (in the sense of most of the AI, Logic, Persistence and all the other stuff that makes the game operate being done via server). This is why we have been extra careful before we released Shadowrun Chronicles – the game had been running for months before launch without any issues (as our Early Access and Kickstarter players can attest to), we did a series of Mass Tests (simulating thousands of concurrent user sessions) and a day prior to launch we invited our Early Access community to come in droves by allowing them a day head-start for their characters (whom the previously had to endure to see wiped time and time again as we balanced and reworked the game). We upgraded our hardware to be extra safe, even though our servers rarely went above 5% load.
Come launch day and things work without a glitch…until they suddenly don’t. Shortly after our studio fell victim to a district wide blackout at the most inopportune of times, our external server inexplicably slows down. The source for this was quickly identified (once we were back on line) – a specific task called “garbage collector”, which cleans up leftover allocated things in the memory and with the amount of players suddenly has too much to do, which results in things cueing up and eating away the hardware resources for every other process (like walking from a to b). So we reduced the amount of garbage produced, patched, and off we go…
Only to see lag creeping into the game again. Looking at the server actions and our logs, it turns out our servers clog up with threads they cannot compute fast enough, leaving ever more threads hanging, which results in the game becoming ever more unresponsive. So, what do players do, if the game does not react when they click on something? Right, they click on it again and again and again…creating more commandos for the server, who is struggling as it is. Vicious circle anyone?
Now these issues are something that accumulates over time…which is almost impossible to test without actual people doing a thousand actual things which differ from our mass tests. It also exposes problems by adding a magnitude. Things that worked badly but did not register when we had a little over hundred players concurrently suddenly explode with 500 players. Take our hub: To be able to see other players running around, the server needs to collect the “commands” from every player and update every other client about the movements of each character in the hub. Previously that was never an issue. But with dozens of hubs open the small things stack up. And if they do, the server gets clogged up…and if that happens long enough it simply cannot work through commands fast enough…resulting in lag. One of the patches has reduced the size of each command (so the amount of data the server has to compute) to 20% of what it was and optimized the associated logic at the server, so it is 40 times as fast as it has been before.
So why didn’t we do this before? Simple: It wasn’t a problem, so we weren’t fixing it – every change of a running system has the risk of creating new bugs and if it ain’t broken…
The example above is but one part of the complex and interwoven web of logic and relations and we wish we could enter that code Shadowrun style and hack our way through things with ease, but unfortunately that is not the case. Instead our 6 coders and IT as well as QA have worked day and night for three days to correct problem after problem, but as with any intricate webs, when you start pulling one strings, the whole thing changes and transforms. So every patch improved parts of the problem…only to see another issue creep up. And we may not have seen the end of this, as we continue to fix things. And it does not help if people don’t sleep for over 40 hours…
TL;DR: This is fragged and we are desperately trying to fix it, but we are stretched to the limits.
As a way of saying sorry, we want to give everyone who endured this week of constant patching and those who just gave up a little gift and ask them to give the game one more shot.
Mid next week, every user will receive three things:
- A free additional character slot (so if all that patching messed up your builds, you can start a clean one)
- Two pieces of cultured bioware – these cost zero Essence so you can use them with any character even mages or make sure you cybered up street sams get that extra boost they have been looking for
- A flamethrower, so whenever you get really angry at us for that drek, you can just incinerate a few enemies and think of us.
We are still working on creating a PvP and Endgame mode – most of this is design and thus not overly affected by the massive amount of work our coders had to do, but then our coders will need some sleep after this marathon.
Again, we are sorry for this and after putting years of work into this, it is unbelievably disappointing for us to see this happen and leave a bad impression.
“After spending many, many years playing the pen-and-paper version of the game, I've found that even in Early Access, Cliffhanger Productions' multiplayer-enabled, tactics-focused take on the tech fantasy universe is the purest Shadowrun videogame experience on offer today.”
“The addition of co-operative gameplay could be exactly the kind of addition that the Shadowrun franchise needs.”
“Shadowrun Chronicles is XCOM with magic”
Under License of Microsoft. All characters and visuals copyright Cliffhanger Productions Games GmbH 2014
You can use this widget-maker to generate a bit of HTML that can be embedded in your website to easily allow customers to purchase this game on Steam.
There is more than one way to buy this game. Please select a specific package to create a widget for:
Enter up to 375 characters to add a description to your widget:
Copy and paste the HTML below into your website to make the above widget appear
Sign in to add your own tags to this product.