Archived

This topic is now archived and is closed to further replies.

A question about massive multiplayer games...

This topic is 5571 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

I have a question and a few ideas for those that have played massive multiplayer online games like Everquest. First of all, how does Everquest handle areas? Can there only be 32 people per area, or are there multiple servers with the same map/area? I am trying to figure out it is possible to have an online world populated by online players, and yet still have many people in a small space. My idea was a sort of MMORPG FPS hybrid. Each user has his or her own private area, such as an apartment in a city. This is his/her own base where he/she can safely be to recharge health, store excess items, and the like. The apartments could also be used to hold privave ''clan'' meetings without other people coming in. Each person would have his/her own aparment, and when a person logs in, thats where the person would start. If the player dies, this is where he/she will restart. To leave the apartment, the player would go down a hallway to an elevator, then up/down the elevator to get to the lobby, then outside onto the city street. My idea is to have large apartment complexes in a city. The players use the city as a home base to explore/attack/level up in the wilderness outside the city walls. If a player has enough money, he/she could buy a bigger/better located aparment. The player would make money by either trading raw resources, working a job (such as mining outside the city), finding money on other dead players, or getting paid to kill creatures that have a bounty on them. If a player wanted to hold a clan meeting in his or her aparment, pass cards would be given out, that would allow other players to enter that players building and apartment. This would prevent players from pillaging each others homes. When a player dies, he/she would lose everything that they were carrying except money (on a credit type of card?) and the passcard (perhaps a retnal scanner?). Each player would use the first person perspective (although 3rd would do fine), have a small inventory such as that like diablo or Deus Ex, with a limited amount of space, and money. The player can pick up items and store items in thier inventory, then go back to thier apartment and dump the items into a storage closet type of thing, that has a much larger, but still limited inventory size (we don''t want players having a warehouse full of stuff packed into a tiny apartment, just to make things a little better). In the players personal inventry that is carried around with him/her (a sort of ''backback''), the player would have to carry the necessary items to defend him/herself, and do whatever he/she wants outside of the city. The problem that I am looking at, is having lots of people in a small city street. What happens when numerous players die all at the same time, and they all leave thier aparments into the streets at the same time? I am wondering how this could be handled by the servers, and thats why I was wondering how EQ handled its players. There could be an overall story for the multiplayer game, such the city is in the frontier of a new planet in the wilderness, and the players must irradicate harmful creatures from the surrouding areas in order for the people to leave the city safely. There could be huge creatures that lurk outside the city and try to eat the weak/unsuspecting players. The players would need to band together to take out the largest creatures, while players could wonder around and do thier own exploring for thier own maps. The idea of the city is the part that I like. Players would be allowed to shoot eachother, but would be punished very largely. If a player couldn''t pay the fine, or couldn''t escape the police (the moderators), he would be forced to work in a mine or a like place until he does pay off the fine through work. This would only happen in the mid-class and low class parts of the city. If the player gets enough money to move to a high class area, then there would be police protecting the citizens of that area and some sort of barrier that disengages all weapons within the area. Would anyone play this? Moe''s site

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I believe this idea has a lot of merit. One thing I might suggest, and could be only a personal tendancy of mine, would be including ways of bypassing security (such as the pass cards) and in general providing ways of getting around the system that you have set up. The trick of course is to make this fair, and most likely rare. It seems your system is somewhat against this as is though, which I understand, but I think it may be too limiting... again with respect to my tastes.

Good Luck

Share this post


Link to post
Share on other sites
Hey...
To answer your question about EQ... the do use separate servers for each zone. They may combine a couple zones per server (not sure) And, I would imagine that the servers they are using would be pretty powerful.

As for your idea... I like it! I would play something like that... (I like RPG''s, Sim type games) However, there would need to be some goals for sure....

Well, good luck with your idea....

Mike

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Take a look at Dragon Empires, in development by Black Studios and to be published by Codemasters (do a google for a link).

It''s strongly clan based but people have there own rooms in the cities (which the clans can control and tax).

I believe getting into players rooms is handed without having to construct the city using a NPC gatekeeper

Chris

Share this post


Link to post
Share on other sites
Its good to see that people like the idea!

I have a few more things that could be added to it. First of all, the city would be broken down into zones - the area where new players start - which would be filled with midrange apartments that aren''t bad, but not that great. This area of town would have some security against murdering eachother, but it would still be possble to kill someone and run away from the police if done right. This would be like about your average suburb area. Then there is the slum - the aparments cost less, but there is even less, if no, police presence. This lets crimes like murdering/mugging way easier as the police aren''t as likey to come into areas like these. The disadvantage of living in a slum like area is that you are much more likely to get murdered and have your belongings taken.

Then last, but not least, is the high class area. This is where people would most certainly get caught if they shoot someone else. This is the area of fancy apartments and nice streets. There would be a heavy police presence at the gates entering this area. It would still be possible for the slum people to attack the gates and try to get entry to murder/steal from the rich people. Apartments in this area would cost much more than your average aparment.

I also have the possible idea of a mayor. This would/could be the richest person in the town/city, or an assigned person. This person has the ability to control the police. He must keep the balance between ruling the community and letting the community do what they want. He would live in the top of the fanciest building. He would have the ability to make rules for the people and send out city-wide transmissions. I am not sure how well this would fit into the game though.

The jobs that players could do could be security guard, merchant/trader, metal smith, inter-city trader, farmer, miner, creature killer,factory worker, material finder, soldier, poliece man, and a few other positions. Once the player has enough money (a lot of money!) one could rent or buy other property in the city, such as shops, warehouses (small), or factories (very expensive). The player could then work in these places and hire other people to work in them as well.

Moe''s site

Share this post


Link to post
Share on other sites
quote:
Original post by Moe
First of all, how does Everquest handle areas? Can there only be 32 people per area, or are there multiple servers with the same map/area? I am trying to figure out it is possible to have an online world populated by online players, and yet still have many people in a small space.
...
The problem that I am looking at, is having lots of people in a small city street. What happens when numerous players die all at the same time, and they all leave thier aparments into the streets at the same time? I am wondering how this could be handled by the servers, and thats why I was wondering how EQ handled its players.

You seem to be implying that 32 characters in one space is a lot. It isn''t. There are MUDs out there that handle about 1000 people online simultanously, in a single thread on just one PC. The main problem is really just about being careful with what you send.

You may want to research ''flash crowds'' if you are really worried, although I don''t think it''s as big a deal as you think.

[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files | My stuff ]

Share this post


Link to post
Share on other sites
I just learned that 32 players isn't that much. I was talking with The_Alchemist on Tiberian Adventure, and he said that in a game called Ragnarok Online, one time all the servers went down except one. There was about 3000 people packed into one room. Apparently all the servers booted the people into the one town hall room, and since all the servers were down except the one, all the people that were playing the game were all in the one room. Now thats a lot of people! Mind you, Ragnarok Online is somewhat 2D (AFAIK), so you wouldn't have to send a hord of information. If the player has moved since the last packet was sent, you would most likely have to update the position, look at direction, and see if any projectiles were fired or anything was said.

Edit - my bad spelling.
Moe's site

[edited by - Moe on September 9, 2002 7:50:48 PM]

Share this post


Link to post
Share on other sites
This game idea sounds very similar to Neocron (mainly just the city idea part). I didn''t notice any lag while playing. I like your police idea, instead of just disabling PvP. Your mayor idea should be by votes and not by most money. The person with the most money might not be someone you want to be running the city.

Share this post


Link to post
Share on other sites
The problem with having 3000 people in one room (aside from fire codes) is that each person needs to be informed about the actions of the other 3000 people. So if everyone does something at once 9 million messages need to be sent (3000 * 3000).

Share this post


Link to post
Share on other sites
Thats what has me a bit worried - I don''t want to have several hundred (probably 64 at a maximum, if it can be helped) users in the same area. Thats why I am wondering how games like EQ handle large amounts of players.

Moe''s site

Share this post


Link to post
Share on other sites
Everquest (historically - maybe this has changed) handles things very badly, spews a load of irrelevant information out to all the players which is easily hacked. A little thought on their part could have reduced the bandwidth requirements.

With 3000 people in one area, you could consider reducing the notification radius so that you don''t have to tell everyone everything. Or some sort of portal system could work for this. Look at how the graphics people reduce the amount of data to be sent to the graphics card, and consider how you can use that to reduce the data you need to send to the network card. Send movement data less often when areas are cramped, leaving it to client prediction. Jerky motion of 1 or 2 people is less likely to be noticed when you have 30 or 40 onscreen.

You could perhaps have the client send ''visibility hints'' back to the server, so that the server knows that it can send less messages to that client since that client can''t see certain other entities. I don''t know if anyone does anything like this yet, but it sounds like an interesting avenue of research.

[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files | My stuff ]

Share this post


Link to post
Share on other sites
I suppose you could use a sort of quad or octtree for determinng who is in a viewable area. I think the thing that could clog the game up the most is the projectiles. If you get 20 people in the same area shooting at eachother along with a few AI controlled robots with gatling guns, things could get pretty hairy.

Moe''s site

Share this post


Link to post
Share on other sites
The radius is a good idea. I''ve seen it put to use already, works great.
Priston Tale, for example. As you are running along you near someone just on the horizon. First you see them as just a "n00b" character, their base model with no armour weapons. Movement updates are far and few between.
If you get closer, they load up everything, and the movement is a bit smoother.
When you get close enough, you then get updates as fast as possible.

I think it would also be good if you checked to see just how much data is being transfered, and the cut it appropriately. So when you go to a town and 40 people are standing there shouting for trades, you cut the updates down to the middle radius. This way the chance of being completely dropped because of lag is much less, and you don''t end up with some people just not updating... I think.

I don''t actually know any of this, just observing.

------------
MSN: nmaster42@hotmail.com, AIM: LockePick42, ICQ: 74128155
"It''s all part of the conspiracy of conspirators conspiring to conspire their own conspiracies..."

Share this post


Link to post
Share on other sites
Projectiles aren''t that bad of a problem, because all you have to do is send a message to the effect of: "This player fired". Or "This player fired 64 rounds of submachine gun fire". This doesn''t need to take up a lot of space. Much better than sending position information for each projectile.

Sounds like a pretty fun game, although quite similar to neocron, if you made it more fps and less "shoot something a million times cause your character can''t aim" than I would like it much better than the aformentioned game. More Deus Ex style skills, less UO style skills.

I''ve always liked having the police be the limiting agent in player-killing, it seems a lot more natural, and keeps player-killing more in the shadows.

And emulate Deus Ex as much as possible The multiplayer mode was really good, I shudder to imagine what it would be like in a massive game.

Share this post


Link to post
Share on other sites
Ah, I am glad that you guys like my idea.

I can''t say I have had the opportunity to play the Deus Ex multiplayer, but the single player was great. I like how deus ex had the skill levels for the various skills - marksmanship, small weapons, large weapons, demolitions, hacking, electronics and so on. This would be the RPG part of the MMORPGFPS. There could also be different skills such as building, mining, and farming, that when used often, become better. Imagine Deus Ex multiplayer on a large scale with a bit of red faction thrown in and numerous AI controlled creatures, robots, and police.

Moe''s site

Share this post


Link to post
Share on other sites
This doesnt have to do with the above mentioned idea, but the basic concept of MMOG''s is the same. I was also wondering the same sort of stuff. How a single server can update all players information without makeing some of the players lag. I mean the only way i can think of to do it would be a for loop. and just update all the players 1 at a time. the only problem with this is that the further down the list, the longer that person has to wait to be updated on data and thus lag is born. I know there has to be another way. But how? Considering computers execute code 1 line at a time. btw:
MMORPG+FPS+RTS
server:
Rade Motherboard
1536 mb ram
4 30 gb hard drives running as 1 (4x read/write speed)
Cable internet connection
1.6 ghz AMD 1800 athlon processor
think thats enough to handle a few hundred people per kingdom (aka zone)?

Life is just one big game.

Share this post


Link to post
Share on other sites
That looks like a pretty good server to me.

I wonder if there is some way to run it so that the first player to send its info to the server is the first player to get a response. This way the players with good connections can run nice and smooth while the users stuck on dial-up (like me) can still get updates as fast as the connection allows.

Moe''s site

Share this post


Link to post
Share on other sites
quote:
Original post by Mirate
This doesnt have to do with the above mentioned idea, but the basic concept of MMOG''s is the same. I was also wondering the same sort of stuff. How a single server can update all players information without makeing some of the players lag. I mean the only way i can think of to do it would be a for loop. and just update all the players 1 at a time. the only problem with this is that the further down the list, the longer that person has to wait to be updated on data and thus lag is born. I know there has to be another way. But how?

No, there doesn''t have to be another way. You can loop through 10,000 objects in code in a couple of milliseconds. No lag. Remember, 2GHz processors means 2000000000 cycles per second... hundreds of millions of instructions. Don''t underestimate modern computers. At the moment, the bottleneck is the network, not the CPU.


[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files | My stuff ]

Share this post


Link to post
Share on other sites