Skullgirls Mobile has recently received a brand new simultaneous competitive multiplayer mode, the latest extensive update among many. We had an opportunity to sit down with members of the development team, Hidden Variable Studios, and discuss the journey to this point, as well as plans for the future.
When it comes to adapting games for other platforms there are some types which transfer more naturally than others. The ferociously finger-drumming fighting genre is easily one of the hardest to port due to the finesse and response required by the inputs. Skullgirls Mobile historically tackled these issues with an input redesign, and has continued to go from strength to strength since.
Above: The AnimeExpo 2019 Skullgirls mobile PvP Finals (Syro [LEFT] vs CloudPunch [RIGHT]), from Skullgirls Mobile's Youtube Channel
The redesign of input was utterly key to Skullgirls Mobile's journey, but there's a danger when you're changing things as essential as inputs to continue changing more and more. Some elements are more criticial to retain than others, Charley Price, Game Director, explained: "Early on in the development of Skullgirls Mobile, we had to determine what core gameplay concepts were absolutely necessary to include if we wanted to capture the feeling of a fighting game successfully while at the same time not alienating players who may not have seriously played a fighting game before.
"As such, we focused on a few critical areas: creative expression through combos, a wide arsenal of movement options and attacks, rock paper scissors style mix up options, etc. By building on the existing Skullgirls framework, we were able to leverage a lot of classic fighting game features (wall and floor bouncing, action cancels, etc) that ensured that every fight would play differently and would allow players to experiment with timing and collision properties for their moves to create their own combinations as the fight played out.
"From the get go, we wanted to avoid complex on-screen buttons (like d-pads) for input and instead wanted to lean into mobile-native controls. It was important that the game felt like it was crafted to be a mobile experience from the ground up, as opposed to an awkward version of a console experience. In light of that, some staple fighting game mechanics (like jumping) proved to be more complex than necessary, and we felt we were able to capture the necessary gameplay depth without it."
With the inputs redesigned for a mobile-focused playstyle, Skullgirls Mobile started developing a wide, engaged community. At that point, the team had to lift their gaze toward future plans for the game. New modes, characters and balancing patches followed, however there was a true thirst for online multiplayer.
Those of us who play console or PC games might take multiplayer implementation for granted. For mutliplayer to work in realtime there needs to be a constant flow of information from each player to the other. In the case of shooting games this means that location, direction and frame of fire need to be detailed - and I'm sure we all know what it feels like when realtime games stammer due to server/connection issues. Fighting games, which are based entirely around timing, inputs at exactly the right frame, and careful movements, seem like a recipe for disaster when it comes to the risks of shoddy cellular connections and weak WiFi.
Liam Orr, Game Designer (and resident fighting game pro), expanded on the subject of the GGPO integration and netcode that they used. "GGPO (and all fighting game netcode) works by telling the opponent what inputs you have pressed, and what frame you are pressing them on. You do not need to tell your opponent’s device that your character is in the middle of doing a punch attack at a specific point on the screen - this is never communicated directly. Instead, we tell the other player that we pressed the punch button, and it’s up to the other device to make sure that input is applied to the character we are controlling.
"Since the only thing we’re sending between devices is what inputs we’re doing and when, it’s important that the two devices run the game the exact same way - this is known as determinism. Without determinism, all it takes is for one tiny thing to be different and two devices can and will fall out of sync, causing the gameplay will become inconsistent for both players. In light of how airtight this needed to be, there was a lot of mobile-specific work that we needed to do to ensure that experience was fully deterministic between all devices. For example, the “top of the screen” location (which we use for spawning objects above characters) was different for an iPad running in a 4:3 aspect ratio compared to where the top of the screen was for an Android running at 16:9 aspect ratio."
As such, there's a lot to juggle in order to get realtime mutliplayer running between two players, even before the added variable of different resolution devices.
Liam then moved onto detailing GGPO, "The real benefit of GGPO is how it can reduce the sluggish input lag that you experience when playing other fighting games online. GGPO works by allowing you to control your character as if there was no extra lag added from online play. For example, you tap the screen to do a punch input, and that makes your character punch the opponent in front of you just as quickly as it would happen offline in local play. Sounds great, right?
"Here’s the catch! Since you’re not taking the lag from the online connection between you and your opponent into account for your own inputs, that means we haven’t received the input from your opponent yet for that frame. Were they blocking when our punch connected? Did they stop blocking? Did they perform an attack of their own and hit us first? Only time will tell!
"Once the input from your opponent arrives over the internet, GGPO will load the game back to the frame it was at when the opponent’s input was pressed, and then re-simulate the game back to the point that the player was at before the load. After that, we’ll be able to see if we really landed that hit, or if the opponent blocked it, or hit us first. While this helps to ensure input responsiveness, this concept can lead to visual hiccups when playing in a laggy connection, so we give players control over how much input lag they would like to experience when playing. More input lag decreases the amount of visual corrections you’ll see when playing, and lower input lag will do the opposite.
"Lastly, this concept of being able to load the game requires us to also save the game, every frame! Each save file for each frame contains data referencing where every object in the game is, what it’s doing, what buffs and debuffs are applied to it, etc. Yes, all of that data we save and load must be deterministic too…
"If you’re interested in learning more, here’s another explanation (courtesy of Mike Zaimont from Lab Zero Games) from 2011 regarding how GGPO works in the console version of Skullgirls."
So, synchronous multiplayer toes the line between the past, the present and the future simultaneously. A surprising amount of work goes into making just one punch land.
For the rest of the conversation we cast our eyes toward the future. Much like any live product, Skullgirls Mobile features a roadmap. We headed back to Charley Price for a quick rundown on what we can expect to see in the future. "Outside of longer term “major feature pillars” (like PvP) we are always looking to ensure that we’re adding new content to the game in the form of Events, Origin Stories, and new Characters. We’re currently working on Fukua (the last character from the original Skullgirls) and hopefully after that we’ll be able to explore adding brand new, never-before-seen Skullgirls characters to the game.
"Our next big “major feature pillar”, however is proper social features that will enable more collaborative and competitive content. Keep an eye out for our 4.1 release in December for the first few bits of those features, followed by more new features (e.g. Guilds, etc) on the horizon in early 2020."
And, of course, there's a bright future for the new multiplayer features too: "While it was tempting to implement a whole elaborate feature set around PvP at launch, given how new the feature was, we opted to let the new VERSUS mode breathe for a little bit so we could get player feedback and ensure everything is properly optimized before delving into things in more detail.
"Needless to say, we have a TON of exciting ideas for ways we can build upon our VERSUS mode - we can’t wait to share more details about our plans in early 2020!"
You can follow Hidden Variable Games' continued development through the Skullgirls Mobile Twitter account, and if you've read all the way through this article without having downloaded the game then you can follow these links to find it on the App Store and on Google Play.Looking for the latest news on the latest and greatest mobile games? We've got a section for that.