Slashdot Mirror


The Challenges of Making a Multiplayer Game

PokeBlor writes: "Arena.net has an article by Patrick Wyatt, a Blizzard ex, that goes into depth about the creation of multiplayer games, ranging from replayability to lag. He uses good examples from Starcraft and Warcraft 2, two games that Wyatt was a designer on."

17 of 322 comments (clear)

  1. What about a rating by asmithmd1 · · Score: 5, Interesting
    The article doesn't mention cheating or a peer rating system like Ebay. This is something an online gaming community can add so that when you are tring to find a partner you have some idea how he has behaved in the past

    1. Re:What about a rating by Rudeboy777 · · Score: 2, Interesting

      I've considered this in the past, and I think it would really help a game like Starcraft where there are many hackers out to spoil everyones fun (most notably using the dreaded 'map hack' which reveals all hidden terrain). Some sort of a system where players who suspect another player can make an 'accusation' which will stay on the opposing players record for X amount of time. Only one accusation per player of course, and perhaps some way of preventing all of a players buddies from making accusations because their friend said to (this is a little more tricky...)

      What appeals to me most about this is that it's ultimately the community spirit working against cheaters as opposed to trying to stay ahead of them technologically (we've all seen how well that works)

      --

      From hell's heart I fstab at /dev/hdc

    2. Re:What about a rating by Klatma · · Score: 2, Interesting

      Its not that tricky to keep all of someones friends from giving one guy a bad rating. You must have actually played a game with the player before you can rate the player.

      This system sounds appealing to me. I could see someone who is accused of cheating because he clobbers everyone, and know that it will be a challenge to beat this guy, because he is either really good or he cheats. So then I can either accept a challenging game or not play against this person.

      But it is so easy to sign up for accounts on most systems that if someone is accused of cheating too much they can just create a new account and start with a fresh rating. But overall a system like this would be good.

    3. Re:What about a rating by demo9orgon · · Score: 2, Interesting
      You have a great idea here. I stopped playing Starcraft/Broodwar against anonymous vermin a long time ago because some d00d thought that after we had destroyed the enemy that I was the enemy. I beat his ass so bad he dropped, but it still didn't do much for the feeling that this punk thought he could beat my ass after being my _buddy_. That crap does not fly in my book, so I only play with honorable people. The same stuff happened to my wife, and she found the whole online sc/bw scene repugnant and hasn't bothered going back.

      In general, there's a whole asshole brigade of young online gamers who don't feel their online actions matter. That is a bad attitude, and a terrible way to conduct oneself.

      The merit of a such a system lies in how identities are tied to a CD-Key. So if someone is an asshole, their bad karma is going to tail them unless they pay Blizzard and their Vivendi handlers for another chance at redemption. Sure there should be some kind of amnesty plan, but the whole system is going to require some kind of lock-step policing; a policy which would automatically invalidate bogus ratings. So that at the end of the game, when you're looking at the "Save Replay", or "Exit" options, there would be another, "Rate Players", which would bring up an interface that would include all of the MEAT players you just threw down with, some simple radio buttons for each (rate the behavior of your friends/opponents --based on the Alliance status when the game concluded) with 1 to 5 (1 being fscking sphincter to 5 being excellent), and a 255 character "comment" field, suitable for nice words like, "turncoat,cheating, bastard".

      In the end, with a free service, and a very non-free implementation cost, to Blizzard, the ends are probably not worth the cost to implement. This is to be expected, and maybe there's a niche here for a 3rd. party to step in and provide a most excellent service which arbitrates the honor of people who would feel better about getting into a game with someone who is really interested in a "3 vs. 3 CPU!!!" instead of "1 vs. 2 vs. 3 CPU!!!", or the ever popular variant "2 cheaters vs. 1 pigeon", or the "Newbie!" games.

      Hey, where's a venture capitalist when you need them!!!?

      --
      Every new form of media has it's own Requirimento
  2. Even the basics are hard by SilentChris · · Score: 4, Interesting
    I remember trying to do a simple multiplayer turn-based game in CS class a few years ago (a Risk clone) and even that was hard. Creating the network tools by hand, it was a challenge to get the server to properly handle the back and forth timing required (send move request, wait for request, take in request/send out another one?) I can just imagine a realtime game where every second counts.

    Although, I don't think some of the algorhythms in place right now for latency (for example, Quake III Arena) are much better. I don't think it's fair to allow the computer to "judge" modem players' moves, and try to determine "if" the player would have got the hit. Not only is this unfair to the player (when they get to a real LAN tournament they'll be roasted), it's also unfair to the vet with a decent connection, because the newbie in essense gets a free hit. I would propose figuring out better ways to communicate over the network instead of trying to second guess the players' moves with algorhythms.

  3. cheating by asv108 · · Score: 5, Interesting

    I think the number one problem with online games is cheating. There have been countless times where I have been totally addicted to a game, and then a cheat ruins all the fun. People play online games because it is so much more exciting to compete against a real person. If the game becomes unbalanced, players will either move on to another game or use the cheat themselves.

    1. Re:cheating by Shiny+Metal+S. · · Score: 3, Interesting
      even if games had a 100% solid protocol you'd still have auto-aimers in FPS games.
      Of course, but this is the kind of cheat which will always be possible. That is because of the nature of the problem. Shooting to the target is the kind of problem which is better solved by the machine than by a human.

      I would solve it in a different way: characters could be set to automatically aim to the enemies (as an integral part of the game, not as a cheat) but when he shoots, the decision if the target was hit is made by the server, depending on many factors (like if the character and target are running, if the character is tired, hurt, far from target, etc.). It would not only solve the auto-aim cheat problem, but would also make the game more realistic.

      My point is that when you have online multiplayer game, where people from the whole planet play the game on their own computers, the only sane assumption is that sooner or later (usually sooner than expected) someone will use a hacked client. So if you don't want cheats, you can't depend on strictly manual skills, which would be extremely easy for a machine, like aiming to targets. Otherwise, you'll have big trouble when someone finally learns your protocol or alters the client binary. That could mean the end of fun for many people and an endless fight against cheaters for the game developers.

      I like the idea of WorldForge project, which I think will be introduced with Mason and Werewolf, i.e. to integrate into the game the AI scripting of PCs with identical possibilities as the AI of NPCs. There'll be lots of ready to use scripts and some GUI script builder, as well as a possibility to write the scripts (currently in Python). So you'll be able to program your character to always run away when he's attacked by someone taller than him, or otherwise always instantly hit the offender in the face. But also more general tasks, like eat when he's hungry, buy food when he has no food, find food when he has no money, etc. That way when you don't play the game, your character can still do something useful, unlike most of MMORPGs where the character usually just stands still or disappear. Thanks to that, there's no point in cheating with the client by e.g. setting your character to automatically train his skills for many hours, because everyone can easily program his character to do the same, probably with just few clicks in the GUI.

      Check out the Cyphesis, WorldForge AI/ALife engine. There's still not much of documentation, so the Cyphesis source code is the best reference.

      So that's about the client itself. On the other hand, from the side of network protocol and the clean client-server architecture, the client never gets to much info, and it's never trusted to make any decisions, other than just send to the server what the character wants to do (not even what he actually does, just what he wants). I'll quote part of the Atlas protocol summary, my emphasis:

      Atlas is standard protocol between server and client. It should work with simple/complicated server and simple/complicated client and with all combinations. ASCII version will use XML.

      Server might be thought as body for character and client might be thought as mind for character and protocol is neurons connecting these.

      Features

      • Flexible and transparently extensible
      • Works at the same time with old and new clients
      • Initially XML used for easy debugging and later optimized binary format.
      • Transmits only changed information and server doesn't need reveal any more it wants. Usually assumption is made that clients are hacked and thus are not trustworthy.

      See also the Atlas Tutorial. The standard implementation of Atlas is Atlas-C++, the source code of which can be great for anyone who wants to learn multiplayer games related network programming, and high quality network programming in general. For more about Atlas, check out the Battleplan and protocols at worldforge.org mailing list (see the archives of scripting@ for discussion before 1999, and protocols@ for later and actual discussion).

      So, the point is that not trusting the client is the fundamental aspect of game design, not just a feature to be added later. There are and will be games designed around open protocols (where you can easily read and change the client-server traffic in both ways), free software clients (which you can easily change), and servers (which you can easily read and find out how they work), but those games won't have problems with cheating because of their design, not because of security through obscurity like in most of games today.

      That's why I always talk about WorldForge when there's a discussion about multiplayer games design, security and cheats - these folks do it exactly the way how it should be done.

      --

      ~shiny
      WILL HACK FOR $$$

  4. How *not* to make a game site.. by Tukai · · Score: 2, Interesting

    If you're planning to make a multiplayergame, or even a site that has something to do with the subject:
    you definitely dont want to make a site that is only browseable with some fancy browsers that support CSS.(NS 6.x+, IE whatever).
    Cant believe this arena.net crap not letting people read the article with good'ol Netscape 4.76.. Even some plain text would have satisfied me but now I only get to read the "upgrade your browsers and come back". Yeah, very likely.
    Hope they werent trying to sell anything because this is not the way.

    /T

  5. Other article by delta407 · · Score: 5, Interesting

    There's another article that sounds similar about is written by Peter Lincroft entitled The Internet Sucks: Or, What I Learned Coding X-Wing vs. TIE Fighter back when multiplayer games were not plentiful.

    It's interesting reading, including "Lesson four: UDP is better than TCP, but it still sucks" and "Lesson five: Whenever you think the Internet can't get any worse, it gets worse". It's good stuff.

  6. Improved graphics spoiled Ultima series by October_30th · · Score: 5, Interesting
    Ultima series was not exactly a multiplayer game, but I think it serves as an excellent example of how a brilliant game is destroyed by demands for "realistic" graphics.

    With bare-minimum graphics like Ultima III on C64 all the action took place in your own mind -- the best virtual reality/graphics engine ever developed.

    When the series moved onto a sort of 3d graphics in Ultima VI the whole atmosphere changed. Suddenly you had these STUPID, squeaky-clean looking characters on the screen instead of the rough bunch of veterans you always had imagined. All the monsters were pitiful caricatures of the nightmares I had fought in the earlier Ultima episodes. In short, the whole game was fucked up because you were being forcefed the (annoying) vision of the game developers.

    game graphics will be indistinguishable from real life

    Sigh. And what's the point in that when the purpose of the games is to help you to spend some time away from the reality!?

    --
    The owls are not what they seem
  7. Re:Oxymoron...social gamers by alcmena · · Score: 5, Interesting

    I used to run my own Counter-Strike server, and I couldn't agree with your post more. It got so bad that I eventually wrote a program that punishes people when they would complain about laggers, campers, cheaters, etc. The punishment was 50% of your health. Do it three times, you're gagged and can only talk to your team. Three more, you're kicked. Three more, you're banned for an hour.

    I'm usually one who is strongly against filters, but I have to admit, this one did wonders. People learned to either be civil towards each other, or they learned to be quiet.

  8. Re:My comment.. by EvilKat · · Score: 2, Interesting

    Frankly, I would like to see some multiplayer graphical games out there that take the concepts presented in text-based games and make them available in an image-based form. Things like, allowing private individuals to design worlds and host games (without having to pay the company except to buy a copy of the game), setting up the rules and scripts/code the way they want it for their domain, being able to add areas onto the worldmap as they wish, just like in text-based RPGs, being able to make players apply for characters, so that you don't just get the trigger-happy PKers, the ability for admin who are not employed by any software company to boot/fire undesirables from the game (the ones that are ruining it for everyone else)... What I'd like to see is a graphical game which centers more on roleplay and less on getting stats/artifacts/levels-up. But then, I've always been big on MUSHes (RP-centered text-based games). I guess I just wish someone would make a graphical version of PennMUSH. :)

  9. Game Design by Continental+Drift · · Score: 4, Interesting

    I've designed many non-computer games for a few years now, and I see all the same issues discussed in this article that we've seen in face-to-face multi-player games. He covers the basics quite well. There are two aspects that he does not discuss which I believe are important.

    First, good games are cohesive. The rules and the plot and the mechanics should flow together. The fundamental structure should dictate the higher behaviors in the game. This creates a game world that makes sense and learning a few basic guidelines are all that you need to get started.

    Second, many games with three or more players and player interaction can suffer from petty diplomacy. If someone gets ahead in the game, other players can take time to squash the leader. If bad enough, there is a disincentive to get ahead. Balancing this problem can be quite tricky, and I would like to see more discussion about how designers deal with it on-line. IRL, we use hidden information, randomness, or high complexity to keep petty diplomacy from breaking a game.

    Still, a good article, and it distills years of game design experience very well.

  10. Re:My comment.. by Zathrus · · Score: 4, Interesting

    And what's wrong with demanding more robustness and graphics from modern games? Oh, that's right, you have fallen into the delusion that text based games are inherently better than their graphical counterparts. The belief that there will never again be as good of an adventure game as Zork (or Dungeon for that matter), that text MUDs were the apex of the ORPG genre, and that first person shooters are inherently sucky.

    Of course, we will ignore the thousands upon thousands of MUDs, text-based adventure games, and so forth that outright sucked because they didn't have a cohesive world, storyline, had a broken interface, impossible-to-decipher riddles, broken code, or any one of a number of other issues. Clearly the fact that successful games usually had all of the above in working order doesn't mean anything.

    Do you work for Hollywood? You know, that group of "big brains" that thinks the next Big Thing is to make computer generated movies, since Pixar and Dreamworks have been so successful (and thus ignoring that Toy Story, Bug's Life, Shrek, and Monster's, Inc. succeeded due to a combination of script, acting, direction, AND technology; not technology alone).

    Yes, I played a text mud long, long ago. And found it boring and uninteresting. I quit after a couple weeks at best. Verant, on the other hand, has commanded $10/mo from me for nearly three years because EverQuest, despite it's flaws, has proved to be enjoyable for the most part. There are tons of things in EQ that annoy me, but the good bits outweigh the bad most of the time (and when they don't, I take a break, as I'm doing currently).

    Future MMORPG designers not only have to get the carrot-stick model right (which is pretty much the only thing I think Verant did), but also incorporate a rich world, an intriguing storyline (as much as you can given the MM part), a good interface, and a rich graphical world. Oh, and yes, it'll have to be robust too. Or you'll have to have deep pockets to run in the red until it becomes robust (c.f. Anarchy Online - I hear it doesn't suck rocks now. I don't care to find out.)

    And, slightly offtopic, but one of the biggest challenges they'll find is convincing jaded MMORPG players to come to them. I know that after playing EQ I have no desire to play another MMORPG, since I understand exactly how much of a time investment it implies.

  11. He has a point by Srin+Tuar · · Score: 3, Interesting


    The primary things done by cheats (looking through walls, etc) are things that the game does not prevent.


    When you design a game you have to consider the players hardware to be untrusted. You cannot prevent a persons computer from telling him all it knows, nor can you prevent it from obeying his commands.

    So to limit the information a person knows, you have to limit the information that is given to his computer. (If you dont want someone to know the location of all the other players in an FPS, you simply dont send them that information.)


    Taken to its logical conclusion, The player's PC would end up being thin terminals doing I/O, while all the game logic is hosted on a central trusted server.

    For games with a central server, then the game is only as fair as the server is. This does break down a bit with servant-peer topology- such as starcraft. In this, since everyone's computer has total knowledge of the game state knowledges cheats are possible (knowing how many resources everyone has and where they are).

    However, if anyone cheats in a detectable way the game is aborted by all.

  12. Re:My comment.. by Ixohoxi · · Score: 2, Interesting
    You don't even realize that you are agreeing with him, 100%, do you? Game quality was essential when the focus WAS the game. Now the focus is usually the graphics first, then network play, then the gameplay. The games that get the awards are the ones who don't exactly follow that recipe.

    Games these days are quite like women. They keep getting prettier, but not necessarily any better; they may provide more stimulus, but that doesn't guarantee more pleasure. Just some free association there... take offense only if you're the offensive type.

    And speaking of the ladies, I know why you can't wait for the day when graphics are indistinguishable from real life... you naughty little boy. Get a real life, don't rely on graphics to make it look like you have one. "And what's wrong with trying to see what your new $300 video card is capable of?" Are you by chance the exact 14 year-old the previous poster was referring to?

    --
    What's a second? An hour? A day?
    It has much more to do with
    the Earth's rotation than with cesium.
  13. Re:He missed the biggest problem of all... by EricLivingston · · Score: 2, Interesting
    Exactly! That's really my point: I want my game experiences to be much more centered around me. It gives me more incentive to continue and complete whatever it is I'm trying to do if I think that the whole deal hinges on my actions. Sure, sometimes in real life there are actions I take or things I do that have larger impacts on the world or folks around me, but for the most part my day-to-day life isn't really epic in nature (frankly, to be honest, I can't think of any period of my life I'd call "epic" in nature :) . Thus, the games fill in some of that gap and let you live "larger than life" for a while. These multiplayer online games do not, and thus have no appeal to me.

    So, from the standpoint of challenge to game makers, I'd posit this one: how can you cater to millions of players, yet have each one feel they have a large part in what's going on and that their actions actually matter in some non-trivial way?

    --
    Please Rate my comment (and help support Fre