PDA

View Full Version : Fixing Multiplayer [Technical Suggestion]



Glamthaus
09-29-2012, 10:47 AM
The multiplayer in this game lags very badly for a lot of people. From observation and testing, it appears that this happens mainly because of one reason.

Most game objects (including player input) appear to be handled Host-side
- You move your analog stick, but Sackboy doesn't move until after a noticable pause
- Players and objects 'warp' around the level instead of moving smoothly
- The host has a smooth gameplay experience, but everyone else has significant lag

Now, there are ways to fix this that are completely unrealistic... however, here is one idea that I think should (hopefully) be feasible.

Add the following tweak for all objects;

'Object exists for'
- All players (This is the current functionality)
- Per player (Each Player's game handles its own seperate copy of the object)
- Player 1 only (Player 1's game handles the object, and it does not exist for the other players)
- Player 2 only (Player 2's game handles the object, and it does not exist for the other players)
- Player 3 only (Player 3's game handles the object, and it does not exist for the other players)
- Player 4 only (Player 4's game handles the object, and it does not exist for the other players)


Why do this?
- You can directly control what shows up for each individual player in a multiplayer game
- Multiplayer games can be tweaked to run significantly better
- Free extra functionality like having seperate HUDs, menus, gameplay sections depending of which player number you are
- Most importantly, this is much closer to how 99% of your favourite multiplayer games work. When utilised correctly, only the information that absolutely NEEDS to be sent, is, and you cut down on network traffic dramatically

Agarwel
09-29-2012, 11:06 AM
I really really like this idea.
This should be also in the global settings to choose the "default value" for the objects without this tweaker. So depending on the game you are making, you would avoid slapping this on every object in the game.
If you will be making some racing game (where all enviromnent is static except few racing cars) you would choose the global default setting "by player" and just modify the racing cars to ensure that these are synchronized.
If you would be creating some puzzle game, where players move lots of the object you would choose "all players" as a default and tweaked only the backgroud texture.
etc.

Glamthaus
09-29-2012, 02:16 PM
@ Agarwel
I agree with everything you said. Spot on.

aakkssuu1
03-12-2013, 02:24 PM
I have noticed same problem. I can not join games of other people, but they can join my game. After some of my friends joined my game, my Creation mode has been lagging all the time even if I m not on the internet. Lagging started when my friend played with me I wonder what the the reason might be.

EDIT:

The last part of your text was very good because I have always wanted to create pultiplayer war where everyone can be able to see only their own screens and menus. And of course game will spawn players in different corners of map by cheching players numbers.