4 ms·
Early MMOs (WoW, Asheron's Call, Everquest, Daoc) were very impressive in terms of distributed computing.
by Eumenes 3y ago
Early MMOs (WoW, Asheron's Call, Everquest, Daoc) were very impressive in terms of distributed computing.
- Thaxll 3y agoThey were not really distributed though, I think one of the first that really started was Guild Wars 2. https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2017/Presentations/Clarke-Willson_Guild%20Wars%202%20microservices.pdf https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2017/Pres... DAoC was basically a Linux box with a bunch of processes connected to MySQL. https://www.gamedeveloper.com/disciplines/postmortem-mythic-entertainment-s-i-dark-age-of-camelot-i- https://www.gamedeveloper.com/disciplines/postmortem-mythic-...
- deleted 3y ago[deleted]
- Eumenes 3y agoWould this count? https://www.gamedeveloper.com/design/classic-postmortem-i-asheron-s-call-i- https://www.gamedeveloper.com/design/classic-postmortem-i-as... > One the most impressive features of the Turbine engine is the continuous outdoor environment. This is made possible thanks to dynamic load balancing, which is a scalable serverside architecture. The easiest way to appreciate the need for dynamic load balancing is to consider the following scenario. > Dynamic load balancing solves this overloaded server problem. Instead of assigning a static geographic area to each server, the individual servers can divide up the game world based on the relative processor load of each server. In the previous example, instead of remaining idle, all four servers would divide the load equally among themselves, ensuring the most efficient use of the hardware’s processing capacity.
- Animats 3y agoThat's a useful technology. Second Life / Open Simulator do not have that, and need it. It's good to hear about a success with that approach. Improbable tried that, dividing the world into regions but moving the region boundaries around based on player density. This worked, but apparently required huge amounts of inter-server traffic. The system was too expensive to operate. (Running it on Google Cloud with metering for every client/server transaction didn't help.) Five indy free to play games, some of them good (look up Worlds Adrift), went bust because of server cost. Improbable then pivoted to simulators for the UK military, a much less cost-sensitive market. That worked, but they had way too much company and funding for that niche. Then they tried to pivot to crypto metaverses, two years too late, and hooked up with the Yuga Labs (Bored Ape, Otherside) crowd. Lately, they're trying to do something with US Major League Baseball. Their solution to the cost problem is to only run special events that last a few hours, for which they can short term rent some huge number of servers from AWS or somebody. There's still no good off the shelf solution for this kind of scaling, with big worlds and big moving crowds. Epic and Roblox were making noises about working on this problem a year ago, but not much has been heard recently. Now both are in money-losing and layoff mode.
- fnimick 3y agoTo be fair, GW2 was able to do that by instancing the world per zone, with loading screens to switch server connections, rather than having a seamless open world.
- Kelteseth 3y agoI love reading the source code of WoW private servers. They are not the official code but for example TrintyCore is quite nice c++ code.
- quadral 3y agoThe WoW development diary talks abit about their server code and how they handle the load.
- jimbob45 3y agoDo you have a link? I’m intrigued.
- fsfod 3y agoIts a book https://whenitsready.com/wowdiary/ https://whenitsready.com/wowdiary/ originally sold as a kickstarter by one of the original Blizzard mappers made from notes they wrote while working on original wow. They did some AMAs[1][2] with other wow developers that sort of touch on some of the topics discussed here. [1] https://www.reddit.com/r/wow/comments/9huows/ama_former_wow_developers_kevin_jordan_classes/?sort=qa https://www.reddit.com/r/wow/comments/9huows/ama_former_wow_... [2] https://www.reddit.com/r/classicwow/comments/9fb2bo/john_staats_ama_author_of_the_world_of_warcraft/?sort=qa https://www.reddit.com/r/classicwow/comments/9fb2bo/john_sta...
- lakomen 3y agoWoW is not in the same league as EQ, AC, DAOC. WoW is a 2nd or if you count Meridian 59 as gen1, 3rd generation MMORPG. It was not the 1st that had seemless maps, but IMHO it did that best. EQ2, while not having seamless maps, would be in the same league as WoW.
- BryantD 3y agoAnd the techniques in the article are basically how we did it. (I say “we” but I’m just a system administrator who got to work with some cool people at Turbine.) As Eumenes notes, the Asheron’s Call engine was significantly ahead of its time with the seamless zoning. The cost was high, though — we needed quite a few servers to run a world, I think many more than our competitors. There are business reasons why we weren’t quite as cost-conscious as we perhaps should have been. The other factor involved in determining how often you persist is item duplication. If it’s possible to transfer an item between players without persisting state, and if there are known exploits that crash servers (not world, but individual servers), you wind up with an exploit that can duplicate items. But I’m sure that’s just hypothetical.