Let's compile Quake like it's 1997
Ever wonder what it was like to compile Quake in 1997? This article takes you on a delightful, retro-technical journey, recreating the exact Windows NT and Visual C++ 6 environment. It's a testament to the enduring power of classic developer tools and a deep dive into the fascinating, often convoluted, history of game development. HN users revel in the nostalgia and appreciate the meticulous detail of this digital archeology.
The Lowdown
This article meticulously details the process of compiling Quake like it's 1997, specifically focusing on the Win32 binaries developed by id Software after their initial NeXT-based builds. It's a journey into historical computing, recreating the exact development environment to understand the challenges and triumphs of that era.
- The author begins by noting id Software's shift from NeXT/DJGPP to Windows NT with Visual C++ 4.X (later migrating to 6) for later Quake versions.
- To achieve historical accuracy, the article suggests options ranging from finding an Intergraph RealizM workstation to using a virtual machine.
- The first step involves installing Windows NT 4, highlighting its minimalist startup and the complexities of SMP (Symmetric Multiprocessing) setup.
- Next, Visual C++ 6 is installed. The author points out its surprising power for the time (debuggers, stack traces) but also its installation quirks, such as awkward UI scaling on high resolutions.
- A crucial step is acquiring the correct
q1source.zipand transferring it without corrupting the.dswworkspace file, often via a specific FTP server or old WinRar versions. - The build process initially fails due to missing
ml.exefor assembly files, necessitating the installation of the VC++6 Processor Pack. - This leads to a humorous 'Monkey Island'-like puzzle: installing Service Pack 5 for VC++6 first requires installing MDAC 2.5, buried deep within the service pack's decompressed folder.
- After successfully navigating these dependencies, the build finally completes, demonstrating the functional
winquake.exeandqwcl.exe.
The article concludes by praising Visual C++ 6 as a remarkably powerful IDE for its time, despite the convoluted setup required to get it running with older projects, offering a window into the programming realities of the late 90s.
The Gossip
Visual C++ 6 Virtues & Veteran Vows
Many commenters wax nostalgic about Visual C++ 6, praising its power, clean UI, and developer experience. They recall its long lifespan, some using it professionally well into the 2000s and even 2020. There's a debate on whether it was truly revolutionary with its debugging features, with some pointing out that Turbo Pascal offered similar capabilities much earlier, in the late 80s.
Microsoft's .NET Transition & Tribulations
The discussion veers into Microsoft's strategic shift from classic tools like VB6 to the .NET framework. One perspective argues that this move alienated a vast base of VB programmers, effectively 'killing' that ecosystem before Microsoft pivoted to open source. Another counter-argument suggests .NET was a valid attempt to solve complex interoperability issues, but its timing was off, arriving when desktop relevance was waning.
The Perils of Patching & Past Processes
Commenters appreciated the article's humorous and accurate depiction of the convoluted installation and patching processes common in the 90s, likening it to a 'Monkey Island' adventure. This highlights the stark contrast with modern, streamlined development environment setups, evoking shared memories of struggling with archaic dependencies.