Though Emulinker’s gaming algorithm is still not correct, I temporarily set the input delay based on the player with the higher ping in GodWeapon [EmuLinkerSF v0.53.9: 07-21-2007]. So if you’re on 20ms and play a person on 100ms you will play at the 100ms delay. If you have 5ms vs 25ms, you will play on 25ms.
This is good or it can be bad. It’s good in the sense that people with low pings that play with people with low pings can play how they are suppose to play for the most part [run on sentence?]. It also allows people with higher pings to play a non laggy game but the delay increases slightly depending on how high a ping is.
You can use any connection type at any ping. The only downfall is players can’t play on their unique delay. The game’s delay is based on the person with the highest ping for now.
Connection Type: Lan = 1, Excellent = 2, Good = 3, Average = 4, Low = 5, Bad = 6
Delay Value = [(60/connectionType) * (ping/1000)] + 1
Frame Delay = connectionType * (DelayValue + 1)
Lan Connection Ranges:
- 0ms to 16ms. 2 Frame Delay.
- 17ms to 33ms. 3 Frame Delay
Excellent Connection Ranges:
- 0ms to 34ms. 4 Frame Delay.
- 35ms to 66ms. 6 Frame Delay.
Good Connection Ranges:
- less than 50ms: Is optimal for this connection type. You will experience a 6 frame delay.
- 50ms to 99ms is the next delay. most people fall under this and this is what Emulinker always felt like. You will experience a 9 frame delay.
- 100ms to … is the next and etc. You will experience a 12 frame delay.
The corresponding number to the Connection Type tells you how often a packet is sent and with how many frames of input.
eg. On Good = 3, You will send game input on every 3rd frame. This packet will contain 3 frames of input.
Obviously Lan would be optimal because data is sent on every frame.
All Stock Emulinker Servers will have a 9 frame delay on Good, 6 frame delay on Excellent, and 2 Frame Delay on Lan. This has been hardcoded in due to lack of knowledge at the time. So that’s why pings less than 100 only seem to work well on a Good connection in Emulinker servers.
The stock Kaillera servers allowed a 100ms ping on a Good connection type vs a 10ms ping on a Lan connection type. The 100ms would feel is delay and the 10ms would feel his.