Live data from Hacker News

Half-Life and Team Fortress Networking

gamasutra.com

41–50 of 57 posts

Re: Half-Life and Team Fortress Networking

#43
post #12

Here’s a nice white paper from Valve with diagrams on lag compensation, prediction, authoritative server, etc: https://developer.valvesoftware.com/wiki/Source_Multiplayer_...

Once per year; before christmas, someone posts an old trigger for the classical UDP vs. TCP problem.

Here is a solution I just submitted: https://www.ietf.org/id/draft-add-ackfreq-to-tcp-00.txt

TL;DR The trick is not to make UDP like TCP, but instead make TCP like UDP.

Re: Half-Life and Team Fortress Networking

#44
post #12

Here’s a nice white paper from Valve with diagrams on lag compensation, prediction, authoritative server, etc: https://developer.valvesoftware.com/wiki/Source_Multiplayer_...

I've made an interactive demo that lets you tweak the different knobs and see what happens: http://www.gabrielgambetta.com/client-side-prediction-live-d...

Re: Half-Life and Team Fortress Networking

#45
post #31

Earlier quoted context omitted.

A statement befitting the co-author of an unpopular online game.

How popular is your online game? P.S. Someone the other day asked why I don’t post much to HN (and don’t put much effort in when I do). This kind of junk is exactly why!

It was reasonably popular and got picked up by a publisher and perhaps you have played it, but I won't talk about that.

The problem with your original assertion is that you have ignored the virtual world player types as described by Richard Bartle and positioned the Achiever view as the sole one of import, subsequently question begging your way to a narrow conclusion about what quality is.

I will explain further but first I should point out that I am deliberately engaging you on your weaknesses. You have a lengthy track record of preaching your views as unqualified absolutes and then going out of your way to never show vulnerability under fire. You seem borderline incapable of saying "Oh, you got me on that one. I was wrong!" And you are far too visible to get away with that without being called out by someone who knows the topic better than you do and has the credentials to back it up. That is why whenever you show yourself online you are getting more and more hostility. Rather than engage in pedagogy and encourage further questioning you give speedy dismissals to all sorts of subjects. You are necessarily wrong on at least some of them, being human. You admit to none of it. When you become challenged on Twitter you just block them. It looks alternately arrogant and pitiful, and people are increasingly aware with time that this behavior is the "Jon Blow brand". It has already shut you out of opportunities to benefit from, at minimum, the interesting conversation you seem to crave. I know this because I am in the back room on some of it. You would be let in but for this personal stuff. There are other ways to conduct oneself that avoid this particular problem, but it is up to you to rise to the challenge.

Now, to Bartle. Fair play and a high skill ceiling is the secondary goal of the design in popular online games, even e-sports: the first goal is always a balance of accessibility for each of the player types so that nobody is left with nothing to do or turned towards toxicity. That includes features that make dramatic trade offs throughout the design, like auto-aim functionality versus encouraging fine motor skills, global player ranking systems versus buddy systems versus community servers, team damage to encourage tactics versus potential for griefing and yes, fine-grained netcode decisions. The idea of players "deserving" something for their great effort to develop skill, when made central to the premise as in one-on-one fighters with extreme depth and difficult input execution, limits the potential audience to a niche Achiever population. It leaves out players who just want to play with their friends and don't have the best machines or connections, players who are more interested in exploring side systems of the game than the central mechanic, and players who want to elicit strong, surprised reactions(whether through clever tactics or simple trolling) and will do it with an aimbot if you've deprived them of alternatives.

What compensation does is twofold: it lowers the skill ceiling by moving all the considerations around time from the adversary's shooting performance to the target's perception of when they took damage. It also improves accessibility and feedback for all aiming and shooting because it matches player perceptions more closely. Players experience a deeper sense of control with compensation for the same reason that improving frame rates improves the sense of control.

For nearly every game with "twitch" gameplay this is a no-brainer choice: Lag compensation wheels the design back from a Byzantine technical artifact that inflates the skill ceiling and towards a tighter feedback loop that most players, even the less dedicated ones, will intuitively understand and are more likely to appreciate(hence - popular, accessible). Compensated shooting can still be made a skillful process, as games like Counter-Strike have ably demonstrated, without being opaque or tied to ping. And the downside risk is low because a death that feels unearned is rare even in the cases where it comes with a substantial delay. Surely if you were playing well you shouldn't have been in a position to take damage, right? The player can rest easy feeling that their tactics were at fault for putting them in a risky position, not the game.

And there is in fact a specific reason why I brought up your game. It focused on slower-moving projectiles. Thus target leading is already built into the core feedback loop of aiming, and the resulting latency from uncompensated shooting is less relevant to the experience. This would give you the impression based on personal experience that it's not required for accessibility. All your original remark has to do is find the qualifying factors in your experiences and lay them out, and you'd get the quality reply you seek without a fight.

Re: Half-Life and Team Fortress Networking

#46

> "The days of needing to do such things as manually type in IP addresses to connect to remote servers are coming rapidly to a close. Therefore, it is important for you to provide a seamless user experience for your gamers as they go on-line." >> I miss the days of playing CS-1.5 and having to use gametiger.com to find servers to play in. Lots of pool_day and de_dats.

Yup. I hate how online matchmaking these days has made away with the community feel that picking your own server provided.

I still play a short list of favorite servers in BF4. This is a game from just a couple of years ago. Are you saying some newer games only have random matchmaking and no joining a favorite server?

Re: Half-Life and Team Fortress Networking

#47

> The CD keys we used were algorithmically generated so as to be very difficult to guess randomly. Because authenticating takes several seconds, and the odds of guessing a valid CD key are low, there is a large barrier to repetitive key guessing. I would love to learn more about this. How did the authentication system work? How difficult was it to brute force? Does it simply involve a master key creating individual s…

I'm reminded of this blog post that uses a theorem prover/constraint solver for generating a serial key.

https://rolandsako.wordpress.com/2016/02/17/playing-with-z3-...

Re: Half-Life and Team Fortress Networking

#48
post #33
post #28

I don’t recommend lag compensation. It’s a bad idea because it degrades the experiences of more-committed / better players in order to cater to the less-committed / worse players.

How so? More committed / better players aim more precisely, and thus benefit the most from a system that judges their shots based on whether they hit the target on their screen - as opposed to a space some distance in front of their target, with the distance depending on their latency to the server (which of course varies depending on the server's location). On the other hand, worse players' aiming has a higher degre…

High ping definitely makes hitscan aim easier in Valve FPS multiplayer. (Projectiles, OTOH, aren’t lag-compensated.) There was that one time a top-tier North American Team Fortress 2 team brought in a Brazilian Sniper as a substitute in an official match, apparently in an attempt to game the system. But that was an unusual event.

Re: Half-Life and Team Fortress Networking

#49

> The CD keys we used were algorithmically generated so as to be very difficult to guess randomly. Because authenticating takes several seconds, and the odds of guessing a valid CD key are low, there is a large barrier to repetitive key guessing. I would love to learn more about this. How did the authentication system work? How difficult was it to brute force? Does it simply involve a master key creating individual s…

It's possible this might be more documented on old warez/cracking/serial # generation tutorials if they're still around anywhere. This is only speculation but I imagine the process would be something like breaking a CD-key into multiple parts (a unit#, salt, hash of the unit#+salt) 1. Using unit# + some known/random salt, compute a hash 2. Mix-in the unit# + salt to the resulting hash in some deterministic fashion (p…

Another approach is to add a key file as ~32MB gives 2 million 128 bit hashes and you can go up / down on key length and file length. This still takes more effort than a single Master, but doing 1-2 Million from a master is perfectly reasonable.

Re: Half-Life and Team Fortress Networking

#50

Earlier quoted context omitted.

Yup. I hate how online matchmaking these days has made away with the community feel that picking your own server provided.

I still play a short list of favorite servers in BF4. This is a game from just a couple of years ago. Are you saying some newer games only have random matchmaking and no joining a favorite server?

Yes. Rainbow six siege is one of them.
Post reply on HN