Home    LittleBigPlanet 1 - PSP - Tearaway -Run Sackboy Run    LittleBigPlanet 1    [LBP1] Suggestions [Archive]
#1

A Fix For LBP Online Lag

Archive: 14 posts


We've all seen that LBP can become laggy when online, especially in levels that have many moving parts. A prime example of this is any of the tank levels, the many moving parts make it nearly impossible to play online. There is a relatively simple fix (in theory) for this that the guys and gals over at MediaMolecule.

Now first off, I don't know the inner workings of LBP, but I'm going to assume that a random seed is used to calculate the physics, because things to not always happen identically. For example, make a triangle and drop something onto it. If done in a certain way and replayed, if it does not balance on it, it will fall to either the left or right, and it will change play by play.

This is due to the somewhat random physics. Currently, when playing online, all moving objects have their data synced over the server so that all players playing together in a level have objects in the same places. This is why levels like tank levels lag so badly, because the server is receiving and sending back information for a ridiculous amount of individual parts and pieces.

What I propose for MediaMolecule to do is to, at the beginning of a match, set a seed for all physics in that set to be based on. After that, don't update every single object through the server, but rather only send player actions. If the physics seeds are set the same on all of the player's systems, the results will always be the same for every player, and the server doesn't have to handle any information for objects, because each PS3 is computing the physics alone, without the server updating object positions, states, velocities, etc when it's unneeded.

This would massively reduce server load, and there are virtually no drawbacks. A new random seed can be set for each new game level opened, and the seed is sent to all players in that game to ensure they are all updated the same. As long as the server can send along the player's actions fine (which it already had to do before) then all players will have a lag-free online experience.

Of course, if someone joins mid-game, all of the objects in the level and their current state need to be sent to them, but that isn't much more work than loading a level is. Once they are in, the information can be sent to them just the same as for players who were initially in the match, as long as they were given the random physics seed as well.

Well, that's my thoughts and ideas on the subject of LBP lag and how to eliminate it. Post any comments, questions, or criticisms if you have them.
2009-06-15 20:05:00

Author:
BSprague
Posts: 2325


Sounds good! If only I understood any of it...2009-06-15 20:48:00

Author:
qrtda235566
Posts: 3664


Sounds good! If only I understood any of it...
Well, which parts would you like me to clarify? I tried to explain it as best I could, but it's easier done than said.
2009-06-15 21:57:00

Author:
BSprague
Posts: 2325


I came into this thread hoping for.... change x setting on your PSN

I didn't understand a word of what you said either :eek: totally over my head, I hope someone at MM understands it and does whatever it is and makes everything happy for everyone
2009-06-15 22:04:00

Author:
groble
Posts: 223


I kind of understand it.

Basically (hopefully) what he's saying is that instead of having the seed send and receive messages throughout the whole time your playing the level, have it set to one seed for every level, FOREVER. Just one, so it'll play out the same for everyone everytime.

Right? I'm not sure if I got it lol.
2009-06-15 22:08:00

Author:
Whalio Cappuccino
Posts: 5250


I kind of understand it.

Basically (hopefully) what he's saying is that instead of having the seed send and receive messages throughout the whole time your playing the level, have it set to one seed for every level, FOREVER. Just one, so it'll play out the same for everyone everytime.

Right? I'm not sure if I got it lol.

Not really...but nice try.

The game will still be sending messages over the server back and forth between players constantly, it just wouldn't be sending all of the information for the objects. What I'm suggesting won't make it play the same way for everyone every time either. I'm not trying to make a uniform experience for everyone who plays the level, because that would remove replayibility of levels, to a degree.

Okay, so here is a little background information. More complex physics engines, like the one used by LittleBigPlanet, are variable, meaning that a ball won't always roll the exact same way when dropped 100 times. It's variable because each run-through, it is assigned a "physics seed" (this is just my assumption, but I don't really see any other way it would work). What I am saying is that the game can assign a "physics seed" number randomly for each game of people, and then base all physics actions on that.

For example, if there are two people in a game, and the only thing in the room is a stack of blocks, if one sackperson knocks over the blocks, the server sends the action to the other player, as well as physics information for every single block that moved as a result of it. What I am proposing is that the game only sends the player's action, and the lets the game handle the physics, and if the seeds are the same, all of the blocks will fall exactly the same way for both players, without requiring the server to sync up each block pixel for pixel, which just clogs it up.

Hopefully it makes a little more sense now, but if not I'll keep trying because it is a fairly complex idea to explain.
2009-06-15 22:16:00

Author:
BSprague
Posts: 2325


okay, I think I got it that time, so basically instead of sending the information about everything in the level all over the internet it would just send the other players actions and allow the version of the level on each individuals PS3 control the outcomes, based upon a common seed shared by all the players so those actions would be the same.

simples:kz:
2009-06-15 23:09:00

Author:
groble
Posts: 223


okay, I think I got it that time, so basically instead of sending the information about everything in the level all over the internet it would just send the other players actions and allow the version of the level on each individuals PS3 control the outcomes, based upon a common seed shared by all the players so those actions would be the same.

simples:kz:

Exactly. And very well said too. I think that if MediaMolecule implemented this, they would have much less of a server load and all levels would be playable online lag-free (if implemented correctly), even tank levels, which with this method would be no more server-intensive than an empty level with people walking around.
2009-06-15 23:11:00

Author:
BSprague
Posts: 2325


Exactly. And very well said too. I think that if MediaMolecule implemented this, they would have much less of a server load and all levels would be playable online lag-free (if implemented correctly), even tank levels, which with this method would be no more server-intensive than an empty level with people walking around.

Then I hope they implement it soon, becuase its completely unplayable online for me and I don't have 4 controllers to allow me to get all the trophies.

teehee I understood the smart person talk :hero:
2009-06-15 23:48:00

Author:
groble
Posts: 223


This makes sense, but in all likely hood there is some reason that they can't do this exactly. Or possibly you are wrong about how their physics engine works(I don't know anything about them).

On a brighter note I pretty sure that the beta that is going on right now is using their new software that changes how people connect each other, which is supposed to fix a lot of the lag issues. So even though it will be a while until this comes out, there is a light at the end of the tunnel. Maybe they already did exactly what you said
2009-06-15 23:57:00

Author:
Walter-Kovacs
Posts: 542


Well, which parts would you like me to clarify? I tried to explain it as best I could, but it's easier done than said.

Well, I understand how it makes it faster. You just know a lot of big words.
2009-06-15 23:59:00

Author:
qrtda235566
Posts: 3664


This makes sense, but in all likely hood there is some reason that they can't do this exactly. Or possibly you are wrong about how their physics engine works

I might very well be wrong about it, its simply an educated guess. The thing is though, even if I am wrong, there is really no variable physics engine that can't set a seed. The rest of the work would actually be cutting out update object code that they've already programmed because it wouldn't be needed anymore.
2009-06-16 00:41:00

Author:
BSprague
Posts: 2325


I've always found that if i do something twice without changing anything at all the result is exactly the same, so unless i just haven't noticed you might be wrong about the whole random thing

I think Mm might already be testing new software in this beta like Walter said,
From what i've seen Online Create seems to handle lag much better than before
2009-06-16 00:59:00

Author:
Dexiro
Posts: 2100


I've always found that if i do something twice without changing anything at all the result is exactly the same, so unless i just haven't noticed you might be wrong about the whole random thing

I think Mm might already be testing new software in this beta like Walter said,
From what i've seen Online Create seems to handle lag much better than before

Well if that's the case, all MediaMolecule needs to do is make sure that the physics for each object is being calculated identically across all systems. But what I've done is set an emitter to emit an object over and over again every couple seconds over another object and the results aren't identical every time, and its not due to the objects colliding. And if you've ever played a level that plays itself, you'll find that even if you do things identically on your controller, things like timing might be off. It also sometimes results in an object being destroyed where it seems like it shouldn't have. I could very well be wrong though, but it still doesn't affect how they can allow the PS3s to use the physics engine to do all of the updating instead of the servers doing the syncing.
2009-06-16 01:22:00

Author:
BSprague
Posts: 2325


LBPCentral Archive Statistics
Posts: 1077139    Threads: 69970    Members: 9661    Archive-Date: 2019-01-19

Datenschutz
Aus dem Archiv wurden alle persönlichen Daten wie Name, Anschrift, Email etc. - aber auch sämtliche Inhalte wie z.B. persönliche Nachrichten - entfernt.
Die Nutzung dieser Webseite erfolgt ohne Speicherung personenbezogener Daten. Es werden keinerlei Cookies, Logs, 3rd-Party-Plugins etc. verwendet.