News for hackers. Stuff that matters.
Re:1500 Archers on a 28.8: Network Programming in Age of Emp... by loser777 on Thursday July 19, 2018 @03:41PM (#17569610)
>For RTS games, 250 milliseconds of command latency was not even noticed -- between 250 and 500 msec was very playable, and beyond 500 it started to be noticeable.

I wonder if the rise of competitive RTS has changed this guideline. In SC2 people will start to complain if their ping to the server is more than about 130ms, and anything above 150ms starts to become painfully noticeable.

In Brood War being able to play on "LAN Latency" was a always a huge deal---to the point that unauthorized third party ladder systems enabled players to play at "LAN Latency" even when battle.net official didn't support it.

Re:1500 Archers on a 28.8: Network Programming in Age of Emp... by MarkTerrano on Thursday July 19, 2018 @04:55PM (#17570184)
Human cognitive reaction times are a lot mroe latent than connections are now. The quality of play percieved by the players in the studies I did back in the day was much more about consistency of responsiveness and not that direct number of milliseconds. Best possible Human reaction time for cognitive tasks is still around 250msec for most players - it would be great to see updated information for tournament players (who are a different class of player) on what their actual perception-to-action time is in their favorite games. AOK and beyond code used an adaptive scaling system to go faster when the network would reliably move packets more quickly - so it would auto-adjust to 'lan speed' (actually a combination of the best render speed of the slowest PC plus an estimate of the round-trip latency). Also - the command confirmation is not waiting for RT latency - you are getting confirmation when the command goes into the local buffer - 'command accepted' - once that happens it is going to execute so you get the confirm bark sound from the unit or building queue - or the movement arrow triggers. The games actually do their command simultaneously when all machines are executing the turn.
Re:1500 Archers on a 28.8: Network Programming in Age of Emp... by wongarsu on Thursday July 19, 2018 @06:02PM (#17570731)
>Human cognitive reaction times are a lot mroe latent than connections are now. [...] Best possible Human reaction time for cognitive tasks is still around 250msec for most players

This is an important realization. Our brain can perceive reasonably fast actions, but our reaction is much slower. Under good conditions we can easily tell a 60fps animation from a 30fps animation from a 10fps slideshow, but the fastest reaction time we can manage is around 100ms (the time one frame is visible at 10fps).

We are reasonable tollerant to latency because our brain has quite high latency, and all our actions have to account for that (for example the point in time where you decide to release a ball you are throwing is very different from the point it is actually released). On top of that, many real-world interactions behave similar to latency (e.g. springs). What throws us off is inconsitent latency, because then we are suddenly not able to predict when to perform an action in order to have the effect at the desired point in time.

Re:1500 Archers on a 28.8: Network Programming in Age of Emp... by annywhey on Thursday July 19, 2018 @11:31PM (#17572214)
Yeah, there are a few nuances to latency numbers.

The 250ms pure read-react time deals with arbitrary events, but when we can chunk reactions into a practiced technique our precision goes way up, to nearly the individual millisecond: thus musicians can play rapid passages with unusual rhythms in time if they have time to plan and prepare, but they lose this ability if dealing with unusually high latency(extreme reverb, amp across the stage, digital audio with huge buffer sizes). The technique, after all, is based on fast confirming feedback that your execution is correct.

And like you say, "bouncy" latency is even more disruptive. We can adjust to a small and consistent lag, but inconsistency will degrade any level of skill.

Re:1500 Archers on a 28.8: Network Programming in Age of Emp... by azernik on Friday July 20, 2018 @04:53PM (#17578827)
Agreed on all counts.

> And like you say, "bouncy" latency is even more disruptive

The technical term for this is "jitter". Networking and telecoms people pay a lot of attention to this metric, both for the reasons you cite and because jitter is much more noticeable than high-but-constant latency in voice or video communications.

Re:1500 Archers on a 28.8: Network Programming in Age of Emp... by azernik on Thursday July 19, 2018 @05:35PM (#17570495)
It's not about any competitive RTS: StarCraft (1 and 2) have a game design and balance that emphasizes speed and reaction time. More "contemplative" RTSes with less or slower micromanagement can get away with higher latency.
Re:1500 Archers on a 28.8: Network Programming in Age of Emp... by raziel2p on Thursday July 19, 2018 @03:56PM (#17569717)
The "command latency" you feel in RTS games is more closely related to RTT than ping, so those numbers are doubled already. Besides, people's expectations of performance and low latency have changed the last 20 years.
Re:1500 Archers on a 28.8: Network Programming in Age of Emp... by Kenji on Thursday July 19, 2018 @03:59PM (#17569735)
A command latency over 30ms hurts a lot. And I don't even play competitively. 250ms was not noticed? Absolute nonsense. A quarter of a second is gigantic when it comes to latency.
Re:1500 Archers on a 28.8: Network Programming in Age of Emp... by qop on Thursday July 19, 2018 @04:21PM (#17569897)
But that was a time when sub 100ms latency for networked gaming had never really been experienced. If you never played faster you wouldn't notice it when it's slower, I'd think.
Re:1500 Archers on a 28.8: Network Programming in Age of Emp... by MarkTerrano on Thursday July 19, 2018 @04:46PM (#17570111)
People played lan games all the time with very low latency - I actually had to patch the code specially for the exhibition match at the AOK ReleaseToManufacture party because the Lan they were using had <1 msec latency - we had never had close to that even in our office so my code didn't handle it well and performed poorly on that optimal network.
Re:1500 Archers on a 28.8: Network Programming in Age of Emp... by MarkTerrano on Thursday July 19, 2018 @04:57PM (#17570200)
LAN times were typically 14 to 20 msec ping on our blazing fast 10Mbits office lan at Ensemble Studios.
Re:1500 Archers on a 28.8: Network Programming in Age of Emp... by qop on Thursday July 19, 2018 @05:03PM (#17570242)
I specifically said networked....

I guess I could have specified networked over the Internet......

Re:1500 Archers on a 28.8: Network Programming in Age of Emp... by pure-awesome on Friday July 20, 2018 @08:52AM (#17574540)
The word "Networked" could mean either a LAN (Local Area Network) or an internet connection.

The word "networked" is instead used to distinguish from "non-networked" gaming, which involves playing on a single PC. This could be either a single-player game like the Starcraft campaign, a turn-based hotseat game like Civilization hotseat, or a simultaneous shared-keyboard game like Achtung, die Kurve!