Coding Horror

programming and human factors

The World's Largest MMORPG: You're Playing it Right Now

I was struck by the conclusion of Andy Oram's thoughtful piece on the next generation of online forums.

People who want to learn more about computer technology and solve problems they encounter on their systems currently have a wealth of forums to turn to: mailing lists and newsgroups, official and unofficial documentation (which may be distributed on the Web, on their systems, or in printed form) and the more collaborative media of IRC channels, wikis, and virtual worlds.

Why tamper with this set of resources? Because they are not as easy to find or to use as they should be. Each medium was invented for purposes other than the specific task of educating computer users, and have never been tailored to the tasks of generating and searching for information about computer systems. If relevant material was served through more specialized and helpful tools, people might create better information and it might be used more.


Done well, this system would make it fun and rewarding to contribute information to user communities.

The key word here is "fun".

When you interact with other people online ..

  • sending an email to a mailing list
  • posting on a discussion forum
  • chatting on IRC
  • revising a Wiki entry
  • entering a blog comment

.. like it or not, you're participating in the world's largest MMORPG. Lurking is always free. Those that choose to go beyond lurking, to add some tiny bit of content to the web, do it because they find it enjoyable. On some level, they're having fun. If you want to a cultivate a community of participants instead of passive, zombie-like TV viewers who contribute nothing, you should be designing to maximize this fun. As Andy discovered, not designing game-like aspects into community websites is the bigger long term mistake.

In the fantastic presentation Mixing Games and Applications, Dan C. explores the example of Mario Brothers, which we know as a game. But what if it was a traditional desktop application: Rescue Princess Enterprise 2008?

Rescue the Princess as a desktop app

Or a web 2.0 website, Princesszr?

Rescue the Princess as a web 2.0 website

How easy are the above two applications to learn? To use? The desktop application has a steep learning curve, but offers lots of power and flexibility. The web 2.0 version has almost no learning curve, but it only does one simple (and boring) thing.

Now consider it as a game.

rescue the princess, as Super Mario Brothers

The player is handed a new tool called Mario the first time they see this screen. They don't know how to use him. The screen gives them a playground where they can try different things:

  • Blocks that reward jumping by giving out coins.
  • Goomba that rewards successfully learning how to attack. It also teaches the players to avoid Goombas on pain of death.
  • Blocks that teach the player how to collect powerups.
There are a couple interesting points to note:

  1. The awarding of a new tool is almost always paired with a simple level that lets the player learn the tool in a somewhat safe environment.
  2. The player cannot pass this section without mastering at least one critical skill, in this case moving and jumping. This sort of gating ensures that the designer can rely upon the user having the jumping skill available at later points in the game.
This is different than most apps. In many apps, you sort through the options and turn on a new feature. There is nothing that is the equivalent of a 'level' or learning context to help you build skills associated with the tool.

Recasting the experience as a game means it can be simultaneously complex and easily learnable. That's something we couldn't accomplish through traditional applications, which are designed to be usable but not necessarily fun. They've failed to design for fun. And in an era of ubiquitious web community , that's a big mistake.

Let's not trivialize this. Just because your application is fun doesn't mean you've turned it into a game. You've adopted game mechanics in order to build community:

I see game mechanics working well on sites like YouTube, Yelp, Twitter, and Flickr. These sites have added game mechanics like points, leaderboards, level-ups, social exchanges, and customization to a strong core experience. In particular, YouTube has done a brilliant job of making the overall experience feel game-like, without turning the site into a traditional game.

Why is this happening in so many places? I think game design principles have become common knowledge for young Web designers. Many of the people who are designing and building these sites grew up playing games, and are familiar with game design principles - even if they're not "officially" game designers themselves. It's a testament to how pervasive and mainstream gaming has become.

I recommend paging through Amy's presentations for a more detailed explanation with lots of great examples:

  1. Putting the Fun in Functional
  2. Power to the Players

If you're looking for a lower-level design compendium of game mechanics, suitable for implementation on your own site, check out the Yahoo Developer Network social design patterns library:

Not every activity can be turned into a game. And perhaps not every activity should be a game.

But when it comes to community websites -- sites that get better for everyone the more users actively participate -- these are already so close to being de-facto games that it'd be downright negligent to ignore this aspect of the design. You should shape and define your community by explicitly acknowledging and embracing the game-like aspects you want to encourage, rather than pretending they don't exist.

After all, the first step in breaking our addiction to the world's largest MMORPG is to admit that we have a problem.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Overflow and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: