From that first graph: Who was using WinNT in 2005?!
Businesses. And I knew a few diehards who swore Windows 2000 was shit and Windows NT 4.0 was where it was at, even as a workstation. Windows 95 and MS-DOS in 2004 worry me a bit more.
How Quake.exe got its TCP/IP stack
121–130 of 158 posts
Re: How Quake.exe got its TCP/IP stack
#122In an interview with Lex Fridman, John Carmack said that in retrospect, Quake was too ambitious in terms of development time, as it both introduced network play and a fully polygonal 3D engine written in assembly. So it would have been better to split the work in two and publish a "Network Doom" first and then build on that with a polygonal Quake. Which seems to imply that the network stack was about as difficult to…
And then you had Romero saying that Quake wasn't ambitious enough ...
Re: How Quake.exe got its TCP/IP stack
#123Re: How Quake.exe got its TCP/IP stack
#124Earlier quoted context omitted.
Andre Lamothe's "Tricks of the 3d Game Programming Gurus: Advanced 3d Graphics and Rasterization" is a great book for anyone interested in graphics programming from those days.
Also "The Black Book"[0] of Michael Abrash who worked on Quake with Carmack. [0]: https://www.amazon.fr/Michael-Abrashs-Graphics-Programming-S...
There's also the columns he wrote for Dr Dobbs' Journal during development. They're like an expanded, illustrated version of GPBB chapter's first half. https://www.bluesnews.com/abrash/contents.shtml
Re: How Quake.exe got its TCP/IP stack
#125Earlier quoted context omitted.
Amen to that! I think I remember there was some communication between ID and Charles Sandmann about CWSDPMI, so even though it's worded a bit strange for an open source project there's probably some thruth in it? Also a bit strange how the author is surprised about Quake running in a 'VM', apparently they don't really know about VM86 mode in x86 processors...
DPMI clients don’t run in a VM, though. They’re just a normal task like any other task / process in Windows.
Re: How Quake.exe got its TCP/IP stack
#126Random drive-by nitpick: > From the beginning of the development, id had requested from djgpp engineers that their DPMI client would be able to run on djgpp's DPMI server but also Windows 95 DPMI server. I'm pretty sure that "DJGPP engineers" is just one guy, DJ Delorie. DJGPP was always open source so I bet he got some contributors, but if the rest of this sentence is true that "id has requested from djgpp engineers…
Amen to that! I think I remember there was some communication between ID and Charles Sandmann about CWSDPMI, so even though it's worded a bit strange for an open source project there's probably some thruth in it? Also a bit strange how the author is surprised about Quake running in a 'VM', apparently they don't really know about VM86 mode in x86 processors...
He is perhaps surprised that it runs _at speed_ in the VM, not that it runs in the VM which he already knows about.
Re: How Quake.exe got its TCP/IP stack
#127Earlier quoted context omitted.
It's interesting how STREAMS pervaded everything for a short while (Apple's Open Transport networking stack for System 7.5 and up was also based on STREAMS) but everyone almost immediately wanted to get rid of it and just use Berkley sockets interfaces.
I still don't quite get how you should had communicate with the other systems over the network with STREAMS. With IP you have an address and the means to route the data to that address and back, with TCP/UDP sockets you have the address:port endpoint so the recipient doesn't need to pass a received packet to the all processes on the system, asking "is that yours". So if there is already some network stack providing b…
You’d still be talking of stuff like IP addresses and the like with it. Probably with the XTI API instead of BSD sockets, which is a bit more complex but you need the flexibility to handle different network stacks than just TCP/IP, like erm…
Re: How Quake.exe got its TCP/IP stack
#128I learned to solder as a pre-teen so I could make a nullmodem :) Then I learned that resistors were a thing when I made a parallel port sound card (this thing https://en.wikipedia.org/wiki/Covox_Speech_Thing ). Fun times!
Re: How Quake.exe got its TCP/IP stack
#129Earlier quoted context omitted.
Same. I only have experience from M.U.G.E.N fighting engine with respect to DJGPP.
I remember back in the day using DJGPP (DJ Delorie) with the Allegro library (Shawn Hargreaves), building little games that compiled and ran on Windows and other OSes, and being part of the community. You can still play the little game I made in under 10K for the Allegro SizeHack competition in 2000: https://web.archive.org/web/20250118231553/https://www.oocit... Back then I was also writing a bunch of articles on ga…
I took part in a few of the later Speedhacks, around 2004-2005, I think?
Allegro will always have a warm place in my heart, and it was a formative experience that still informs how I like to work on games.
EDIT: Hah, actually found my first Speedhack [1]! Second place, not bad! Interestingly, the person who took first place (Rodrigo Braz Monteiro) is also a professional game developer now.
[1]: https://web.archive.org/web/20071101091657/http://speedhack....
Re: How Quake.exe got its TCP/IP stack
#130I learned to solder as a pre-teen so I could make a nullmodem :) Then I learned that resistors were a thing when I made a parallel port sound card (this thing https://en.wikipedia.org/wiki/Covox_Speech_Thing ). Fun times!
I wasn't allowed a soldering iron as a kid, so I ended up just chopping and splicing a regular serial cable and turned it into a null modem, all so that I could play OMF2097 with my friends without having to share the same keyboard (we would always fight over right side, which defaulted to using the arrow keys for movement - and so the person who got the right side generally had the advantage, as back then arrow keys…