Networking terminology

Started by
3 comments, last by hplus0603 12 years, 7 months ago
Game networking is a special interest of mine. I've spent quite some time learning and researching common models and approaches.
But lately I've especially found I'm not as well versed in certain terminology as I'd like to. Which makes it hard to find something if you don't know what it's called.

I've initially learned about 2 common networking models which I learned as "input sharing" (as commonly seen in RTS games) and "object replication" (as commonly seen in FPS games).
Recently I found "input sharing" is mentioned as "bucket synchronization" in most research papers. Learning the latter term was quite useful to find more information.
Which has gotten me curious, what other (likely more common and correct) names are there for "object replication"?

On a related note, another common technique used in networking is to only replicate a smaller portion of the entire scene to a client (for performance and cheat prevention).
Is there a specific name for this process/technique?

And I suppose while we're at it, I wouldn't mind hearing about specific names for other commonly known solutions to certain problems, like "dead reckoning".
Remco van Oosterhout, game programmer.
My posts are my own and don't reflect the opinion of my employer.
Advertisement

I've initially learned about 2 common networking models which I learned as "input sharing" (as commonly seen in RTS games) and "object replication" (as commonly seen in FPS games).
Recently I found "input sharing" is mentioned as "bucket synchronization" in most research papers. Learning the latter term was quite useful to find more information.
Which has gotten me curious, what other (likely more common and correct) names are there for "object replication"?


I'm sure you've seen the Tribes 2 Networking papers. There they call it "Ghosting". A replicated object copy on the Client is a "Ghost".


On a related note, another common technique used in networking is to only replicate a smaller portion of the entire scene to a client (for performance and cheat prevention).
Is there a specific name for this process/technique?


"Area of interest". Or in Tribes 2; "Network Object Scope".

Recently I found "input sharing" is mentioned as "bucket synchronization" in most research papers. Learning the latter term was quite useful to find more information.
Which has gotten me curious, what other (likely more common and correct) names are there for "object replication"?



Input Sharing: Lock-step Simulation, Input-synchronous Simulation, Deterministic Simulation.
Object Replication: Distributed Entity, Distributed Object, State Replication.

I actually have never heard of "bucket synchronization" -- when I googled for it, I found a description of MiMaze, but what they call "bucket synchronization" is actually what everyone else would call Lockstep -- simulation happens at discrete ticks, and every input command is queued for execution during a specific tick. It sounds like the MiMaze guys simply misunderstood what Lockstep is.
If academia adopts "bucket synchronization" willy-nilly, that would be sad, because it would just confuse a lot of existing games-related writing on the topic.
enum Bool { True, False, FileNotFound };
Thank you both, that was really helpful.

I'm not particularly fond of the term "bucket synchronization" either and may just have misunderstood it from the context.
Remco van Oosterhout, game programmer.
My posts are my own and don't reflect the opinion of my employer.

Thank you both, that was really helpful.

I'm not particularly fond of the term "bucket synchronization" either and may just have misunderstood it from the context.



No, I think you understand what they mean. I just think they chose a poor name, as I believe "lock-step" already includes quantizing commands to step numbers, because all sane game architectures quantize all simulation to step numbers.
enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement