Yeah, somehow I don''t think it''s a problem to find people who want to make content for massively multiplayer online worlds! =D
Just about every other joe here wants to do it! =D
-=Lohrno
Will we ever get truly Massive multiplayer environments ?
quote: Clearly for the game above to maintain the player to real estate relationship and be a “one world” game, either the number of zones would have to increase 10 fold, or the size of the zones increase by 10 fold. I don’t think it is economically viable to have 1,000 distinct zones so they would have to grow larger. This raises a number of issues around in game transport and communication.
One thing you might want to consider is to stop thinking of these games in the ''zone'' format. Most of the games that are coming out today have very little relationship with EQ and UO on that side of things. They are clusters (see: http://www.beowulf.org) that have only one zone. There are ways to segment this. DAoC uses the different ''realms'' to segment a bit, creating effectively 3 ''zones'' for all of the players. There is also a segmentation that does not occur, but is simulated by making different ''areas'' within the server, so that database searches are significantly simplified and can maintain the performance levels necessary to avoid lag. These areas are not really segmentation, though it is easy to keep the PC/NPC information segmented to avoid having to search through 20k entries just to find who is within range for you to see.
Most servers in EQ are not much less crowded than it was 2 years ago, primarily because of the fact that many areas are far from cities and the resources that cities give to a group. While many won''t enter a city for weeks at a time, the vast majority generally enter a city for banking, provisions and such needs frequently.
In the future hell yeah. But you will have to solve sertain data transfer issues, you will have to rebuild the architecture of the servers and home computers gotta have multiple processors(and a system to take advantages of it built in the game). With those issues solved maybe
quote: home computers gotta have multiple processors
Huh? Where the hell did you get that from? Maybe you don''t understand the MMOG game structure. It''s not UT or Q3, it''s a completely different structure. All your home computer does is act as a fancy picture display. AI? Never touches your PC. Pathing? Yeah, the pathing is you pushing the arrow keys. Input, display. That''s all the home computer does in an MMOG, the servers do it all.
quote: But you will have to solve sertain data transfer issues
Networking oddly enough isn''t where you run into data transfer issues, you''re able to transfer data across Myrinet or Dolphin faster than 99.9% of RAID arrays can access that data. At better than 1/2 the speed that your good old Celeron RAM runs at. The better technologies that are out there can send at speeds in excess of 400MB/sec (Myrinet), The old-school Celerons (w/66Mhz FSB) only send at 533MB/sec potential and almost never hit the actual performance that Myrinet or Dolphin (~250MB/sec, up to 300+MB/sec) do.
The real issue is HDD access issues. If you can get some nice solid state drive technologies out there soon, it will resolve a lot of the potential latency that you could see. It might be expensive, and the debate between spending $200 on an 18GB SCSI HDD and $600 on a 500MB SSD is far from one that can be easily be won. The real time when debates get messy is when you start looking at the difference between 10ms access times and ~15-100us access times on database functions. You''re not pulling 100MB, or even 1MB at a time, you''re pulling around 10-100 bytes at a time. Access time is essential for this type of application, with constant database activity.
Gundam Online: 160,000 users at the same time. I rest my case!
Check it out: http://61.206.44.102/index_en.html
Check it out: http://61.206.44.102/index_en.html
My Stuff : [ Whispers in Akarra (online rpg) || L33T WAR (multiplayer game) || The Asteroid Menace (another game) ]
quote: Access time is essential for this type of application, with constant database activity.
Are you really sure these apps do that much real-time database activity? I know Kylotan implied in a discussion long ago that the real-time data was mostly kept in memory and that the databases were only used to periodicly save characters and world state so it could be restored in case of a crash.
quote: Gundam Online: 160,000 users at the same time. I rest my case!
Bah, Gundam Online is unreleased software. It is easy to promise but a lot harder to deliver when it comes to truly massive scalability. Project Entropia also promises to support millions of users interacting with each other, but it has also not been released yet.
Many MMORPGs will never be released, recently Lost Continents was ''put on hold'' and previously Ultima Online 2, Dawn and a norse game from Funcom got canceled (I am sure they were not the only ones).
It matters on your structure.
I like the idea of trying to keep a lot more consistent information on the db than many people do. There are benefits to each and detriments to each. Either way, much of the information soon after someone logs in will be held in memory as a matter of course, though keeping everything updated in the db is pretty useful for avoiding various bugs that you find in most of these games. All of the duplication bugs in EQ and UO are directly related to the database. You can still duplicate in these games, though EQ has implemented a tracking system so that unique items (items that are non-stackable) are immediately flagged if duplicated. Money and stackable items can still be duplicated all day long and not be caught by the servers. Of course it''s a pain in the butt to do, though duping a stack of blue diamonds can definitely be worth the effort. It''s not easy to die in the split second between when your character gets saved in the master database as logged out and when the zone server logs your character out. Of course, they could simply give your character immunity for the last 5 seconds of the log-out timer.
Don''t get me wrong, there is a cost involved. The amount of money that you spend on HDDs is significantly higher and you end up having to run write cacheing for times of update floods. This may end up with a slight bit of inconsistency at the millisecond timing level, but it will be small enough as to almost be impossible to take advantage of. Plus the fact that you can segment the database onto separate servers to allow different information to be saved in different databases allows you to avoid the performance issues even more.
I like the idea of trying to keep a lot more consistent information on the db than many people do. There are benefits to each and detriments to each. Either way, much of the information soon after someone logs in will be held in memory as a matter of course, though keeping everything updated in the db is pretty useful for avoiding various bugs that you find in most of these games. All of the duplication bugs in EQ and UO are directly related to the database. You can still duplicate in these games, though EQ has implemented a tracking system so that unique items (items that are non-stackable) are immediately flagged if duplicated. Money and stackable items can still be duplicated all day long and not be caught by the servers. Of course it''s a pain in the butt to do, though duping a stack of blue diamonds can definitely be worth the effort. It''s not easy to die in the split second between when your character gets saved in the master database as logged out and when the zone server logs your character out. Of course, they could simply give your character immunity for the last 5 seconds of the log-out timer.
Don''t get me wrong, there is a cost involved. The amount of money that you spend on HDDs is significantly higher and you end up having to run write cacheing for times of update floods. This may end up with a slight bit of inconsistency at the millisecond timing level, but it will be small enough as to almost be impossible to take advantage of. Plus the fact that you can segment the database onto separate servers to allow different information to be saved in different databases allows you to avoid the performance issues even more.
I would think another good solution would be to distibute the entire geography of the world across several servers. That is, one small continent could be handled by a server, and another larger continent could be handled by 3 or 4 servers. Players would be automatically redirected to the next server when they cross into another server''s "borders". This border could be obvios (using a ship to cross to an island continent) or completely non-descipt (an invisable border based on coordinates.) Obviously this system would need some sort of intelient control, but it would definatly allow a larger world to be distributed across several servers. This would also allow for rather easy scalability. For example if a metropolis sprouts up in one area that begins to bog down the server, that servers domain could be split in half with another server. Furthermore, I just had a cool idea! This sort of system could even be worked into gameplay as sort of kingdoms, Each could have a king or ruling party to make decisions and laws that apply within the borders of their domain. This type of setup has a lot of cool things that could be implemented. For example, one of these "kingdoms", could take over another "kingdom" and gain contol of their policy-making. Imagine the fueds that would start over this, just like the real-life medievil period! That would certainly make for interesting gameplay.
Ravyne
Owner/Lead Programmer & Designer
NYN Interactive Entertainment
HTTP://www.NYNInteractive.cjb.net
Ravyne
Owner/Lead Programmer & Designer
NYN Interactive Entertainment
HTTP://www.NYNInteractive.cjb.net
throw table_exception("(? ???)? ? ???");
quote: That is, one small continent could be handled by a server, and another larger continent could be handled by 3 or 4 servers. Players would be automatically redirected to the next server when they cross into another server''s "borders".
I believe that this is the way that UO handles it. The problem is that even a small 3D island (the size of Odus in EQ) would take more power than you might noramlly think. To run all the ''zones'' for that island, complete with NPCs, would take probably take more than a quad processor system at the highest level x86 processor (I think you can only do quad 733s or something like that right now).
The differences in the approaches is that one way you end up with crowded areas being laggy because of the server being overloaded with PCs/NPCs, the other you end up with consistent play across the shard. The only lag that you''ll run into will be related to either your internet connection or your your video card, not the servers running the shard. I''ve seen server crashes because of load. Greater Faydark (back when it was Greater Fay-mart before Luclin) had 120 people in it normally, then some brilliant person decided to have a GM event. The zone went down because the server that was running it couldn''t handle the load and probably ran out of memory(just a guess).
With a nice Beowulf Cluster, the worst case scenario is that a particular area gets a little slow because of graphics. Nothing major there at the larger scale.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement