
Originally Posted by
Astora
Regional channels could be beneficial, yes, but there would still be server side latency when the world server would communicate to the database. It's much, much more complicated than a simple save/load state of your character as you say. Everything that happens in the world has the potential to be some sort of database write/read.
Take a seemingly simple item drop for example; we'll neglect that you're in any sort of party so the item drops directly to you. Your current channel decides you get a drop, awesome! That item will need to be generated in the database, then that item will need to be given ownership to you as well as assigned a slot in your inventory. All this information can be passed at once to the database server to deal with, but you'll be waiting for the database server to do that operation(s) then respond back to your channel. Now not only are we waiting for our channel server, we're waiting for a second server as well that is far away. This is only for an item drop, you still need to think about experience points updates, if the character levels up off of that battle, achievement updates, statistical updates for that particular monster, durability updates to gear, etc.
That's with only one fight. With the new battle pace coming to x|v, we'll be killing a handful of mobs every couple of seconds. Now multiply that by tens, hundreds, thousands of players. The milliseconds add up.
Having a local cache of the database wouldn't be wise either, it opens up way too much potential for having synchronization issues and merging conflicts, not to mention the problems that would arise from wanting to switch channels.
It certainly is possible to host channels across the world, but it does come at a huge server latency and response cost that the player pays for in the end. There are ways to hide the latency, but that doesn't solve the problem.