AlmarWinfield wrote:

Arishkogol wrote:

devs said that as great of an idea as it is it's just not possible
How is it not possible when WoW just recently did it?

Thats the bit I don't understand.

Sure they're too different games and would require two different lines of code...

But you can build two rockets that are entierly different, but the basic principle is still the same.



Thats the devs excuse for "We're too lazy to do that"
Not exactly. You're basically asking why an arched bridge can't be changed into a suspension bridge. Sure, they're built on two different principles, but they're both bridges...

The foundation for EverQuest - the server architecture - was laid in 1996. The game that used this architecture, Tanarus, ran on a $250,000 SGI Challenge 10000 XL that had 4 195MHz processors and 512 Mb of RAM. The Tanarus server had to use flat files for game and player data - databases were just too slow and too expensive. When EverQuest started development in 1997, high-end server processor speed had jumped to nearly 300MHz, which was a HUGE improvement, but it still wasn't fast enough to run a relational database that served the number and frequency of requests that games generated. The engineers at that time chose to use flat files for characters and server data, which is what we still use today. Your character is a file named with your first name, sitting on the hard drive of a specific world server. When you go into an instance, the instance server does all reading and writing to your character through requests to your home world server.

As server speed rose and database costs came down, most new games were developed with centralized game databases at their heart. Anarchy Online, Star Wars Galaxies, Eve, EQ2, Vanguard, and, yes, World of Warcraft all have at least some portion of their server data running through one or more database servers. Characters' primary keys are not their first names, but are rather unique identifiers. In many cases, all world servers use the same character database. When you go into an instance in these games, reading and writing to your character does not fundamentally change.

So no, adding cross-server instancing isn't impossible. Nothing's impossible. But it would require fundamentally rewriting everything regarding the handling of your character on the client, zone server, and world server. It would require a new database server cluster. It would require new database software and a new interface for our world servers. It would require creating a new suite of CS tools from scratch. It would require rewriting our interface with EQPlayers and our other internal data servers. It would require importing millions of player files into this new database while simultaneously creating new primary keys for them. It would require months of work while everything else is code-locked, hundreds of hours of testing and trial runs, and then probably a week or so of downtime per server while data is migrated over, checked, and rechecked, because there can be no failures or mistakes - zero. Oh, and the game would have to keep running while we did all of this.

And after all of that was accomplished, then we could start working on cross-server instancing.



More...