Live data from Hacker News

Let's compile Quake like it's 1997

fabiensanglard.net

21–30 of 82 posts

Re: Let's compile Quake like it's 1997

#21

"VC++6 is remarkably powerful for 1996. It has features such as "Go to definition", breakpoints, stacktrace, and variable inspections (but no Intellisense auto-completion yet). I never used it but it must have felt like a dream at the time." And here we are, in a generation of people writing blogs that never used VS6. I am now officially old. I was still using VS6 as late as 2009 btw...also it's from 1998. If you mad…

Rational Apex Ada is another dev platform that was way ahead of its time in early to late 90's. Multi-user hosted dev environment with incremental compilation and dependency tracking, syntax and semantic error highlighting, semantic search (i.e function signature) across whole repo, its own version control system with a git submodules style structure, automatic formatting as you write code. [Remote] Debugging and emulation features (stack trace, line of code, disassembly, etc), plus excellent VxWorks integration and tooling. Not to mention all the Ada language features which are still not available in modern languages.

Re: Let's compile Quake like it's 1997

#22
post #9

"VC++6 is remarkably powerful for 1996. It has features such as "Go to definition", breakpoints, stacktrace, and variable inspections (but no Intellisense auto-completion yet). I never used it but it must have felt like a dream at the time." And here we are, in a generation of people writing blogs that never used VS6. I am now officially old. I was still using VS6 as late as 2009 btw...also it's from 1998. If you mad…

Turbo Pascal had breakpoints, variable inspections in the late 80s. I think it had stack traces too but not 100% sure. I am not old enough to have used it professionally, but my teacher used it for teaching intro programming in the early 2000s. So I used it quite a lot, the debugger was great and the development loop was so tight. Not until I got into web dev did it ever feel "fast" to make change->see change. To thi…

All the good borland devs were poached by Microsoft. VC5 and 6 were the spiritual successors of the Turbo XXX family of IDEs.

Re: Let's compile Quake like it's 1997

#23

If you want to play Quake for free on Windows 11, try this: https://quake-remake.en.uptodown.com/windows/download

There is a dozen of existing Quake ports ready to run the moment you feed them the game files, and you recommend a version re-implemented on top of Xash3D, which is a GoldSrc-compatible engine. Why?

Re: Let's compile Quake like it's 1997

#24
post #11
post #9

Earlier quoted context omitted.

Turbo Pascal had breakpoints, variable inspections in the late 80s. I think it had stack traces too but not 100% sure. I am not old enough to have used it professionally, but my teacher used it for teaching intro programming in the early 2000s. So I used it quite a lot, the debugger was great and the development loop was so tight. Not until I got into web dev did it ever feel "fast" to make change->see change. To thi…

Yes, but if you compare the complexity of (Turbo) Pascal to the complexity of C++... language, environment, libraries and cross-compilation... (A nice thought-experiment is to ask if Quake could have been coded in TP at all - even if memory hadn't been an issue (I think there was no DOS extender for TP, but I could be wrong).)

I don't see why it couldn't have been written in Pascal. Plus, Quake was written in C/asm, not C++.

Re: Let's compile Quake like it's 1997

#25
The whole thing compiles with 2 warnings. Incredible codebase. John Carmack definitely was/is on a different level.

Back when I was making videogames I followed a similar philosophy. No warnings (but in an orders-of-magnitude smaller and less complex codebase). Crash on failed asserts, used liberally, in debug builds. Not sure why but it seems that gamedev doesn't do this kind of rigorous engineering in general (or at least it didn't back then -- and admittedly I never worked in a big studio).

Re: Let's compile Quake like it's 1997

#26
post #9

"VC++6 is remarkably powerful for 1996. It has features such as "Go to definition", breakpoints, stacktrace, and variable inspections (but no Intellisense auto-completion yet). I never used it but it must have felt like a dream at the time." And here we are, in a generation of people writing blogs that never used VS6. I am now officially old. I was still using VS6 as late as 2009 btw...also it's from 1998. If you mad…

Turbo Pascal had breakpoints, variable inspections in the late 80s. I think it had stack traces too but not 100% sure. I am not old enough to have used it professionally, but my teacher used it for teaching intro programming in the early 2000s. So I used it quite a lot, the debugger was great and the development loop was so tight. Not until I got into web dev did it ever feel "fast" to make change->see change. To thi…

The earlier Microsoft compilers included since 1985 the debugger CodeView, which could do all that and much more.

Around 1990, the development tools offered by Borland and Microsoft for C and C++ were pretty much equivalent and they both were quite good.

While the Borland languages were like "Turbo-X", the Microsoft languages were like "Quick-X".

The greatest difference between the commercial software available at that time and what exists today is that everything was accompanied by a set of high quality manuals that could teach you anything that one would want to know. Nowadays the quality of technical documentation is usually much worse.

Re: Let's compile Quake like it's 1997

#27

The whole thing compiles with 2 warnings. Incredible codebase. John Carmack definitely was/is on a different level. Back when I was making videogames I followed a similar philosophy. No warnings (but in an orders-of-magnitude smaller and less complex codebase). Crash on failed asserts, used liberally, in debug builds. Not sure why but it seems that gamedev doesn't do this kind of rigorous engineering in general (or a…

I would guess that the 1998 era Microsoft compiler didn't have nearly as many warnings as modern compilers do.

Re: Let's compile Quake like it's 1997

#28
post #11
post #9

Earlier quoted context omitted.

Turbo Pascal had breakpoints, variable inspections in the late 80s. I think it had stack traces too but not 100% sure. I am not old enough to have used it professionally, but my teacher used it for teaching intro programming in the early 2000s. So I used it quite a lot, the debugger was great and the development loop was so tight. Not until I got into web dev did it ever feel "fast" to make change->see change. To thi…

Yes, but if you compare the complexity of (Turbo) Pascal to the complexity of C++... language, environment, libraries and cross-compilation... (A nice thought-experiment is to ask if Quake could have been coded in TP at all - even if memory hadn't been an issue (I think there was no DOS extender for TP, but I could be wrong).)

In the storm of Doom-Quake mania of the mid 90s there was Chasm: The Rift by a small Ukrainian company Action Forms. And if memory serves me right, it was created in Turbo Pascal. It was late in development and came out in 1997 after Quake, so it didn't get much traction. But the engine, though pretty limited, could produce 3D enemies with interesting effects not found even in Quake.

So Turbo Pascal (with a whole bunch of x86 asm inclusions) was totally capable of producing Quake-level games. I myself, in the late 90s, discovered the hidden capacities when I learned x86 assembly from Peter Abel's book. Once I got rid of the primitive TP BGI library and switched to VGA 13h, it was an unbelievable level up in abilities to manipulate pixels on the screen!

Re: Let's compile Quake like it's 1997

#29

"VC++6 is remarkably powerful for 1996. It has features such as "Go to definition", breakpoints, stacktrace, and variable inspections (but no Intellisense auto-completion yet). I never used it but it must have felt like a dream at the time." And here we are, in a generation of people writing blogs that never used VS6. I am now officially old. I was still using VS6 as late as 2009 btw...also it's from 1998. If you mad…

It feels now like an alternative timeline, one which performance optimisations were first and foremost still. Sometimes I fantasize, thinking how would our current development ecosystem look like, if we never abandoned the "be very vigilant with all resources you use" approach, that includes the whole webdev liftoff, where we ship a few hundred mb chromium engine for a dock app

Re: Let's compile Quake like it's 1997

#30
post #14

"VC++6 is remarkably powerful for 1996. It has features such as "Go to definition", breakpoints, stacktrace, and variable inspections (but no Intellisense auto-completion yet). I never used it but it must have felt like a dream at the time." And here we are, in a generation of people writing blogs that never used VS6. I am now officially old. I was still using VS6 as late as 2009 btw...also it's from 1998. If you mad…

I used VS6 professionally and for private business around 2000-2004, and it was still going strong then. VC++ was great. One thing though that I still have nightmares about is Visual SourceSafe, Microsoft's idea of a source control system for small teams. It was not only terrible to use (and slow), but we regularly lost data in it due to concurrency issues.

Speaking of MS and source control, I have to shout out this incredibly niche channel [1] that recently covered "Microsoft Delta", a precursor and home grown effort that was eventually abandoned in favour of buying in what would become SourceSafe.

[1] https://www.youtube.com/watch?v=8bNLp_oTuNM

Post reply on HN