PDA

View Full Version : My biggest concern: LAG



benczi
09-11-2013, 02:38 AM
Last night I entered a draft on MTGO, and the game was lagging so bad, I got auto-picked a few cards during the draft, and almost lost to time. And unfortunately this isn't even a single occurrence, it happens almost always.


There is nothing more annoying in a game that is meant to be played real-time than having to wait several seconds until the game acknowledges the play you'r trying to make.


There are generally three reasons for lag:

bad internet connection - I understand that good broadband is not generally available in the US
great distance between players - I live in Europe, if I play with someone from Australia, we will have a very slow game (also here is great distance between player and server if the infrastructure is the same as mtgo - single server in the us; should not be a problem if the infrastructure is like battle.net - multiple servers across the globe.)
wood pc - the game can't render all the fancy graphics and animations in real time


From what we heard so far point 1 - bad internet connection - should not be a problem since the data that needs to be transmitted is quite small. That leaves points no. 2 and 3. Do you guys know anything about these issues? Or can someone point them out to the developers just in case, just to be sure they are addressed?

Gwaer
09-11-2013, 02:44 AM
With a very very small data footprint 2 shouldn't really matter either. There may be some increased latency, but we're talking delays of less than a second in most cases.

I don't believe the game is going to be graphically intensive at all, but in the case of someone playing on a 15 year old laptop then you might see your biggest slowdown. Seriously though, can get a pretty decent laptop for less than 300 these days. It's not worth maintaining computers that old.

NaryaDL0re
09-11-2013, 02:57 AM
Mtgo has annoying lag proplems that I havent been able to figure out.
The amount of data transferred is negligable .... They must be super
greedy and run a very small age old server somewhere in a basement...

No idea how a TCG can possibly lag like that if maintained correctly.

Shadowelf
09-11-2013, 03:47 AM
We are talking for a game with low requirements, low bandwith, 2D world/cards for graphics and intenret connection isn't usually a problem nowdays. As for servers they said that they will hire people to offer additional platform support. So i don't think that this will be an issue (not in an extent to be annoying at least). Also we are talking for 15k people, which are not enough to stretch test the server imho

Sources:

http://www.twitch.tv/knightsoftheroundshow/b/430004874 check 1:06:00
http://www.twitch.tv/knightsoftheroundshow/b/430004874 check 1:07:00
http://www.thehexvault.com/blog/2013/08/31/dragoncon-2013-hextcg-pvp-design-panel/ check 0:00:50
http://www.thehexvault.com/blog/2013/08/31/dragoncon-2013-hextcg-pvp-design-panel/

wutae
09-11-2013, 04:43 AM
And yet solforge has major lag problems, at the begin of beta it was unplayable, now it is just SLOW

Kroan
09-11-2013, 07:23 AM
And yet solforge has major lag problems, at the begin of beta it was unplayable, now it is just SLOW
That's because SolForge was made most likely people who never wrote a decent game before. It's a very, very badly programmed piece of software.

zadies
09-11-2013, 07:36 AM
Soulforge has a number of bugs that make me wonder how well the server was actually coded.

I'm not seeing much lag in hearthstone so I'm not really worried about it.

jetah
09-11-2013, 07:43 AM
Hearthstone doesn't have lag at all. It's either playable with bnet up, or bnet is down.

Remember they are making a client for tablets, the hardware requirements can't be too high.

Mr.Funsocks
09-11-2013, 08:27 AM
You really can't use MTGO or SolForge as examples. They were apparently both programmed by monkeys who last learned to program something 15 years ago. They're both hideously outdated in many ways (though MTGO is worse).

If it's possible to program a game where 100s of people can have unique 3d sprites in an open world and have them rendered in real-time and keep up with the network demands of it with only periodic lag, 15 years ago, I think a card game aught to be pretty smooth.

Miwa
09-11-2013, 01:03 PM
If they don't have server problems at Hex launch, I'd be very very worried. Because if they don't have problems, that means they likely have too much going on in the client (which is what I would bet on from what I've heard so far).

Then again, if the alpha/beta period is thousands or tens of thousands of people, at least that is probably manageable from their startup experience.

Mr.Funsocks
09-11-2013, 03:19 PM
If they don't have server problems at Hex launch, I'd be very very worried. Because if they don't have problems, that means they likely have too much going on in the client (which is what I would bet on from what I've heard so far).

Then again, if the alpha/beta period is thousands or tens of thousands of people, at least that is probably manageable from their startup experience.

What, exactly, would you expect the servers are going to have to do that will take a whole lot of server capacity? They just need to send a little packet to the client saying what card is next to draw, or what card is being played.

Quasari
09-11-2013, 03:46 PM
What, exactly, would you expect the servers are going to have to do that will take a whole lot of server capacity? They just need to send a little packet to the client saying what card is next to draw, or what card is being played.

There's a lot. The DB is going to be huge since every individual card is it's own entry. Then you got the AH DB, the AI(for each instance of a PvE table), the PvP tables, the event queue, the match maker, the chat server, login server, etc... There's a lot going on that can go wrong. Their going to mitigate this by rolling stuff out slowly during alpha/beta to make sure it's stable, but depending on the numbers drawn, we are going to have issues once they open the flood gates, it just depends on how bad it's going to be.

My biggest concern will be the DB over time. The only MMO with similar amounts of data that this thing will wrack up was old school SWG and many of the developers said they will never do a resource/crafting system like that again due to the headaches involved with the DB.

hacky
09-11-2013, 03:47 PM
With a very very small data footprint 2 shouldn't really matter either. There may be some increased latency, but we're talking delays of less than a second in most cases.

Game latency can be introduced in many different ways. Even if there is not much data being transferred, if there is something causing data packets to be delayed for several seconds between your client and the server, you will still see a significant delay. And that's not something that is easily fixed by any developer: that is the nature of the Internet.

And often, great distances between client and server are the cause of this. Sometimes, major pipes go down, routes that data packets take change. This is the reason why online games tend to segregate server clusters by region.

In practice, there are ways to mask data latency to a player's client, and that's really the way to go in terms of making the "lag" seem reduced. That's what you really want to know -- there will be latency, will the HEX client handle it cleanly?

BongoBong
09-11-2013, 04:52 PM
If they don't have server problems at Hex launch, I'd be very very worried. Because if they don't have problems, that means they likely have too much going on in the client (which is what I would bet on from what I've heard so far).

Why would it be bad if lots is going on in the client as opposed to from the server?

Kami
09-11-2013, 04:54 PM
Why would it be bad if lots is going on in the client as opposed to from the server?

Higher chance of reverse engineering and potential client-side exploits, etc.

jetah
09-11-2013, 05:04 PM
Only problem I can see is log in servers. On the upcoming alpha/beta we'll have KS + SB trying to login. I tried my best to refrain from using all and I won't use any percents either.

We don't know if Crypto is going to have their own servers or if they'll rent servers. If they rent, there is the possibility that the servers could scale with the demand.

Miwa
09-11-2013, 05:35 PM
Why would it be bad if lots is going on in the client as opposed to from the server?
Assume that everything the client knows or assumes is easily hackable. If the client knows anything more than the cards in your hand, and the visible state of the game (cards in play, cards in graveyard, etc) then it's not a great challenge to make an app that would scrape the info and present it to the user. Think the equivalent of maphacks.

The server needs to do everything, otherwise it ends up being chaos. The client can't be authoritative on anything. The only thing the client should talk to is the server, not the other clients. Otherwise it's possible to DDOS or crash your opponent.

BongoBong
09-11-2013, 05:50 PM
Assume that everything the client knows or assumes is easily hackable. If the client knows anything more than the cards in your hand, and the visible state of the game (cards in play, cards in graveyard, etc) then it's not a great challenge to make an app that would scrape the info and present it to the user. Think the equivalent of maphacks.

The server needs to do everything, otherwise it ends up being chaos. The client can't be authoritative on anything. The only thing the client should talk to is the server, not the other clients. Otherwise it's possible to DDOS or crash your opponent.

Thats all I could think of, but you then stated "which is what I would bet on from what I've heard so far". What have you heard that makes you think that? I believe I heard them say that the game was online only specifically for this reason.

zadies
09-11-2013, 06:04 PM
When you are in a game where your deck is already made the game doesn't need to track the entire database only those 80ish cards, and most of that can really be done with very little data transfer you track them as unique cards through that game then add the exp to the official record of the card after the game is complete.

There really is no need during the game to track the entire collection of cards in the universe.

Facilier
09-11-2013, 06:32 PM
When you are in a game where your deck is already made the game doesn't need to track the entire database only those 80ish cards

A pleasant fiction, until we consider any of the "random <cardtype>" effects.

zadies
09-11-2013, 06:37 PM
Not really because the cards created at random don't actually need to be tracked in the gobal database of each card having its own double back xp. They are basically thrown away after the event.

benczi
09-12-2013, 01:23 AM
There's a lot. The DB is going to be huge since every individual card is it's own entry. Then you got the AH DB, the AI(for each instance of a PvE table), the PvP tables, the event queue, the match maker, the chat server, login server, etc... There's a lot going on that can go wrong. Their going to mitigate this by rolling stuff out slowly during alpha/beta to make sure it's stable, but depending on the numbers drawn, we are going to have issues once they open the flood gates, it just depends on how bad it's going to be.

My biggest concern will be the DB over time. The only MMO with similar amounts of data that this thing will wrack up was old school SWG and many of the developers said they will never do a resource/crafting system like that again due to the headaches involved with the DB.


DB latency.


I guess this is the forth reason for lag. When I first heard about each and every card being a unique object, I instantly went zomg the db is going to be huge, where are they going to store all that, but an even better question would be how long is it going to take to do a simple query on the db?


The reason I'm concerned is because we have 2 games, MTGO new beta client and Solforge, that even thou are totally new, 2013 editions, they still lag like hell. It's so easy to not take lag into account when you are working with local servers, you simply don't notice and don't even think about it.


We will have the alpha, with limited amount of cards, limited amount of people, limited content, limited number of games running at any given time. I foresee no issues of this nature in alpha or beta. I think this will be a real issue, and a big one at that, once we have 3-4 sets available, and a million people playing the game.

HyenaNipples
09-12-2013, 01:29 AM
But all the card statistics would be account bound, so isn't that in some way segmented? World of Tanks doesn't have much trouble working with all the varied vehicle stats, and League of Legends manages all the individual mastery and rune set-ups. Are these types of individual data that different from a player's individual card collection?

Soul-of-Void
09-12-2013, 06:01 AM
Can`t they do something like simulation with thounsands of bots that each got 200 or more cards, paying games ect to see how servers handle that kind of numbers ? If i remeber correctly something like this was done in GW2 to test servers and probably is done in many other games.

benczi
09-12-2013, 08:33 AM
It's not a question of can they or can't they, but will they? It's really easy to avoid all of these problems as long as they are addressed.

jetah
09-12-2013, 01:19 PM
If Eve Online can have 1 shard for their game with all of the ship/mod iterations + combat + traveling + resource + individual markets + character skill points + ship building + more I'm not aware of. I'm sure Hex will be ok.

Miwa
09-12-2013, 01:27 PM
It took many years for Eve to get to where they are now. Look at what it used to be like if 1000 people were in a system... I would also expect that Hex is shooting for a higher average player population online at once also.

The problem is that many things that work at smaller scales suddenly don't when you have to scale up massively. And it isn't just a case of 'throw more hardware at it'.

jetah
09-12-2013, 03:27 PM
And it isn't just a case of 'throw more hardware at it'.

you can solve everything with money.

I agree with the Eve thing, however, you have to remember the hardware for servers back in those times. I think that was one of CCP's growing pains which they did get through.

BongoBong
09-12-2013, 06:33 PM
you can solve everything with money.

I agree with the Eve thing, however, you have to remember the hardware for servers back in those times. I think that was one of CCP's growing pains which they did get through.

Not to mention there must be a huge difference when all these people are playing in the same area/world at the same time with each other as opposed to just 2 people playing a card game against each other.

I would think D3 is a fairly good comparison in that they have completely unique items, and a helluva lot of them being constantly generated. Not all are going to be picked up, but for each player hundreds of unique items could be generated an hour.

jetah
09-12-2013, 06:58 PM
Not to mention there must be a huge difference when all these people are playing in the same area/world at the same time with each other as opposed to just 2 people playing a card game against each other.

I would think D3 is a fairly good comparison in that they have completely unique items, and a helluva lot of them being constantly generated. Not all are going to be picked up, but for each player hundreds of unique items could be generated an hour.

yeah, it'll be a lot of DB items. but i hope Crypto has great developers so we dont have to worry about it ;D

zadies
09-12-2013, 10:31 PM
The unique items that the system has to save and remember are not generated on the fly only when you do specific tasks like complete a dungeon or open a pack.

Murmeldjuret
09-15-2013, 09:29 PM
The convoluted mess of DB wouldn't affect in game play if they modulize the servers (im pretty 100% sure they will), but it could lead to long time to wait before and after matches as DB servers might have to form queues.

For this Alpha, there shouldnt be any problem at all, as even if you have a millions of cards, it will only amount to a few GB, and if they have top of the line server hardware and optimized software it shouldn't amount to anything basically. If every single user tried to access DB at the same time, it will definitely cause trouble, but we aren't, are we? The problem will be if the user numbers get up to the 7 digits, and if people start owning thousands of cards. But this still won't be that awful in gameplay terms since the gamehosting server "simply" loads all relevant cards prior to a match and then updates all of them at the end. If it was a draft/raid or something that generated cards it simply adds these to the DB after session. So it might cause several seconds (possibly a minute if the code is bad/buggy, or servers strained) of wait before and after matches, but in game, it should be possible to get latency close to ping, which in our current age is a third of a second from China to Europe. Not that 1000ms latency is any big issue in this genre. If one really finds it hard to time ones Quick Actions, one can just pause at every phase.

I think in the long term serverside calculations are a necessity, and they should be (and are) going for long term from the start.
And I think (and hope) that they take the security very seriously, as it is going to be a lot of time and money invested.

Miwa
09-15-2013, 10:00 PM
Database size isn't the issue, concurrent access is.