Post Mortem: Wargames 2.0

History of WarGames 2.0:

My name is Ron Rejwan, and I’ve created a relatively small game called WarGames 2.0, which at the time of this document being written has approximately 45,000 registered users.

WarGames is the very classical definition of a browser-game – it runs on your browser, requires no downloads, supports all the major browsers and – the most important part – doesn’t have all the amazing graphics that are being made for all of the new juggernaut game projects.

In a nutshell – as soon as you sign up, a virtual nation is created and from that moment on you run every possible aspect in it; from setting taxes and the national budget, to conquering land, conducting espionage operations and run a huge alliance.

I have gotten the essence of WarGames from Earth 2025, which was a favorite of mine a long time ago. I’ve decided to take it, put it on steroids and give it a professional look and feel.

The soul of the game – The players:

No matter how good your game is, how pretty, how much functionality or innovativeness you’ll implement in it – if you won’t have players or players won’t stick around for more than a short while, your game will be stuck at the ground floor forever.

As I’ve mentioned before, WarGames lacks the impressive eye-catching graphics of corporate games, and that’s where attracting new players is a problem.

The game itself is highly addictive – you can ask any of the hundreds of players who are playing for 6+ months now (Around 2-3 hours a day) – including myself!

GUI:

Do yourself a favor, spend a couple of hundred bucks and pay a graphic designer to design your GUI. Usually that’s the only graphical aspect of this type of games, so invest in it. It’s worth it.

The Community:

Devote as much time and effort as you do on improving your game as in growing the game’s community – this is a big one!
Give your players as much of freedom of creativity and communication as possible. Here’s a list from my game, you can “borrow” these ideas if you want to (I don’t mind, really):

  • Organized and moderated forums – Critical to any game
  • Wikipedia (Or WarPedia in WG2) – Not critical, but very helpful
  • Global chat
  • Alliance forums – These are automatically managed by the game’s engine and add a nice communicative tool for my players
  • Instant messenger – Personally I’ve taken this idea from FaceBook’s IM. You can always see when all your allies and friends are online and immediately chat with them.
  • In game message system – Vital for any online game.
  • In game alliance messaging system – Very important to keep alliances organized.
  • I keep posting contests and important announcements in the forums, and then publish them in the game’s admin announcement page, to get newer players into the forums as well.
  • Country and alliance flags – each player can design his country’s flag in a small editor I’ve given all players. Also once in an alliance, the leader can design a flag for the entire alliance.

New players:

New players are hard to attract. Especially in non-graphical games like WG2.

I’ve decided to make WG2 newbie friendly as possible by doing the following:

  • I’ve written an automatic tour that fires up as soon as a new player registers (And can always be viewed later in the game)
  • AQHS (Auto Quick Help System – Also a part of my terminology ) – This nifty little JavaScript code has a dictionary of certain words in the game and automatically marks them. As soon as a player moves his mouse over one of these marked words, a small pop-up with a short explanation shows up on screen.
I’ve obviously left an option to turn this feature off – as it can be quite frustrating for more experienced players.
  • Since the beginning of the game I’ve designed it so that every single piece of text is loaded from a formatted XML language file.
Later when I reached around 20,000 users, I’ve asked for their help, and the game has been translated to Hebrew, French, Chinese, Arabic, Romanian and Spanish.
  • Since WG2 is a free-to-play, no ads, no spam – donation based game. I don’t have endless amounts of funds to throw away on publishing the game to get more players. So instead I’ve given players an automated system to bring in new players. Once a player signs up and plays for a while, both the player who signed up and the player who brought him in get a bonus.
  • Give away free bonuses in the game for players to vote for your site daily on 10-20 game listing sites. It brings a lot of traffic.
  • In the forums I’m giving away bonuses to all players who post a link to the game. Obviously, there are certain rules to keep away senseless spamming which will do more harm than good to your game.
Only allow established forum users (on the published forum) to post a link to the game, and ask them to post both a referral and non-referral link – as most people are automatically deterred by referral links.
  • New players are protected from attacking or being attacked until they play 300 turns. This is to prevent new countries from being eradicated the moment they are established.
  • New players have an option of creating their nation in “Tutorial mode”. This allows them to play, and as soon as they reach 200 turns, their nation is automatically restarted into the game – allowing them to play around the game before actually making horrible mistakes of their own).
  • Power protection – protect lower leveled players from higher leveled ones. In WG2 you can attack other players that are in your 75%-200% power range.

Ease of use:

Besides the initial game tutorial, help files for each page, Wikipedia and the help forums I’ve also taken several steps to make the game less frightening to new players:

  • Quick menus jump whenever you put your mouse over another player’s name, allowing quick access for some very common commands (Send message, send aid, attack, spy, etc).
  • Country levels – In order not to scare all new players by all the options of the game, I’ve locked some of the more advanced screens (Which are usually only needed later in the game when you have a more advanced nation).
I’ve given specific criteria for advancing through the levels, which teach the new players how to play the game, while exposing them to the game’s options slowly.
  • If your game is HTML based (Or ASP.NET based in my part – which is basically the same) – use a style sheet (CSS file) to keep certain things consistent in the game. Green colored messages are always good, while red colored ones are bad. This way a player can very easily spot something’s wrong with his country and fix it.
  • Notifications – In WG2, sometimes you have to react quickly to attacks by other players. In order to help my players know when they need to act, I’ve put a very basic email notification system (Which doesn’t send over 1 message over 2 hours, and can be turned off) and a small pop-up screen if the player is currently online and playing.
  • Important variables are always visible and updated.
At the top of the GUI there’s a special spot for how much turns, money & food you have. At the bottom right there’s a small box that shows how much money, food and oil you’re making every turn (And some more advanced stats that I won’t go into here).
  • Allow players to restart. Although you should put restrictions on this to prevent abuse.
  • I hate it that games show you that something happened at 12:45am. 12:45 where? Is it US east time or is it Australia time?
Instead show how long ago something happened: 
“X attacked you 3 days, 2 hours and 53 minutes ago.” – Much better.
  • Technology – WarGames 2.0 is completely AJAXy (I know it’s not a real word). This also makes the playing experience much better and smoother, and also lowers the traffic amazingly!

Bugs and errors:

How many games have I seen that simply shatter their professional look and feel the moment a bug occurs.
A hideous page, spewing non-sense code and errors at me, and causes me to hastily close the browser.
First of all, add a “report bug page”, which players can quickly and easily report errors directly to you.

And regarding those hideous error pages, always catch them and present the user a nice, “we’re sorry, it happens” page.

Innovation:

I personally play my game all the time.

It’s an amazing way of finding bugs or ways to improve the game.

I think the best changes I’ve made were because one night I’ve tried doing something and thought to myself “Hey, it would be pretty cool if you could do this and that..” – And so a new change is added.

Always encourage players to add suggestions to the game. If I’d had to guess, I’d say WarGames is 50% my ideas, 50% it’s community.

It’s also very important to remember that not all player requests are for the good of the game. In the end, you are the lead designer, and what you decide will happen. Sometimes they’ll love you, sometimes they’ll hate you (They’ll usually hate you) – but they’ll love the game, and that’s what important.

Bug abuse and cheating:

I can’t stress how important it is to protect yourself of these kinds of things. They can really throw your game off-balance and require you to restart the entire game.

You wouldn’t believe how much time and effort some players will invest in trying to overcome all your protections and abuse every bit they can find.

Some issues off the top of my head:

  • SQL Injection – If you use a SQL database, protect yourself from this!! It’s coding 101, but it’s worth mentioning (For more on this Google it).
  • Buffer overflows and integer overflows – In .NET buffer overflows are no longer an issue, however integer overflows are. Make sure your user’s input is within range of all your variables.
  • Input check – In WG2 some inputs are numeric only and some are English only – Simply build 2 controls, one that only accepts numeric input and one that accepts only English input. Problem solved.
  • Try to keep as much of your validations in one place. To protect from SQL injection, all of my SQL commands go through one class, which automatically protects from SQL injection.
  • If you notice someone who’s cheating, swiftly punish them and publish their punishment on the forums. If it’s later found out that someone cheated and you’ve silenced it for your own reasons – it will seriously backfire on you.

Reward your players:

Let them show off their accomplishments.

I’ve placed a hall of fame with some basic statistics and more importantly, players automatically get medals once they pass a certain criteria (Launched more than 100 nukes). Those same medals later show up on their player profile page and on an automated signature I’ve supplied them with.

I’ve even sent one player a trophy (http://www.wargames2.net/Main/Beta_images/ScreenShots/trophy.jpg) – I planned on making this a tradition, but it was too time consuming.

Summary:

Choose something you love, and stick to it. Don’t try to do something you don’t understand or know enough about. That’s what I did and it worked.

Listen to your players, but develop a thick skin to ignore some of the less polite ones.

Make the best game you can, put your heart and soul into it – and it will be the best game you can make.

Wish there was more?

I'm considering writing an ebook - click here.

.

rejwan is the creator of the browsergame Wargames 2.0.

Tags:

Friday, September 26th, 2008 postmortem
  • Cannabis Island

    haha, Rome, lol. Nice post Ron, i like hearing about the passion you truly have for the game, I feel as if a few players sometime lose sight of this. Thanks for making a great game, which ive played for over a year, and continue to play til this day.
    -John-
    aka, Cannabis Island

  • Rome

    RON THIS GAME ROCKS!!!!!
    Im Rome on fs#1 and on the forums =)

  • Thank you John, I forgot to mention that.

    All client-side controls only allow users to enter valid input via javascript code while the back-end code checks for the validity again.

    This is only to prevent double posting by users, and not to be relied on.

    Sebastian, I'm glad you've liked the post - I might add a new article about my new project soon.

  • Ron,
    thanks for sharing those insights. It was a very interesting read.
    Maybe in a second post you could share your experience regarding starting a project like this. I would be interested in knowing if it is/was a hobby project, how you started out and if you earn money or can cover your expenses.

    Sebastian

  • Nice Post Mortem :).

  • JohnMunsch

    > Input check – In WG2 some inputs are numeric only and some
    > are English only – Simply build 2 controls, one that only
    > accepts numeric input and one that accepts only English
    > input. Problem solved.

    I want to follow up on this one point. Controls are in the user's browser and you have the ability to control them via JavaScript, however, you can never ever trust what is submitted from any user. It's not hard at all to turn off JavaScript or to circumvent any browser side protection you might have for invalid data. _Always_ check the user's submitted data on the server side if it is anything which could corrupt your data, cause an error, or possibly even allow for cross-site scripting.

blog comments powered by Disqus

About

Building Browsergames is a blog about browsergames(also known as PBBG's). It's geared towards the beginner to intermediate developer who has an interest in building their own browsergame.

Sponsors

Got Something to Say?

Send an e-mail to luke@buildingbrowsergames.com, or get in touch through Twitter at http://twitter.com/bbrowsergames