Auro’s “Single-Player Elo System”
Over the past few weeks, I’ve gotten an increasing number of people asking about what we’ve done for Auro in terms of its scoring system and metagame. We’re doing something pretty different than most games do, and I dare say that not only is it vastly better than the traditional “high score” system, but I’d also go as far as to suggest that pretty much any score based single player game should use a system like ours.
What Is Play Mode?
Play mode has a great big PLAY button. There are no options to select – no difficulty settings or knobs to tweak. No matter how experienced you are, pressing PLAY begins a game at an appropriate level of skill for you.
How does it achieve this? Well, the first time you push this button, it sends you into a placement match, since the game knows nothing about you. Placement matches are special matches that start off very easy and get super hard super quickly. Depending on how you’ve done in the placement match, you’re placed into a rank that’s appropriate for you.
After you’ve completed the placement match, every time you hit the PLAY button, you’re sent directly into the action at a difficulty determined by your rank.
Winning and Losing
There are a lot of problems with the classical “high score” system. Ultimately, most of these problems come from the fact that “get a high score” just plain-old isn’t a good goal. Let’s quickly run through the problems with this model.
- Match length scales indefinitely. Games, like other temporal mediums such as film or music, have an ideal length. This ideal length is based on the longest arcs in that individual game. Auro is a highly tactical (as opposed to strategic) “short-arc” game, so we know we want the play sessions to be pretty short – ideally between 3 and 10 minutes. However, with a high score system, we have no control over this at all. As a player gets better at the game, the game simply gets longer, and longer… and longer. Very high level matches in “high score” based games have been known to last for hours – or even days. It also means that the “early game” is super-boring for these high level players. We don’t think that games should punish players with a sub-optimal game length just because they got good at our game.
- “Highest score ever” becomes too difficult. No one likes to play chess against a player who has a 95% chance of defeating them. When you know you have a 5% chance of winning a match, it’s not clear whether your decisions are making much of a difference. What happens in high-score based games is that eventually, you get some once-in-a-lifetime crazy game that sets your “highest score ever” at some super high number. The higher that number gets, the more that future games are without any reasonable, achievable goal. We think every time the player plays the game, they should have a reasonable chance to succeed.
- Beat the score… now what? There’s this weird moment that happens in high score based games, which happens right when you beat the high score. Strangely, the match keeps going. Now what’s your goal? You already achieved the goal for this match, so what are you doing now? Some have suggested that you should get “as high a score as you can” or even “survive as long as you can”. Well, that goal is 100% guaranteed to succeed, because even if your match ends the MOMENT you achieve the high score, you still got “as high a score as you could”. Ironically, it’s actually optimal to try and end the session immediately after beating the high score, so that in future matches, I have a slightly more reasonable chance of winning. We want our goals to be clear to the player at all times.
- Players end up having to kind of choose their own goal. Ultimately, because of all this bizarre noise, players end up having to just kind of choose their own goals. “Maybe I’ll go for 30,000 points this game”, they might say. Half-way through, seeing that things aren’t going so well, they might say “Hmm, well, let’s see if I can get 20,000.” This kind of “on-the-fly” goal selection is obviously unenforceable, unfair, and again clouds the player’s ability to process the game’s feedback. When the goal isn’t a fixed point, it’s impossible to determine whether your skill is increasing or not. We want to relieve players of the burden of having to do game design work on the fly, and free them up to just make tough, interesting decisions about how to win.
So, those are some problems with the classic high score system and why we needed to avoid it. Ultimately, we just want players to be able to hit PLAY and then be faced with a bunch of challenging, yet reasonable for their skill level decisions, and then get feedback from the win/loss condition that they can really trust. As I talked about in my new game design series recently, the win/loss condition is what we’re shooting for when we play games, so *all* decisions made during the match need to be “charged” with this information. If the goal itself isn’t clear, understanding whether tactic A is superior to tactic B is impossible.
How It Works
As I mentioned, after the initial placement match, players are placed in a rank. Ranks go from 1 to about 15, with 1 being the lowest skill and 15 being the highest. Actually, 15 isn’t the highest; it’s just the highest that I’ve heard of anyone legitimately getting (i.e. without cheating). As players get better at the game, I expect that there will be higher ranks, and the software supports that.
On the Play mode screen, there’s a big “bar” graphic. You start at 0, which is in the middle of the bar. If you win a game, you gain some points and the bar moves to the right. If it moves all the way up to +50 – the far right of the bar, your rank increases by 1 and the bar resets to 0. Losing works the same way: lose a match, and the bar decreases, ultimately reducing your rank (although rank can’t go below 1).
In videogames, we’re very accustomed to these kinds of metagame bars – or, I should say, bars that seem similar to this, but that actually are not similar. In League of Legends, for instance, you have (for the first 30 levels) an “experience bar” that increases as you play games. This actually is not like that.
While it may sometimes do these things, Auro’s bar is not there to boost your ego, or to get you hooked via extrinsic rewards, or anything like that. Auro‘s Play mode bar is corrective. It is basically just the game doing its best to find the right difficulty for you. Going down a rank isn’t *bad*; it’s more that the system just miscalculated what your current skill level is.
We want this correction to happen as quickly as possible, because losing 5-10 games in a row really sucks. Also winning 5-10 games in a row sucks just as much – in both cases, you’re clearly not having a tight, balanced, difficult-yet-fair match. So to help this happen more quickly, we also have a “streaks” system. Winning two games in a row gives a small bonus to the amount of points added to the bar after a win. Winning three gives a larger bonus, and four gives a significantly larger bonus. That way if you’re kind of dominating the current level, it gets you up to the next level as quickly as possible.
For this reason, some have compared Auro’s Play Mode to a “single player Elo” of sorts. Indeed, it’s a lot like a single player version of an online matchmaking thing like you’d see in Starcraft or online chess.
What’s the difference between the ranks? Well, the rank you’re currently at determines how hard the game you play when you hit that big golden PLAY button will be.
Our first thought on the ranks was just to “scale the score value”. So on Rank 1 you need 20 points, and each rank after that you need another additional 20 points. This works, sort of, but it runs into some problems that we mentioned earlier in this article. For high level players, the early game was kind of boring and rote, easily beaten – just something they have to “get through” to get to their “actual game”. It also meant that their games were getting ridiculously long.
So we currently have a combination of a score value shift, and a game difficulty shift. Ranks 1-3 are on a special difficulty mode – Easy mode – which is, as the title suggests, very easy. Low monster population, lots of slimes, and it takes awhile to get the scary tier 3 monsters like Curse Kids and Liches to come out. Rank 1 needs just 25 points to win, Rank 2 needs 40, and Rank 3 needs 55.
Ranks 4-6 are on Normal mode, which “escalates” a bit faster, and also starts the player with one additional spell. Like the mode before it, 4, 5 and 6 are on the same gameplay mode, but with slightly increased score goals. The same goes for 7, 8 and 9, which are on Hard mode. By hard mode, even on level 2 you’re seeing some tier 3 monsters.
Finally we have levels 10 and up, which are played on Master Mode. Master Mode is hard *right away*, from the very beginning, and it starts with with 4 spells (you can have 5 maximum). So the game has been *dramatically* escalated. One way to put these rank modes is that they kind of “start you at” a higher level. Some complained about the game Hoplite, how it doesn’t really get hard/interesting until level 10 or so. Well, Master Mode is basically starting you at level 10.
(If you want more information on these modes, read the official manual, here!)
Currently, Master Mode is the hardest difficulty, so any levels beyond 10 simply increases the score goal by a flat amount, indefinitely. Many Master Mode players hover around rank 10, sometimes getting bumped back into rank 9 from time to time. The best players I’m aware of have been able to maintain rank 13 or 14. Since this is the case, we’ll probably introduce another skill level – Grandmaster Mode – at a later date. But for now, we think we’re OK.
A Few Other Notes
Because the game is now tightly wrapped around this idea of winning and losing being important, it was particularly important that we make sure the game is super fair. What I mean by that is, I didn’t want there to be much variance at all in terms of how difficult each match (on a single rank) was. A rank 1 game should have a consistent difficulty to it. Because single player games are reliant on randomness to avoid being solved by players, this is no simple task! However, we’ve put a ton of measures in place to make sure that this is the case, and I think we’re doing a better job of it than any single player game I’ve ever played.
What happens when you win? The game ends, Auro warps out, and you get a nice big VICTORY screen. We toyed with the idea of letting the player “keep going” after winning, but this was actually really strange for reasons we explained earlier. Why? Keep going to do what, exactly? Also, it turns out that when your system is finely tuned and games are white-knuckled, super-close contests, it doesn’t feel weird at all when games end the moment you achieve the goal. In fact, it’s thrilling. Most games of Auro end with the player trying *desperately* to find a way to squeeze another 2 or 3 points out of an incredibly complex and difficult late-game scenario.
Another interesting thing: you can actually die, AND win the game at the same time. If on the same turn that you die, you also got the required number of points, that’s a win, not a loss. This is hard for us video-game-brains to comprehend, but “death” is not the same thing as “losing”! The goal was to get X number of points, so if you got that, you should win! (And as a side note, Auro actually never dies; he runs out of barrier and his tutor Quillsh warps him out immediately).
As a final note, there is a “practice mode” available which lets you play unranked, goal-less games on all four of the difficulty levels, plus one crazy mode called Madness Mode, which has wildly unfair and unpredictable monster generation.
Overall, the four years we spent working on this game and this system have been a tremendous success. I’m really proud of Play Mode and like I said – I think other high-score based games need to follow in Auro‘s footsteps.
With that said, we already have some plans in the works for improving on Play Mode in the future. What are your experiences with it? If you have any ideas on how to improve it, please let us know! We think Auro is the best already, but we’re not resting on our laurels – we want to continue to improve it for as long as we possibly can.
Thanks for reading!