News:

FOR INFORMATION ON DONATIONS, AND HOW TO OBTAIN ACCESS TO THE GAME, PLEASE VIEW THE FOLLOWING TOPIC: http://stick-online.com/boards/index.php?topic=2.0

Main Menu

SO3 lag

Started by jonsploder, December 10, 2011, 06:14:50 PM

Previous topic - Next topic

jonsploder

From my brief memory of SO2 before the desert, and after the desert, both were similarly laggy with enough players and seemed to handle lag the same way (players running off the screen in one direction until lag was fixed...) so I'm assuming that there were no networking changes/upgrades. Is this because it is essentially as good as it could practically get and my aussie connection is to blame?

I know SO3 is going to be made from scratch, so I'm wondering how much better the lag is expected to be handled better and if overall networking improvements will allow more players to get online without as much lag like when the chaos tournaments were on.

sly 3 4 me

In comparison to before and after the donor server, it should be better since it will be a server that is meant to hold more than the current player base. It will be a better hoster and server provider when V3 comes out. Not quite sure if Meiun has tested it with lag in terms of players, since I know not many people have access to the current testing. Perhaps he hasn't addressed it at all because it won't be a problem.

Meiun

#2
Short(er) answer:
It's mainly the fact that you are from Australia and the only server's SO has ever had have all been hosted in the US (and in more than one occasion, on less than ideal servers). That, and the fact that under heavy loads V2 had some serious CPU usage inefficiencies, which could result in lag.

With V3, all of these things will be immensely improved (minus the you living in Australia part most likely).

The actual networking itself for V2 was actually quite good, even considering the fact I was a far worse programmer back then.

Basically, things for V3 will be improved as much as they realistically can be in many ways. But there is only so much that can be done for someone trying to play an online action game from the other side of the planet (aside from get a server closer to you, which could be a possibility depending how the game does).


LONG ANSWER:
This is actually a bit of a difficult thing to explain, as the answer is fairly complex and would require me to cover a lot of things that would cause this post to be far longer than it already will be. But I'll take a crack at it.

V2 actually handled it's networking remarkably well compared to many other action based games under similar loads. People "running off the screen" as you put it was just because it uses heavy amounts of motion prediction and you simply were not receiving packet updates fast enough, which is more of a problem with the state of your connection with the server than how things are being handled. The only genuine bottlenecks V2 ever had with lag that had room for significant improvement were when it was not being hosted off a good server (current donor server for instance was never intended to handle really heavy loads of people. There were also a number of other phases in V2's life where it's server was less than ideal), and the fact that the server for V2 was far from efficient with it's CPU usage and scaleability (which could cause some serious performance issues under heavy loads of players/monsters and such). Regardless, even with V2, it was able to smoothly handle multiple hundreds (at least) of people in the same game region simultaneously with little to no lag for the vast majority of them, which is more than can be said about a lot of MMO's. All that being done while still using a surprisingly low amount of bandwidth.

HOWEVER, the main issue in your case would definitely just be that you are trying to play a relatively action based game from Australia when the server has always been hosted somewhere in the USA.

V3 will continue to hold itself to a high standard when it comes to efficiency in the network coding, and while there is only so much that can be done to the basic networking design, there are a whole ton of other related improvements that should make the overall scalability of things infinitely better than with V2 (especially when it comes to how efficiently the server utilizes the cpu). Also, while the general networking design is similar in some ways, the world design is much more modular this time around (both from a design and server efficiency standpoint), so it should scale up much better for that reason as well.

Lucifer

Quote from: Meiun on December 10, 2011, 07:32:12 PM
With V3, all of these things will be immensely improved (minus the you living in Australia part most likely).
Most likely, however V3 might just be so damn awesome that it lifts you up off Australia and carries you to the U.S.
You never know.

jonsploder

Thanks for the response Meiun :).

Meiun

Quote from: Lucifer on December 10, 2011, 08:35:57 PM
Quote from: Meiun on December 10, 2011, 07:32:12 PM
With V3, all of these things will be immensely improved (minus the you living in Australia part most likely).
Most likely, however V3 might just be so damn awesome that it lifts you up off Australia and carries you to the U.S.
You never know.
Brilliant lag handling idea Lucifer! I'll get right to work on the code for that ;D Will be revolutionary. MoveCloserToServer.dll

tehrozzy

Quote from: Meiun on December 10, 2011, 07:32:12 PM
People "running off the screen" as you put it was just because it uses heavy amounts of motion prediction and you simply were not receiving packet updates fast enough, which is more of a problem with the state of your connection with the server than how things are being handled.
Motion prediction? How on earth did you manage to predict user input?


And also, back when the server was public I rarely passed 100 ping unless I was at a Chaos tourny, and even then it was faster then my connection to the donor server.

ARTgames

#7
Quote from: YayForLife on December 11, 2011, 05:44:34 PM
Quote from: Meiun on December 10, 2011, 07:32:12 PM
People "running off the screen" as you put it was just because it uses heavy amounts of motion prediction and you simply were not receiving packet updates fast enough, which is more of a problem with the state of your connection with the server than how things are being handled.
Motion prediction? How on earth did you manage to predict user input?
Well its not perfect. Its just something made up based on past data to fill in the gaps when you don't have any data like when you have lag or packet loss. You can kind of think of it as Interpolation (not exactly but the same idea). If you make good predictions then the game will look like it has less lag.

Just for a really simple example lets say a player is running to the left but he is lagging and his data is not getting to where its need to fast enough (or at all). Then the game might just predict he is still running left and make it look like he is till we know for sure. If the prediction is right you might never know he was lagging. If it was wrong it may skip him back to the point we have data to confirm it.

Now stick online does more than that and more complex stuff than that. But its the general idea.

tehrozzy

Quote from: ARTgames on December 11, 2011, 06:04:18 PM
Quote from: YayForLife on December 11, 2011, 05:44:34 PM
Quote from: Meiun on December 10, 2011, 07:32:12 PM
People "running off the screen" as you put it was just because it uses heavy amounts of motion prediction and you simply were not receiving packet updates fast enough, which is more of a problem with the state of your connection with the server than how things are being handled.
Motion prediction? How on earth did you manage to predict user input?
Well its not perfect. Its just something made up based on past data to fill in the gaps when you don't have any data like when you have lag or packet loss. You can kind of think of it as Interpolation (not exactly but the same idea). If you make good predictions then the game will look like it has less lag.

Just for a really simple example lets say a player is running to the left but he is lagging and his data is not getting to where its need to fast enough (or at all). Then the game might just predict he is still running left and make it look like he is till we know for sure. If the prediction is right you might never know he was lagging. If it was wrong it may skip him back to the point we have data to confirm it.

Now stick online does more than that and more complex stuff than that. But its the general idea.
OH, so like when you get lag spikes and everything just keeps moving in the same direction it already was instead of just freezing up?