Jump to content
  • Advertisement
Sign in to follow this  
graveyard filla

global messaging in MMORPG?

This topic is 4830 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

hi, is it wise to ever send a message to every player online in an MMO (shard)? im curious how well this would scale.. for example, when a player first connects, i could send that players name to everyone and they could get a message "Bob is now online". another use would be for chat, where players could do something like "/b hi everyone" to globally message everyone online. im just curious though, is it wise to do this in an MMO? it seems like it might not scale well. i know that ive never seen a commercial MMORPG that allows global messaging, but i cant figure out if they didnt do it for bandwith reasons or gameplay reasons (e.g. people spamming up the channel, or just in general its too many people so it would be "crowded"). my guess is that it just doesnt scale well, and we should design an MMO to cull messages as well as possible, and this means never do something like send a message to every player online =). currently i have it so players only know about each other when they "see" each other (step on the same map as one another). i guess i am curious though because i just put in a /broadcast command, and im thinking if i ever had lots (e.g. hundreds) of players online it could get ugly. thanks for any help.

Share this post


Link to post
Share on other sites
Advertisement

Hi,

I just give you my input on a content basis. I would not like to see which people have logged in/out. If your game gets popular, it'll be a bit ridiculous in my opinion. Can you imagine how many global messages there will be? If you were to implement something like this, I think that you would have to seperate local messages from global messages using two consoles (which isn't very pretty at all, but easier to read). You could give people the option to join a global channel if they wanted to, kind of like a chat-room (but it would be optional). I don't see anything wrong with that. It should be volunatry though.

Just my 2 cents,

GCS584

Share this post


Link to post
Share on other sites
Most games have some sort of regionalized chat system, whereby players that are in the same general area can chat with other players in that area.

Since Evequest used zones global chat was restricted to the specific zone you were in. There were usually anywhere from 20-100 people in a zone at any given time (at least the currently popular ones, depending on expansion) Players could use either the /ooc (for out of character) or /shout commands and have their message broadcast over the zone.

WoW's world is designed to be seamless in that generally theres no hard zonelines when moving from one area to another, however each area still has it's own chat channel that players join and leave when they enter and leave the area.

I think some sort of totally global chat system where players could broadcast over the whole world would not be a good idea. Even in the smaller zones that players could broadcast over the amount of chatter was sometimes quite high. I would hate to see it if it were global in nature.

With regard to notifications about players entering/leaving the game, I feel that too would not be such a good idea for the reasons gcs584 listed above. If at some point you had a lot of people playing your game, the rate at which join/leave messages would fly by would be insane, and pretty much useless to anybody trying to keep up with them. Not to mention take up a lot of precious bandwith.

WoW does have notification of when people log on and log off, but its restricted to people you have added to your "friends" list, which I think is a quite tolerable system. Everquest has no such notification system, but does allow you to query which of your "friends" are on at any given time via the /who friend command.

-=[ Megahertz ]=-

Share this post


Link to post
Share on other sites
The only global messages that we have in our game is for server admins who can give server notices to all players like "Server is going down, everybody log out". Everything else is proximity/ranged based.

----------
Andrew

Share this post


Link to post
Share on other sites
EQ2 allows for chatting across different shards. the syntax is something like.

"/t <server> , <playername> , message "

i personally have never used it.(dont play anymore), nor have i ever encountered a scenario where it would have been useful.

Share this post


Link to post
Share on other sites
The bandwidth consumption isn't so bad (how fast can you type, anyway?), but the gameplay and feature design angle is important -- would you like any 13-year-old to be able to spam your chat window with broadcasts about his level 3 rusty sword for sale?

Mostly it's maintainance, customer service, and some global plot messages that need to be global, so you still have to solve the problem. Typically, you'll want to solve that using hierarchy -- if you have a world of 5,000 users, having them all have a connection to the same "global chat" server wouldn't be the smartest use of bandwidth or system resources, as there's overhead in each connection.

For example, you could have a "global broadcast" service, which was admin-only, which would go to all the running game servers, and tell each of them to broadcast the specific message to each of the players currently connected to that server. You may miss one or two players that are zoning from server A to server B while you first tell server B, and then server A, to do the broadcast, but that's probably OK in a design like this.

If you need to make sure everyone gets the message, keep a serial number of the last broadcast message received by a player, and make sure players tell you when they connect; then you can feed them messages newer than what they had (that are still relevant -- you'll need a timeout/lifetime for most messages).

Another interesting problem is the straight player tell. When you "/t Player_Q What's it like in your zone?", the system has to figure out which zone player Q is in, and which server that zone is on, and forward the message to there. One way is to have some service (say, the login server) which is responsible for knowing where each player is at every time, and the server that receives your tell command would check with that service for where to forward the message.

Share this post


Link to post
Share on other sites
Gemstone IV is a text based game that has had login, logout, death and "god" messages that are transmitted to everyone for years. They are not a huge game as far as people online but they usually have 500-1000 people online at any time.

Share this post


Link to post
Share on other sites
"EQ2 allows for chatting across different shards. the syntax is something like."


You can actually chat across games AFAIK. Wanna talk to an old buddy on EQ who hasnt quite jumped on the EQ 2 bandwangon? just do /tell everquest.servername.player message (or something like that)

-=[ Megahertz ]=-

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!