Monthly Archives: August 2008

The Most Popular Browser Games

Lately I’ve been very interested in persistent browser based games (PBBGs) and while I’ve been working on the tutorial for how to build one using Ruby on Rails (see this post for details), I’ve also been trying to learn more about different ones. So logically I wanted to play some of the most popular ones out there. Lists exist on site after site of “top ten”, “hot”, and “most popular” PBBGs but the problem is, each and every list on every site devoted to ranking them is different. Often completely different. It’s not hard to pick two so-called top sites and find that there’s not a single game in their top ten in common.
So I went to 14(!) different game ranking lists for PBBGs and wrote down the top ten at each site. Then I tallied up the results looking across all of them rather than just one site or another. Each and every site typically featured several obscure games not mentioned anywhere else but quite a few games kept popping up over and over again.
The following are ranked according to how many different top ten lists each appeared in. All the ones listed at the same rank appeared equally often and are in no particular order at all.
1st Place: Omerta
2nd Place: Eternal Duel, Crimson Moon
3rd Place: World of Dungeons, The Mobster Game
4th Place: Bulfleet, Tycoon Online, Tropical Terror, Earthly Endeavours, Rogue Vampires, Eternal Wars, Magic Duel Adventures
While hardly a scientific survey, I think it’s safe to say that this is a list of some of the most popular browser games on the Internet.

About these ads

Building Browser Games: An Overview

The Rosetta StoneWhen I started reading the series of blog posts on the site Building Browsergames, I thought it was cool that somebody had started a project to build a persistent browser based game (PBBG) and shared the code. But it has gone a great deal further than that. Every post that features code is done first in PHP and then repeated again with Perl. Beyond that is the frequency of posts. Having worked on XPlus,, and finally I’ve heard about hundreds of game projects started by enthusiasts. I can tell you that the vast majority of them have grandiose ideas and then reality intrudes. After a while it gets hard or boring and they stop.

But not this time. Dozens of entries later, you can actually see a bunch of the pieces that make up a simple PBBG sitting there and there’s lots of interesting design advice to go with it.

Now it’s my chance to participate in the creation of this Rosetta Stone of programming, because that’s what it is. The original Rosetta Stone was a tablet carved with bureaucratic proclamations about taxes and statues, it’s value lay in the fact that it had the same text in both Greek and Egyptian languages and it gave us a key to begin decrypting hieroglyphics. Maybe this one isn’t quite up to that level, but it gives us a place to start discussing PBBG design and it gives us that in both Perl and PHP. My contribution is a simple one. I’ve gone back and started rewriting all the same code again, this time in Ruby on Rails.

Perhaps someone else will add Python with Django versions of everything or Java and some mix of technologies. I don’t know. But whatever happens, this might prove helpful to someone looking for a language to learn, looking to learn about PBBG building, looking to learn programming, or looking to move from one language to another. For me personally it was an attempt to both improve my own basic skills at Ruby and Rails as well as hopefully adding to something that might prove helpful to others.

The entries as they stand today:

Designing Your Game’s Database
The Registration Page
Why You Should Be Hashing Sensitive Data
Using Configuration Files
The Login Page
Cross Site Scripting: What It Is And How To Prevent It
A Flexible Stats System
Implementing A Flexible Stats System
Implementing An Email Confirmation System
Getting Started With A Templating System
Making Your Forms Auto-Focus
Making Your Forms Remember Their Values
A Brief Design Document
Putting It All Together
Adding Stats
Displaying A User’s Stats
A Simple Combat System
Creating The Bank
Healing Your Players
Forcing Users To Log In
Designing A Flexible Items System
Retrieving Items
Reducing Repetition
DRYing Out Our Database Connections
DRYing Out Our Stats
Securing Our Hashes
Simple Cron
Using The "On-View" Method Instead Of Cron
Buying Weapons
Swapping Weapons
Integrating Weapons Into Our Combat System
Buying Armor
Integrating Armor Into Our Combat System