3 ms·
The big difference is in the net code. While I can remember and justify all of my decisions about networking from DOOM through Quake, the bottom line is that
by djtango 4y ago
The big difference is in the net code. While I can remember and justify
all of my decisions about networking from DOOM through Quake, the bottom
line is that I was working with the wrong basic assumptions for doing a
good internet game. My original design was targeted at <200ms connection
latencies. People that have a digital connection to the internet through
a good provider get a pretty good game experience. Unfortunately, 99% of
the world gets on with a slip or ppp connection over a modem, often through
a crappy overcrowded ISP. This gives 300+ ms latencies, minimum. Client.
User's modem. ISP's modem. Server. ISP's modem. User's modem. Client.
God, that sucks.
Ok, I made a bad call. I have a T1 to my house, so I just wasn't familliar
with PPP life. I'm adressing it now.
The first move was to scrap the current net code. It was based on a
reliable stream as its original primitive (way back in qtest), then was
retrofited to have an unreliable sideband to make internet play feasable.
It was a big mess, so I took it out and shot it. The new code has the
unreliable packet as its basic primitive, and all the complexities that
entails is now visible to the main code instead of hidden under the net api.
This is A Good Thing. Goodbye phantom unconnected players, messages not getting through, etc
It was Carmack - I've always loved this article https://fabiensanglard.net/quakeSource/johnc-log.aug.htm https://fabiensanglard.net/quakeSource/johnc-log.aug.htm
- andrewmcwatters 4y agoYep, and because of his .plan files, and no other historical details around the technology, I think it's safe to say he invented it. In 1999, QuakeWorld was the first, to my knowledge, implementation of client-side prediction in a first-person shooter. But I'm almost certain there were rudimentary client-side prediction models that existed before John Carmack, which is why I say I think he was the first to "invent" it, but frankly I'm not so sure about that. I mean think about terminals, as an example. I do think with near certainty he was the first to invent the client-server with client-side prediction architecture in time stepped software, or more specifically in an FPS.