View Single Post
Old 05-28-2016, 07:22 PM
MagneticDuck` MagneticDuck` is offline
Join Date: Oct 2014
Location: Coimbra, Portugal
Posts: 80
Default altitude netcode

The "netcode", the method used to synchronize the state of a game over a set of clients separated by inevitable network latency, is an integral part of the construction of any multiplayer system. Its job is a difficult one; given the impossibility of corresponding every client's screen with the server's representation of the game, we must create a sort of illusion: make every client display a slightly different game, while displaying (fairly) consistent game mechanics in each.

For consideration in solemnsky's development, I'd like to hear some community opinions on altitude's netcode -- from a player's perspective, which aspects were best, and which were worst?

The method I have sketched out in solemnsky -- a sort of hybrid authority model -- has the following characteristics:
  • There is no control lag, and there are no jumps in your position regardless of what weapons / items are used against you. Your flight is completely consistent with what you see on your screen.
  • Weapon fire delay equal to your latency. Sorry. This is related with my decision to make modding exclusively server-side. This is how things are in teeworlds though, so it can't be too bad. I promise, you'll get used to it.
  • When weapons hit an opponent on your screen, the effects are real.
  • Weapons that hit the position you were at before an interval of time equal to your latency passed may register an effect on you. (Unlike in altitude, this interval is equal to your, not you assailant's, ping.)
  • It will appear to take the sum of your latency with an opponent's latency for a position-altering weapon you deployed to have an effect on them.
  • Mainly due to reasons listed above, players with high ping suffer severe handicaps, not game-breaking bonuses.

We'll see how effective this approach is in our (ever-nearing) public alpha, but in speculation, how does this sound? Does this address any of altitude's issues? Does it introduce new ones?

Last edited by MagneticDuck`; 06-17-2016 at 09:10 PM.
Reply With Quote