Lag making high pop servers unplayable (fundamental game design flaws)

Let me get this straight…

-The game was designed to hold 2000 (or 2250) players per server, but when there are 2000 players online, the server can’t actually handle it. Lag increases to an insane amount, especially around towns, making the game practically unplayable in these areas.

-The game was designed to have large scale pvp, but when players actually engage in large scale pvp, the server can’t handle it, and the lag comes to a point where these battles are literally unplayable

I know I know, I’m supposed to be nice to the crew and give constructive feedback without ‘offending’ anyone (I’ve read the post…), but there is just no excuse for this. The game’s servers literally can not even support basic fundamental gameplay elements. What do I need to say more?

1 Like

Any techies know if this is even fixable?

For example, is there something that can be done to the server hardware to make it more powerful and run computations faster?

Or is it the game engine, design and code that has issues?

I ask because I’ve played MMOs since EQ1 and I’m pretty sure those servers had more than 2000 players and I don’t remember the servers having lag issues because of player population. This is really baffling to me because aren’t Amazon servers meant to be among the best in the world?

Since I’ve always had problems with my connectivity, and don’t have the best connection to begin with, I never really considered that the servers were ‘over-capacity’ or struggling to sustain the player count. Friends had frequently told me {when asking} that they never experienced “lag” even when the servers were full. So, I’d just assumed this was on my end.

That said:

Absolutely.

Easiest method would be to just throw faster hardware at the problem. If that’s not possible, then you have to move onto actual optimization … and if your backend code is already tuned to the point this is difficult to squeeze more out of it {already parallelized, low thread-contention, well written code} – you start taking shortcuts.

Shortcuts means that you simplify checks and other calculations or reduce the frequency of them.

For example, under the hood all game-logic will operate at a ‘tick-rate’. Different mechanisms of the game’s logic may happen at different frequencies [AI decisions, network-frame updates, entity movement, actions, etc]. A very easy way to reduce the overhead of a game, is to just increase the time between whatever the most expensive ticks are. → NOTE: That’s easier said than done.

– Decreasing the number of ticks increases the time to complete operations without falling behind.

– There are less calculations and updates happening, which directly translates to reduced-load, and thus increased capacity.

– Game mechanics may not behave properly at a lower tick-rate. {has to be tested thoroughly}

– Larger time between ticks increases perceived latency to players. {at lower capacities, there’s more-delay}

It was stated in one of the official posts that hit testing was done by playing out the full skeletal animation of a character on the server-side {to make dead certain it was sane}. Though it would reduce accuracy, this could be dropped to just a basic and quick hitbox.

In jist, there’s plenty of ways to cut corners and squeeze more performance out. Some can be done dynamically, like tick-rate, where tick-rate could be dropped on the fly as population increases or the server reaches capacity.

EDIT: On the hardware front, depending how things are structured it may also be possible to throw ‘more hardware’ at the problem, rather than just faster hardware. Divide and conquer, further splitting of any server cluster.

1 Like

Thanks for the detailed response.

Glad to hear that there’s still hope :slight_smile:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.