Web Based MMO’s - Design Considerations

Wednesday, April 9th, 2008

There are some key features of any Web based MMO in my experience.  I’ve outlined some fo the rules that I’ve infered and I’ll be using these to help em design the basic Web MMO that I’ll write.
Manage resources

  • Something should generate some basic resources each turn
  • You should be able to use those resources, to build bigger / better resources, and/or perform actions
  • Running out of resources shouldn’t end your game
  • Some large resources should use up resource each turn
  • Example : We have Gold, Stone and Wood as resources.
    100 Gold, 2 Stone and 4 Wood builds a carpenters house
    A carpenters house turns 4 wood into 1 furniture each time unit.

Unknown World / Exploration

  • The world is almost always not known at the beginning of the game
  • Finding out about the world should be cheap in resources, but may be expensive in time
  • Sometimes the main focus of the game
  • Not knowing can mean either fog of war, or can mean not being able to see details
  • Example 1:
    I have a space base, I know of every other space base in the game, including who owns it
    I don’t know how many laser turrets any other base has unless I send a spy drone to the enemy base
    Creating a spy drone costs only 10 Manufacturing points (out of 50 a turn), but takes 8 turns to reach the enemy base
    Information gleaned by a spy drone is never updated, so gets out of date fast
  • Example 2:
    You play a warrior, shipwrecked on a mysterious island.  In your first turn, you are shown the local map of 9 squares around you.  This shows water east, a beach going north and south, and all forest to the west.
    Your first move moves you one square into the forest, you are now shown the original 9 squares terrain, plus the 3 squares to the west of you, for 12 visible squares.

Time, Time units, and starting players

  • In general, all actions should take a fixed amount of time to execute
  • Time should however be detached from real time, the reason for this is that I might not be able to log on for 48 hours, and should be able to spend those time units pro rata as if I had logged on every hour to spend each unit.
  • Beginners should be given enough time points to give them a good start in the game.  That should include constructing a number of items, doing their first scans into the unknown and if battles are in the game, fighting their first couple of battles.
    Enough to give them a taste of the game, but don’t overdo it, the player will get irritated if they can do loads of stuff the first day, then have to wait a month to do anything cool again.
  • Resources that are provided per time unit, should be provided when time units are provided, not when they are spent. (unless spending a time unit is an action to provide a resource)

The Opposition

  • Pick early whether your main game is player vs player, or player vs environment.  Many PvE games also feature PvP facilities, but you must ensure that players who don’t want to engage in PvP are able to avoid it.
    Providing an arena, or some other form of scheduled battle is a good way of doing this
  • In PvP games, you should ensure that rewards for attacking players are commensurate with the target players experience.
    So new players are not rewarding targets, where as experienced players are good targets
  • In games which support PvP, ensure that new players cannot be targeted during their first few turns, so they have a chance to understand the system
  • In PvE games, ensure that new players cannot accidentally get themselves into environments that are far too hard for them

Player Interactions

  • Ensure that players are able to communicate with each other with a forum like system, this encourages player participation and gives you higher page views.
  • Encourage and assist players in forming groups or clans of characters that can work together.   Provide in game bonuses for groups, and provide mechanisms for forming clans, and organising them
  • Ensure that playable factions / classes / races are able to form a balanced team.

I think that will do for now, although more ideas will come later I’m sure.

For the next post I’m going to dump some brainstorming ideas for settings, and let you know which one I’ve picked and why.

A Web Based MMO

Wednesday, April 9th, 2008

So I’ve been thikng about writing a web based MMO for a long while now, and the advent of the Google App Engine means I’m going to write a simple one, and open source it so it can be used to see how one might go about learning and writing a WMMO (Is that the right term, I can’t find a consistent term for them online).

For the record, my view of a Web based MMO, is something like Planetarion, or Kingdom of Loathing.  It’s a game whereby you can log into the website with your account (thank you Google accounts API), and see your avatar, be it a person, a planet, a business.  From there you get to spend time and resource points to achieve goals.  Normally things take a limited number of ticks to complete, and you have to check back later to see it completed.

I’m going to post as I go, sharing the design and implementation highs and lows, and design thoughts.  The code will be open sourced as soon as I have some actual code and a google AppEngine account.

First design post to follow soon

Learn Python Game Programming with Scripture Union

Tuesday, November 21st, 2006

There was a post today on the python-tutor mailing list, that brought a new game framework to my attention.

Being as I’m currently doing a little freelance web design work for Scripture Union, and they are a local charity to me here in Milton Keynes, I was pleasantly suprised to find that they have been running courses that teach game programming to children using python.

The livewires packages provide a nice simple interface for pygame, that might make learning to program a little easier.

The LiveWires holidays sound like a great holiday for the kids, They get morning to learn some technical computer or music skills, afternoons to do outdoor activities, and some bible study and worship in the evening.

There is an older childrens camp for those who might be interested  (ages 14 - 18).

Game Names

Friday, October 13th, 2006

Naming a game is hard!

When you decide upon a project, you will almost certainly give it a code name, thats something you can name the source code tree, something to call it while working on it.   But invariably, the game design will change, or the name will just be rubbish.

With my game, I named it Robot Rumble  as the code name.  The original design called for small robots, running around an arena, fighting each other.

Now we’ve developed a lot of the game, and I’ve spent time with the artist, the design has changed a little.  The units are now vehicles, with a couple of people inside, and the arena’s, a post apocalyptic ruined city that is overrun with gangs.  So the name Robot Rumble just doesn’t seem to match anymore.

So what to do, well this calls for everybodies favourite tool, brainstorming.

Brainstorming is much maligned as useless corporate crap, and the reason is that it is often done completely wrong.  Good brainstorming involves a number of things, the first is that absolutely anything goes on the page or board.

Brainstorming for a name, what you really want is a good number of words that are representative of your game.  So when we brainstormed we came up with the following words: City, Urban, Street, Road, Gang, Wars, UrbanZone, DeUrbanizedZone, Slum, City Of Angels, Lost Angels, Los Diablos, Tank, Tactics, Tactical, Innercity, Battle, Fight, Rumble, Guerilla, Tarmac, Warfare, Cleanup, Clean.

There were more as I’m sure you can imagine.

Now for the easy and fun bit.  Select two random words, and see how they fit together, examples of ones we tried,

Tank Tactics (theres a Tantix out which sounds like that), Street Wars, Gang War, Tarmac Tactics, Urban Tactics, Tactical Urban Warfare,
Tactical Urban Cleanup, Tarmac Gangs, Road Gangs.

We kept going for about half an hour, just saying names at each other.

Finally when naming something, the other thing we also did, was to google for the term and think about domain names.  some that we liked, just didn’t google well, and some tha googled well, we felt didn’t give the right feel for the game.

Anyway, we still have to make a final choice for the game name, so I’ll post again when we’ve decided, maybe with a screenshot to tease you all with the upcoming game.

Why retro games are retro

Saturday, October 7th, 2006

I’ll start with an admission, I wrote this blog post in my head while half asleep and half dreaming last night, so if it doesn’t make sense, blame the hot chocolate.

I was thinking about classic retro games that I enjoyed playing when I was a kid.

“Wow, I’d love to play Chuckie Egg again, and Chuckie Egg 2, TranzAm, Abandoned Places, Deuteros, the list goes on”

I thought about what made these games so good. Is it just rose tinted view of the past? Well I hunted at length the breadth of the internet, played a few of these again (although a lot were poor PC conversions rather than the original Amiga / Spectrum versions) and thought, no these games were actually good! At least the ones I remember as being good anyway.

So why aren’t games made like this anymore? I have wondered for a while about what would Chuckie Egg be like if we made it today, by todays standards? Well it would certainly have more than 5 inputs. You wouldn’t just have up,down,left,right andjump. There would be guns and bombs, and ropes to swing on, and 15 differant types of monsters and an epic storyline and of course Full Motion Video. Well maybe not that last one, that went out of fashion fairly fast. But I digress.

Retro games were good because the environment they ran in was limited. There was only so much you could do, and so the games were simpler to pick up and play.

Interestingly I also wondered whether the low-fi graphics had an effect? What would Chuckie Egg look like today. It wouldn’t be an 8×16 two colour sprite that bled onto the background, thats for sure. But would making him look ultra realistic actually improve game play.

I think that the simpler graphics actually made the game feel simpler. It worked to let the players access the game better by not making the game real. It felt like a game, rather than a Hollywood blockbuster movie. Now that doesn’t mean that graphics aren’t important. Of course tastes have moved on, and people want to play games with great graphics now, but I think sometimes we added graphical swishyness just because we can, rather than only adding what is necessary to the game.