Diablo 3 start wasn't good for us at all. Blizzard choose a "hands off, God will separate them" approach to handle server over load: players spammed the login screen, some were lucky, some were not. I was lucky, got in in 10 minutes. My girlfriend, who logged in the same minute from the same router was not, and couldn't log in Tuesday at all. So I was walking around in Tristram waiting for her while reading blogs and collecting Cynosural Theory skillbooks in EVE (not bad profit for Alt-Tab once a minute and press one button). In the meantime I was thinking how could one handle the server overload more properly.
The obvious idea: "buy bigger servers" is obviously stupid. As a comparison, EVE has 350K subscription and I've never seen Tranquility population above 45K, while EVE is typically a hardcore game, unlike Diablo 3 that someone can play with much less time without missing out on events or stories. So I'd say after the first 1-2 months the ratio of concurrent logins during peak time vs total games sold will be below 10%. Of course on launch week people want to play much more, so it's expected to rent some extra servers to support the extra population for the first two months, but to rent enough servers for everyone would be some serious waste of money. We are talking about tens of millions of $.
The second obvious idea is waiting in queue instead of randomly getting in and out. It's even worse as it motivates players to make more server load. The best way to get in is to log in earlier and to not log out unless you really must, since you might can't come back. The result is even more server load, on the top of being very unfriendly to casual gamers who don't know such tricks.
Then I figured out the solution and I hope that it somehow reaches the ears of future game developers. I know that some Blizzard guys must read me as they responded very fast for the WGClean idea. At first it needs a login queue, which alone would be 6+ hours and I've just written that queues are bad. The idea is whenever the server is above 90% capacity, a timer starts to roll for every player logged in. This timer measures how much time you spent playing during "peak hours". On launch day probably every time is peak time. When the "approximated wait time in queue" reaches 10 minutes, the server starts to make room by sending a message to the players who has the longest timer: "You played [timer] time while others couldn't log in, it's fair to let them play. You'll be removed from the game in 5 minutes, place your hero out of harms way." A countdown starts and if the player don't log out in 5 minutes, he is kicked, making room for someone who played less. Regardless timer, the game shall always provide one hour uninterrupted play, so if you could log in, you can only get this message 55 minutes after that. The timer is counting of course.
The timer never resets, but it's irrelevant when there is enough server capacity. If someone with timer tries to log in during peak hours (which he can do instantly after being kicked to make room), he is placed to the queue but the queue is sorted according to the timer, with one trick: time spent in the queue decreases the timer.
Example: the game starts at midnight, with 10 slots, 19 players want to play. They are called P1,P2....P19
00:00 the game starts P1-10 get in, P11-19 wait in queue. Since the server is above 90% load, P1-10 all gather timer.
00:55 P1-9 get the "you'll be kicked in 5 minutes" message
01:00 P1-9 are removed, P11-19 gets in.
01:01 P1, P2, P3, P4 and P5 requeued. Since there is queue, P10 gets the message.
01:06 P10 is removed, P1 is back
02:30 P20-29, new players enters the queue. Since they have no timer while P1-5 still have 31 minutes left, they get to the top of the queue
01:55 P11-19 gets the message
02:00 P11-19 removed, P20-28 enters
02:01 P1 gets the message
02:06 P1 is out, P29 is in.
Why is this system optimal? Not only because it distributes the limited resource fairly, but because it motivates people to play in off-hours when they gather no timer. It also motivates them to log off during overload when they don't really want to play.
As a bonus, this system would allows the game company to sell one time timer nullifier service and premium accounts that don't gather timer.
PS: the EVE developers welcomed the terrible start of Diablo 3 with the following joke:
Diablo 3 business report: none. I see no point doing business yet, time best spent growing up. Buy gear in the AH, it's cheap like crap. From the gold a zone provides, you can buy better gear to every slot than the pieces you can find in the same zone. Sell everything at the vendors except really-really good items. Essences are cheap too.
EVE Business report: Thursday morning 22.4B. (0 PLEX behind for second account, 0.9B spent on triage carrier alt) Don't forget to join the goblinworks channel to discuss trading and industrial ideas and laugh on the morons of the day (50-80 people on peak hours).
The obvious idea: "buy bigger servers" is obviously stupid. As a comparison, EVE has 350K subscription and I've never seen Tranquility population above 45K, while EVE is typically a hardcore game, unlike Diablo 3 that someone can play with much less time without missing out on events or stories. So I'd say after the first 1-2 months the ratio of concurrent logins during peak time vs total games sold will be below 10%. Of course on launch week people want to play much more, so it's expected to rent some extra servers to support the extra population for the first two months, but to rent enough servers for everyone would be some serious waste of money. We are talking about tens of millions of $.
The second obvious idea is waiting in queue instead of randomly getting in and out. It's even worse as it motivates players to make more server load. The best way to get in is to log in earlier and to not log out unless you really must, since you might can't come back. The result is even more server load, on the top of being very unfriendly to casual gamers who don't know such tricks.
Then I figured out the solution and I hope that it somehow reaches the ears of future game developers. I know that some Blizzard guys must read me as they responded very fast for the WGClean idea. At first it needs a login queue, which alone would be 6+ hours and I've just written that queues are bad. The idea is whenever the server is above 90% capacity, a timer starts to roll for every player logged in. This timer measures how much time you spent playing during "peak hours". On launch day probably every time is peak time. When the "approximated wait time in queue" reaches 10 minutes, the server starts to make room by sending a message to the players who has the longest timer: "You played [timer] time while others couldn't log in, it's fair to let them play. You'll be removed from the game in 5 minutes, place your hero out of harms way." A countdown starts and if the player don't log out in 5 minutes, he is kicked, making room for someone who played less. Regardless timer, the game shall always provide one hour uninterrupted play, so if you could log in, you can only get this message 55 minutes after that. The timer is counting of course.
The timer never resets, but it's irrelevant when there is enough server capacity. If someone with timer tries to log in during peak hours (which he can do instantly after being kicked to make room), he is placed to the queue but the queue is sorted according to the timer, with one trick: time spent in the queue decreases the timer.
Example: the game starts at midnight, with 10 slots, 19 players want to play. They are called P1,P2....P19
00:00 the game starts P1-10 get in, P11-19 wait in queue. Since the server is above 90% load, P1-10 all gather timer.
00:55 P1-9 get the "you'll be kicked in 5 minutes" message
01:00 P1-9 are removed, P11-19 gets in.
01:01 P1, P2, P3, P4 and P5 requeued. Since there is queue, P10 gets the message.
01:06 P10 is removed, P1 is back
02:30 P20-29, new players enters the queue. Since they have no timer while P1-5 still have 31 minutes left, they get to the top of the queue
01:55 P11-19 gets the message
02:00 P11-19 removed, P20-28 enters
02:01 P1 gets the message
02:06 P1 is out, P29 is in.
Why is this system optimal? Not only because it distributes the limited resource fairly, but because it motivates people to play in off-hours when they gather no timer. It also motivates them to log off during overload when they don't really want to play.
As a bonus, this system would allows the game company to sell one time timer nullifier service and premium accounts that don't gather timer.
PS: the EVE developers welcomed the terrible start of Diablo 3 with the following joke:

Diablo 3 business report: none. I see no point doing business yet, time best spent growing up. Buy gear in the AH, it's cheap like crap. From the gold a zone provides, you can buy better gear to every slot than the pieces you can find in the same zone. Sell everything at the vendors except really-really good items. Essences are cheap too.
EVE Business report: Thursday morning 22.4B. (0 PLEX behind for second account, 0.9B spent on triage carrier alt) Don't forget to join the goblinworks channel to discuss trading and industrial ideas and laugh on the morons of the day (50-80 people on peak hours).
0 comments:
Post a Comment