Earlier I looked at the concept I attempted to coin ‘Versus Flow‘ in video games. Here’s my continued thoughts on that & how to improve things.
Don’t Give Up, Challenge Again
So what can you do to try to fix the matchmaking? Well, much like getting good at anything; the first step is to at least try! Flawed as they are, at least SF4 and Halolz are starting along the right track, it’s just that overall it’s taking videogames a ridiculously long time to get anywhere, given that this is something that’s been needed since the dawn of competitive gaming, and has been ripe for any game to utilise for as long as we’ve had internet enabled games.
I’ll use a primary example of Vs Fighting games, as those are my favourite. You need to start with a decent skill rating system like those in VF5 or HDR, ie: one based on results and not experience (although experience might be used to count for a very small portion of your rating), but use it based on the character you select, not an average overall score. Just because I’m pretty decent with DeeJay, it doesn’t mean I’m anywhere near that good with Ryu. However your ‘best character rating’ could be used to give a default ‘base’ rating with a character you hadn’t played before eg. you’d start at half your best character’s rating until you actually played a more games with different characters to assist the game in ‘finding’ your skill level based on results. You could potentially go even further than a character based rating, and use a character matchup based rating. eg. I’m pretty familiar with the Dee Jay vs Ryu match, but I’m really not good or familiar with playing Dee Jay vs Dictator.
Then, here’s how a network battle options menu ought to look:
Online Game Type: Single Vs Match, Repeated Vs Match, Best of Three Vs Match, Group/Lobby Match etc. Whatever relevant modes that game allowed. Maybe even allow a player to try and play all types depending on what is available with a priority setting for whatever the player prefers.
Priority: Skill Match, Connection Match, Equal, possibly even a Zone/Attitude Match (more on this below).
Ping Limit: Set the highest ping time you want to play from Any, down to 10ms or something ridiculous (good luck!). Turn this into a number of stars of connection or whatever for simplicity. Or Best/Good/Average/Any banding.
Skill Upper Limit: Set how much higher ranked than you your opponents can be, this could be banded rather than actual points for simplicity.
Skill Lower Limit: Set how much lower ranked than you your opponents can be. Again this could be banded, and might not even be needed at all. Certainly if it was, it could be limited to not very much easier, or tied to your upper limit, so you can just choose how far varied rankings you play against.
All of this could be further simplified for players who didn’t want to worry about ‘under the hood’ mechanics, just let them pick “I only want to play Good/Average/Any net connections” and “I want online Vs matches to be Easy/Normal/Hard/Any”. Oh and you’d probably need to put in warning messages like “you may not find matches for a long time” if people set it on certain silly options – like a low rated player only wanting easier opponents, if you even chose to allow this (perhaps not).
Then I’d pick the character I want to play as.. and we’re off. No, not staring at a ‘waiting for opponent’ screen – I’m playing vs the CPU, or training mode, or ideally, whatever the heck you wanted to do in that game, or even a different game if the gaming platform could allow it. But my ‘Request to Fight’ would be out there, on the network, looking for another request to match with, and when they find each other via XBL dedicated matching servers etc, bam – “Here Comes a New Challenger”. You could still quit at this point if necessary (your Mum just called!), but the game wouldn’t even show you your opponents name, character, connection or actual ranking until the match began. And once the fight begins, if you quit or disconnect – you’d lose and your opponent would win. After the match your ratings would be recalculated appropriately – perhaps given lesser weighting to the result, the further the match was from your preferred settings.
Hopefully the online code would also have some method for dealing with other forms of ‘cheating’ other than the simple to deal with quitting – including things like auto-fire, lag switches – whatever the actual known exploits are in the game. Almost all of these would be detectable over time.
All of this would totally change the idea of “Ranked Match”; which arguably emulates entering a tournament against all comers and figuring out ‘who’s the best’ instead to a “Balanced Match”; attempting to match equally skilled players. Online versus shouldn’t be about the ‘n00b pwnage’! I’d even rename it Balanced Match if I could do, and hopefully at least put a hinderance on the ‘rank-whoring’ obsession with Leaderboards & how to cheat them. To me a leaderboard for the vast majority of players should be the byproduct of play, not the goal of play.
Now, it might sound overly complicated or difficult to code the features in my online battle menu, but all of these features already exist in one form or another in various games, they just haven’t ever been put together in any game that also has good netcode and a good rating system.
There’s certainly hope of all of this being put together at some point. The most progress seems to be coming on the ‘Attitude Match’ mentioned above. Impulse (a PC digital download service from Stardock similar to Valve’s Steam) will attempt to match players based on game ownership and their self-defined gaming priorities, which is a bit like a far more advanced version of XBox Live’s “Zones” for a player – which I’ve only ever seen a single game (Marble Blast Ultra) even make use of – probably because they are just too limited to be of much use. Social gaming applications like Raptr might also eventually become an aid to matchmaking – even Facebook itself (& its games) could use all of this – you can see the early signs that they are starting to look into it’s relationship with gaming when you read interviews like this one, and see the start of it’s integration with XBox Live (even though it’s really basic at this time).
With regards to actual skill matching, it appears Blizzard have some fantastic ideas for Starcraft II:
“The old experience of playing through single-player, getting online, getting your ass handed to you,and then saying “I don’t want to play anymore” is not something we’re after. We want to have more friendly experiences for new players.”
It seems like they really want to make Starcraft II multiplayer far more accessible:
“Sigaty talks about how long it took him to feel like he could win at Warcraft III. “It took 10 games… I knew it would get to that point, but I think, 10 games, that’s ridiculous. If you play three, get your ass handed to you, then you walk away, you say yeah, I think the online thing’s not for me.”
Pardo, and Battle.net, have the answer. Over and above improved matchmaking algorithms, searches, and the persistent player profiles that should prevent “smurfing” (experienced players creating new accounts to take noobs unawares), there’s an ambitious and clever new ladder and tournament system that aims to give players of all skill levels the kind of thrill experienced at the top end of competition – “the competitive arena for everyone”, Pardo calls it. “Ladder play doesn’t have to be for hardcore gamers only.”
There will be seven levels of competition in StarCraft II – five regular bands from Copper to Platinum, book-ended by the e-sports Pro League at the top, and the Practice League at the bottom. Practice League will feature a slowed game speed and maps custom-designed to prevent the rush tactics that can be panic-inducing and off-putting to a new player.”
It sounds like exactly the same things I’m talking about, just translated to the RTS genre, doesn’t it? But all competitive games should be doing this. Even if Starcraft II actually ends up more like this:
Even Capcom appears to have some decent ideas for Super Street Fighter IV, as they are talking about having rating points based per-character, and also matchmaking in team vs team battles to try to create equal teams. Now they just need to put these features in a better fighting game with better netcode (like, say HDR 😉 ).
Overall, once again, it’s down to ‘e-sports’ to take their cues from real sports. There’s usually multiple paths available to a sportsman to get a varied skill level of competition. But video games don’t have much available between “casual games with your mates” to “take on the best in the world”; but they easily could, and should do. In many ways this is recovering another lost part of local arcade culture; where you vied to be the ‘best in your arcade’, as that was all you really knew about. Your local arcade catchment area was the equivalent to an amateur sunday league at a sport in some ways, but the options that are available with online matchmaking could actually be significantly better than this.
Coming next in this series – my thoughts on how to improve measuring actual skill at games to get good ratings, and also training modes in games and how to allow players to improve their skills better.