Talk:NetHack 1.3d

From NetHackWiki
Jump to: navigation, search

The early Devs seem to have briefly flirted with the idea of calling the game NetQuest if QUEST is defined [1]. This code appears from 1.3d to 2.3e. Does anyone know more about this? --Jayt 00:02, 15 September 2006 (UTC)

Kernigh writes: I am almost certain that this is a reference to game called "Quest". Now in late 2005 or early 2006, while browsing my own copy of the source code to OpenBSD 3.8, I came across the /usr/src/games/hack directory containing Hack 1.0.3 as shipped with OpenBSD. (You can browse it in OpenBSD CVS.) In the README is written, "(For a game with the same structure but entirely different display - a real cave instead of dull rectangles - try Quest)." Then I noticed a file called "Makequest". It seemed to me that the intent of this file, along with several #ifdef QUEST ... #endif clauses in the source code, was to produce a variant of the Hack game called Quest! Then did I postulate that Quest was the ancestor of the Gnomish Mines (not the modern Quest), but I have never tested that theory, nor have I attempted to build Quest (for OpenBSD builds only Hack), plus I knew not why OpenBSD apparently included a Quest patch in Hack, nor even if I have all of the Quest source or not.

Sometime in or after July of 2006, when Ray Chason added articles like Hack 1.0.2 and Hack 1.0.3 to NetHackWiki, then I became interested again in Hack. By way of Andries Brouwer's Hack page did I learn that Quest used a separate level generator called quest.mklev.c. (But my copy of Hack 1.0.3 has no file of that name.) I also peeked at the original sources, because OpenBSD (which imported the sources from NetBSD) had made maintainence changes to Hack as recently as 2003. Hack 1.0.3 was only an ed script against Hack 1.0.2, but I was surprised to see #ifdef QUEST ... #endif clauses in the old copies of Hack 1.0.2 that I saw.

I knew nothing about "NetQuest" before Jayt just now uncovered it. However, if old copies of Hack 1.0.2 included Quest, then Mike Stephenson et. al. might have inherited it when creating NetHack. As Hack became NetHack, so Quest would become NetQuest. Then I have to wonder if there are actually other #ifdef QUEST ... #endif clauses in early NetHack, or if the remnant that Jayt now found is the only such clause. --Kernigh 02:45, 15 September 2006 (UTC)

All versions of early Hack and NetHack are riddled with #ifdef QUEST ... #endif clauses. For example, Hack 1.0/hack.vault.c#line4 defines out the entire file if QUEST is not defined. I can't see a common theme to the code within the ifdefs. --Jayt 10:18, 15 September 2006 (UTC)
According to Andries Brouwer's Hack page that Kernigh references, the game Quest was never released in complete form; the file quest.mklev.c was accidentally lost. No copy of this file is known to survive. As for old copies, I've tried to link to the oldest I could find. No trace of quest.mklev.c is present in any archive I've found.
Consider also this post from Dr. Brouwer in 1985, saying that Quest had not been distributed.
It's possible that the Gnomish Mines were inspired by a stray copy of Quest, or at least the idea of Quest as having caves; but beyond that, it's not evident that there's a link. The references to Quest disappear after 2.3e, and the Mines don't appear until 3.1.0. -- Ray Chason 04:35, 16 September 2006 (UTC)

Source code references

  1. unixmain.c in NetHack 1.3d, line 9