Live data from Hacker News

John Carmack on QuakeWorld latency and business model (1996)

raw.githubusercontent.com

91–100 of 169 posts

Re: John Carmack on QuakeWorld latency and business model (1996)

#91

What were .plan files like? I've only ever heard of Carmack using them -- did other prominent devs also publish their .plans? I wonder if there'd be any interest in reviving this. I think it would be cool to have something like an RSS feed of the .plan files from various developers I respect/follow. These days you have to settle for reading their Twitter+GitHub issues.

Well, Twitter, Facebook, etc. are the modern replacements for the "status updates" you used to put in your .plan file. .plan was just a simple text file you left in your home directory; it would be displayed to any user who attempted to query you with the 'finger' command. These days the 'finger' protocol is not really used anymore due to security vulnerabilities. But back then, Unix really was a social-moedia OS, and the internet was a decentralized, federated social network.

(There were actually two such files; .project was used to give a high-level summary of what you were working on, while .plan was used to talk in detail about what you were currently doing at the moment.)

Re: John Carmack on QuakeWorld latency and business model (1996)

#92

Why is this article hosted on github? Obviously it wasn't created there as it was written in 1996. Are all the message boards and forums where this type of material was likely posted really defunct or unusable now? Do we now need to rely on enterprising internet historians to find gems on older platforms just to copy them to the newer platforms? Will Github be around in 20 years? Will the next historian have to unear…

Hey, repo owner here.

That does seem to be the case here. I had re-hosted these .plan files from a website – which has removed them – that had re-hosted them from Shacknews – which had also removed them.

GitHub seemed like a quirk-and-dirty way to re-host these while giving others an easy way of duplicating the original files so they’re less likely to be lost in the ether.

Re: John Carmack on QuakeWorld latency and business model (1996)

#94
post #45

Earlier quoted context omitted.

You can't really do prediction if you are not rendering the game locally, so all you can do is have a lot of servers all over the world and rely on most customers having a low latency fiber link.

The servers could predict what the user does in the next 100ms. Not the same kind of CSP, but fits well into "powered by AI" marketing...

I think the problem here is, the game is made by Studio A, but it's run by Google in the cloud. Studio A probably doesn't have enough of an incentive to put this in the binary, but Google doesn't have the source, so they can't change the game loop.

Re: John Carmack on QuakeWorld latency and business model (1996)

#95
post #2

Pretty impressive when you consider this was in 1996! I really like his ability to take out code and 'shoot it'. Back to the drawing board. It's a quality of a great engineer, to be able to reflect on what's been done and admit it's not good enough.

It helps that he was his own manager and didn't had anyone else to convince that this was a good idea :-P

Re: John Carmack on QuakeWorld latency and business model (1996)

#96

Presumably by HN readers, saved to archive already 7 times today! https://web.archive.org/web/*/https://raw.githubusercontent....

Is there a good browser extension for archiving pages in one click? Firefox.

I do not know about submitting to archive.org, but i use Save Page WE for Firefox to make full local copies of sites (it essentially takes the current DOM state and inlines all external files/dependencies to a single HTML file and then prompts you to save that file which can be opened later):

https://addons.mozilla.org/en-US/firefox/addon/save-page-we/

Re: John Carmack on QuakeWorld latency and business model (1996)

#97
post #88

Carmack's dotplans are always interesting history to read. If you weren't a gamer (or alive) at the time when quakeworld came around, you might not appreciate how amazing it was for multiplayer games on the internet. On dial-up, you were lucky to have 150ms latency. Before client-side-prediction, that latency applied to every action you took in game, including player movements. Hit the up-arrow, and you wait 150-300m…

Sadly we live in a world today where some local code editors could really benefit from CSP because they add 100-200ms of latency to every character you press. I'm not sure if it's funny or sad that there's more key press latency typing into most local Electron apps than connecting to a Quake 3 server 200 miles away back when I had 56k dial-up in 2000. If you want to fast forward to today's internet, with an average i…

vs code typing latency is on the order of 50ms.

its more than necessary but not as bad as you are implying

Re: John Carmack on QuakeWorld latency and business model (1996)

#98

Earlier quoted context omitted.

In 1996, one would have been lucky to be able to have ISDN, so having a T1 was more like 'money is no object' territory.

In the late 90s a T1 cost about US$1,500/month. It came with a bunch of service guarantees and the like because it was aimed squarely at businesses. A T1 is only 1.5mbps too, fast for the time but in absolute terms not that great. The only other options were 56k modem (48kbps on a good day) and frame relay or ISDN, which was a solid 64kbps and lower latency than a modem but also far more expensive than it should have…

ISDN ("It Still Does Nothing" to give its facetious full name from the time) lines were often bonded, usually to give 128kpbs though faster configurations were possible, though of course there was an increased cost for this.

Re: John Carmack on QuakeWorld latency and business model (1996)

#99
post #56
post #3

Someone correct me if I'm wrong, but I believe this was the genesis of client-side prediction for games. If you don't know what that is, Valve has some good documentation on it (relating to Source engine, but it's the same concept).[1] Latency was still a problem even with CSP because we didn't yet have lag compensation on the server. So although you got an authoritative server (no cheating) and instant inputs (no ro…

But why is it called prediction? It's not predicting the future, it's simply simulating the present! Is it because the client is "predicting" where the server thinks the player should be?

Predicting it, because it only knows the facts up to ~200 milliseconds in the past.

Re: John Carmack on QuakeWorld latency and business model (1996)

#100
post #80

Carmack's dotplans are always interesting history to read. If you weren't a gamer (or alive) at the time when quakeworld came around, you might not appreciate how amazing it was for multiplayer games on the internet. On dial-up, you were lucky to have 150ms latency. Before client-side-prediction, that latency applied to every action you took in game, including player movements. Hit the up-arrow, and you wait 150-300m…

It's funny. Sure, DSL brought the (much) bigger bandwidths, but when moving from ISDN to DSL, ping times increased again and it made total sense to play ESL matches over telephone dialup instead of DSL. But either they improved or it's just the normal. Anyway, I stopped playing shooters in the early 00s and so I don't really care anymore. source: German who never had a 56k modem but started with ISDN in 1998 and can'…

> but when moving from ISDN to DSL, ping times increased again and it made total sense to play ESL matches over telephone dialup instead of DSL.

Telekom used "interleave" by default, which provided very slightly faster download speeds. And caused about 70 ms latency to the first hop.

I had to contact them and ask them to change my ADSL to "fast path". This dropped the latency to maybe 20 ms (IIRC, my memory might fail me on this number).

I think ISDN was about 40 ms to first hop, but again, it's been a long time.

Post reply on HN