Realm of the Mad God – a great game, interesting monetization

I’ve recently been playing the excellent Realm of the Mad God – a very fast-paced 2d co-operative shooter. My feeling is that it’s going to be one of the most important games of 2011/2012, as it continues to grow in popularity. Typical experience of this game is that within 30 seconds of being dumped into the main level, you’re surrounded by monsters, and then surrounded by other players, all on the same screen as you, blasting away in a rainbow of colours.

Sounds good. As if that’s not enough … it’s the guys who’ve been working with AmitP (Amit J Patel) (Amit maintains one of the best up-to-date collections of links and algorithms for indie game-developers). If you haven’t seen Amit’s pages, I recommend browsing through the blog – his links collection is OK, but his blog posts on algorithm design are excellent. If you get as far as the posts on “how I auto-generated a realistic 3D-world”, you may notice a striking similarity to the 2D worlds used in RotMG …

Anyway, it parallels an idea for an MMO shooter I’ve had kicking around for a long, long time. For me, it’s been a delight to see what works (and doesn’t) about the core ideas. The RotMG authors have done a great job of making a fast, simple, quick, easy-to-grasp game.

The Good

Fast. No barriers to play

This is how MMO-shooters should be: fast, furious, permadeath – but very quick to get back into the fray. You should expect to die tens of times every hour.

Permadeath – but paralled with some perma-advancement

Your progress is split evenly between items (which can be banked) and avatar stats (which are lost forever upon death).

Perma-advancement increases variety, unlocks new features

With 10 classes, there’s plenty of variety – and each class can only be unlocked by achieving a minimum level of progress with one or more other classes.

NB: this part could be improved and expanded IMHO. In particular, the classes are wonderfully varied – but merely unlocking classes isn’t enough these days. Plenty of games have shown that permanent-unlocks work best when there’s a variety of game-features in there. Also, the classes themselves would work better if there were some cross-effects (c.f. Diablo 2’s Lord of Destruction expansion, which had abilities in one class improve abilities in your older classes, re-vitalizing them for re-play)

Free game, paying is optional – payment kicks in when you’re most bought-in to the design

Free players get a tiny storage for permanent items (1/50th of what paying players get – it’s not enough! … so pay!), and are only allowed 1 class “alive” at once.

In a delicious twist, if you don’t pay for the game, the only way to take advantage of a newly-unlocked class is … to commit suicide … since you’re only allowed a single character per account (unless you pay)

You can ONLY benefit from other players, never suffer

(there’s actually a case where you can suffer, sadly – Thief’s get killed as a secondary-effect of other players teleporting to them, since the game doesn’t have a “prevent people from teleporting to me” flag)

This is the one that should have most wannabe-MMO-designers sitting up and paying attention. If you group-up with other players:

  1. You all get the same experience-points as if you’d single-handedly killed every monster
  2. You get the points just for being nearby – no need to score hits just to “tag” it for yourself
  3. Mob strength is constant, but player damage is multiplicative on number of players present

Net effect:

Every player is willing and eager (*) to collaborate with every other player, without words being exchanged, without fear of being ripped-off.

In a game that’s fast paced and frantic, you don’t have to keep pausing to negotiate. Other players can ONLY benefit you, so … run with them.

(*) – or just ignores the other players. Their presence doesn’t provide negative impact on you. It’s only their absence that is negative (in game-design terms).

Interesting design choices for lag

As a real-time game with dozens of players on screen at once, lag is guaranteed to effect gameplay. We’re always saying “try to work around lag through game-design changes”, so here’s the decisions they made:

  1. When packets are lost, everything moves in exactly the same direction it was going, at exactly the same speed, forever
  2. “Speed” used above is the “on-screen speed, including any rubber-banding effect”
    • FAIL: this means monsters and players often move MANY times faster than they are allowed to – so that when the lag stops, the side-effects are magnified
  3. Your avatar can’t be hit NOR damaged while it’s missing packets from the server
    • For the early parts of the game, this *almost* completely fixes lag problems
  4. Projectiles (bullets etc) that your client didn’t receive are queued up and sent to you all in one go once the packet-dropping stops
    • FAIL: this multiplies the damage output of enemies (NB: not players!), breaking all the designed-in balance in the game
    • In mid to late game, this ruins the gameplay – players end up running around never seeing a single enemy, because if you’re close enough to see it, a single flicker of lag will cause you to receive ZERO damage initially, followed by MORE damage than the monster is capable of – delivered instantaneously
  5. The client is authoritative on player liveness/death
    • MILD FAIL: in effect, coupled with the other features of the game, and the lack of lag compensation … this means you CAN and SHOULD (and, for some cases, effectively: MUST) cheat. You can run a bot on your machine – and if the network is less than perfect, you have to, in order to play the game properly.

Overall, apart from the massive security flaw (where anyone could write a bot to be invulnerable – and the developers are encouraging them to do so), it seems very close to a good solution for an MMO shooter.

I’m surprised by the way they approached the “save up the enemy bullets, then unleash them all at once”. My guess is that it wasn’t designed, it was just an accident: maybe they took a slightly lazy approach to compensating for lag (they don’t), and the net effect is this. It looks very much like what you get when using TCP for game-data packets (I really hope they’re not using TCP; if so, most of the lag is the developers’ own fault)

The Bad

I’ve unlocked half the classes, and looked at what classes other people play (and which classes rise high on the leaderboards). There’s good variety, and almost all the classes get used – even the beginning class, the one you get for free, works well.

Except one.

Unfortunately, at around 50% through unlocking the special classes, one of the classes is horribly unbalanced. The Assassin (which is supposedly an upgraded Thief – but is a massive downgrade) is almost impossible to play. The special ability fails completely when there’s lag (which is frequent in this game), and the class is the weakest, lowest-range of the lot. Looking around, you rarely see Assassins (I suspect: you only see them when people are desperately trying to upgrade them, to get past this dull and frustrating point in the upgrade tree).

Worse, because the *only* way to unlock the higher level classes is to reach the level cap with this class … you’re forced to play it. Over and over again. Watching the bad game-design … over and over … and over … again.

Every time the assassin dies, it’s like another twist of the knife:

We know you don’t enjoy this

We know that a mistake in our game design has you stuck here

(and our overall game design makes that “mistake” into “a disaster”)

We know that this whole process is turning “a class that wasn’t much fun” into “a class you hate”

And there’s nothing you can do about it!

So, single-handedly, it’s driven me to *not* purchase any game credit. I’d enjoyed the game enough to that point that I’d already decided to buy it – and if this had been on iTunes, I’d have paid already. But since it’s not an iPhone/iPad game, and paying for it is a bit more difficult, I hadn’t made the payment yet.

As it stands, I’m still playing occasionally, but now it’s for research rather than for enjoyment, which is a great pity.

Monetization: money thrown away

I think the developers are missing an ENORMOUSLY successful way to make money from this game. In fact, it’s so big, I suspect they could increase their revenues by a substantial multiplier.

With a permadeath game, there really is no need to actually delete the dead character. If the player isn’t paying, they are forced to kill their character sooner or later to change characters.

Taking a leaf from Flickr’s book, why not keep ONE single character in storage, with a tempting “buy now, for goodies *and to have this one returned to you, ready to play*”?

I’d set it so that when you change class (if you’re a free player), only the last character of the PREVIOUS class is retained. If you switch from Warrior to Knight, you can die many times as a Knight, and your Warrior remains on ice. But if you then grow tired of the Knight and switch to a Rogue … the Warrior is tipped out, and replaced with the last Knight you had.

i.e. you setup the exact flow of decision-making and options and “safety” that the player would have had, if only they’d purchased sooner, and allow them to benefit from it retroactively – if only they make the decision to pay.

Of course, it’s a very limited “retroactively” – it’s a sampler, to let you see the benefits of paying.

(*) – Flickr’s early promise was “upload your photos in highest resolution, you can view them for free – but only low-res versions. HOWEVER, we keep the high-res versions for you – forever, for free – until you decide to purchase a subscription. At which point, not just your new photos, but ALL your photos, become magically available at highest res”. It was a great way of simultaneously offering a high-value to paying customers, while making non-paying customers feel they weren’t committing themselves to loss. It reassured a lot of potential customers at a time when Flickr wasn’t yet famous, and most people weren’t yet “hooked” – it bridged that gap.

Analyse this

So, the interesting question is: how common is this problem?

Are the dev team correlating “players who pay” and “the point at which they pay”?

More importantly, are they correlating “players who DON’T pay” and “how their experience differed from the average”?

The last time I saw an MMO with a level-based kick in the teeth this bad … was in Tabula Rasa. We had a point where poor signposting by the quest designers meant many players were given quests that were many levels too hard for them, and effectively impossible to do. Those players died over and over and over again in a short time – and they hated it.

The dev team knew “you’re not supposed to do that quest”, but often they (randomly) gave it to new players as the first quest. I wasn’t privy to the arguments over whether this needed to be changed (and there were definitely arguments), but I did see the analytics that eventually got produced. They showed an almost perfectly smooth, averaged, graph of player behaviour – bar a big notch at this particular location. It stuck out like Rudolph’s nose on a snowy day.

I wonder if there’s a similar notch in RotMG? For a game that’s almost *designed* to drive people to rage-quit … what stats do they see on “what the last thing was before a player stopped playing forever?” … and what stats do they see on “…stopped playing for a long time, but eventually came back”?

9 thoughts on “Realm of the Mad God – a great game, interesting monetization

  1. Steven Davis

    Nice analysis, Adam. I think another montetization option would be in the form of life and item insurance.

    Definitely one of the more interesting recent indie gaems.

  2. splok

    I’m not really sure why you’re forced to play an Assassin “over and over again.” All of the classes are unlockable in a night by grinding out the leveling. You can max any character in 30 minutes of relatively safe, solo play. That may not be the most fun way to play, but for an MMO, giving you a half an hour of a grindy task (playing an Assassin apparently) to get what you want isn’t exactly unusual.

  3. adam Post author

    I found that the asssasin’s (class-imposed) low health, low defence, lack of special ability, and low speed … all conspired.

    It takes 30 mins just to level him 50% of the way to levelcap, and after that … hours of very slow, very cautious levelling. Because if you use ANY of the levelling techniques that work for other characters, you get killed.

    By comparison, the thief could solo wade into big fights, but also keep up with adventurer groups and use his special ability to survive even when lots of bullets on-screen.

  4. adam Post author

    @Steven – LOL, yes, life insurance would be a great perk. That would work particularly well on impulse micropayment platforms like iTunes, I think

  5. splok

    It seems that we’re both stating our case as facts, so I guess I’ll just say that it sounds like we’re playing very different games as I can’t imagine any class taking hours to get to level 20, and that’s without needing to get into big fights or following lots of other players around.

  6. Amit Patel

    Thanks Adam!

    For some people, reaching level 20 can take days; for others it takes under an hour. There’s a lot of variation. It takes me forever. :(

    Networking note: yes, it originally did more on the client, and was designed that way to make the gameplay feel fast.The game was originally a 30-day contest entry and wasn’t meant to last more than a few weeks. Their previous games did everything on the server; this was an experiment they wanted to try. Of course eventually people figured out how to cheat. They’ve gone back and fixed some of those issues but there are some that remain.

    Yes, they use TCP. As far as I know, neither Javascript nor Flash allow UDP. This constrains what they can do in the game, and it makes bursty lag much worse. :(

    On the other hand, it’s unlikely the game would still be around if it didn’t run in the browser. Being able to play without download, install, creating an account, entering a credit card, etc. was a big part of its initial success. You don’t even have to choose a class or a name or hair color or any of that (how many RPGs have you choose your chin size?) — you visit the web page, click Play, and are in the game right away.

    I agree that they’re not taking advantage of lots of monetization opportunities. Three things players really want: resurrection, trading, hoarding. Resurrection Amulets are purchased with in-game currency, so they get no revenue out of it. Trading is horribly inefficient; they get no revenue out of it, and it’s currently a poor user experience. Storage is reasonable (vaults/chest space) and they do make money on that. They could make a lot more.

    Although the game’s goals include only benefiting from other players, in practice it isn’t quite there. For a long time, loot went to the first player who reached the bag, so when you had extra players, your chance of loot went down. They changed that so that each player had a chance of loot (in higher levels), but there are still situations where extra players decreases your chance of loot.

  7. adam


    Thanks for the extra info!

    re: TCP/UDP – doh, I’d heard rumours that Flash supported UDP by now, but looking into it, I see that’s not quite true (yet). That’s a huge blow for fast MP games like RotMG :(.

    I know a lot of indie game devs are switching to Unity now, due to frustration with Adobe. There’s still a plugin to install, but I know a lot of Flash sites lose a lot of users when they move to newest Flash, and find many users don’t want to / can’t / can’t be bothered to upgrade Flash.

    Hmm … RotMG ported to Unity … that could be interesting….

  8. Amit Patel

    @Adam: The Flash install situation is both getting better and worse. Better: Adobe is pushing automatic updates now, so fewer people have old versions of Flash. Worse: more people are becoming anti-plugin, and this will affect both Flash and Unity.

    RotMG could be much faster if they switch to Flash 11 / Stage3D. It’s a 3d engine doing software rendering using Flash’s 2d API. That port is probably more practical than a port to Unity :)

Leave a Reply

Your email address will not be published. Required fields are marked *