Jump to content

PSO Data and How It Works


Recommended Posts

Someone linked an article in a Discord channel I'm in explains how data in PSO works. I'll paste relevant information down below. Some of this is already kind of widely known but there were still a few interesting bits in there.


 

Quote

During the PSO era, players had limited bandwidth and speed.  The developers came up with their own clever ways of reducing network traffic. PSO’s network was built as a decentralized server in the way it handle data transmissions. As a decentralized server, the clients process information and send that data to a server. The server only relays that information and send it to other clients. The clients would also send their data to the server which then relays it back to everyone else and the party leader.  

The party leader’s client is responsible for handling all synchronization processes. (Synchronization makes sure that everyone sees the same thing at the same time in the same position.) This is a contrast of a centralized server model where the server itself handles the processing of all data and synchronization. (Like OnLive)

The leader of the party doesn’t synchronize everything, only important events such as when a monster is dead, when a monster is knocked down, and damage the enemy receives and deals. Enemy positions are not transmitted to other players. On your screen, enemies appear at a different position from the ones that are shown on your party members’ screen.

Bosses are synchronized with all players. The clients themselves (I’m guessing the party leader) transmits commands to other players which controls their boss.

The boss has a set of actions available to him. Its AI decides what to do, when to jump, who to target, and changes this at will. These actions are then sent as a command to other players, which are then stored inside their boss’ action queue.

How they track your position:

To reduce the amount of data that is transmitted, PSO limits the aspects of how your character moves. In PSO, at the time you press the button to move your character in a certain direction, the game will lock you in that direction for six frames of animation before allowing you to change. (I don’t believe this applies to those who stop moving and change directions.) With this method, the game can determine which point you are heading to on a map. (This data will be transmitted to other players which will see exactly where you are, given that there is no forms of lag) So at the moment you press towards a direction, your destination is set to that position.

 

Basically what I gather from this is:

Desync doesn't exist, since it never existed in the first place.

It makes sense why DMC is worse on players with bad connection.

Here's the article if you want to read it yourself:

http://www.bumped.org/psublog/technical-concepts-of-phantasy-star-online-universe-and-portable-2/

Edited by mudkipzjm
  • Like 7
  • Thanks 2
  • Dw 1
Link to comment
Share on other sites

Pretty neat way they worked around the limits of consoles back then, even if still inconvenient for the present.

I wonder if we could use this to some advantage and figure out whose connections work best for hosting? Never have tested if a /ping command is in the game, but this would make it a pretty good thing to have.

Edited by Kikori
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...