Disclaimer: I’m rambling, and this is all just opinion and speculation, not legal fact (except where it happens to actually be true).
When considering how much of Nethack we can approach in terms of a commercial product, it’s worth noting that aside from the endless “bugs fixed here” messages, most of the changes introduced over the years in Nethack are really not really interesting (copyrightable). For example, in Nethack 3.0.4, we read “Objects and monsters have color for the first time” and “Monsters are no longer created in the same room as the player.” Oh, and they added silver arrows. You know, like in Robin Hood. Probably for werewolves and vampires.
In Nethack 3.0.6, a major change is that “Open doors have different symbols from closed ones.” Even major versions like 3.1 had significant changes like “Dungeon lighting now uses line-of-sight calculations.” None of this is rocket science, or really copyrightable in the sense that it could not be used without breaking the NGPL or without attribution that would spoil an immersive product.
There are some major changes that were introduced in Nethack separate from Hack, which I will point out here; 90% of these take place in version 3.0.0 and 3.1.0.
1. Medusa and Soldiers introduced in 2.x.
4. In 3.1.0, A branched dungeon is introduced, adding the Gnomish Mines, a revised Oracle level, a Bigroom, the Quests, Fort Ludios, Medusa’s Lair, the Elemental Planes, and a revised Astral Plane. Vlad’s Tower is relocated into its own branch.
5. In 3.1.0 revisions including Hell, Gehennom, Moloch is introduced, along with a new background mythology.
3.2.0 introduced some quality of life changes to the spellcasting system but nothing major.
The major differences then really boil down to the special maps added. The fact that the dungeon branches could be seen as inconsequential other than offering the player a choice whether or not to go there before proceeding down.
Considering the dungeon design:
The dungeon in NetHack 1.3d has no branches; there is one way up and one way down. The first 25 levels or so consist of rooms, and beyond that, the adventurer encounters mazes. The deepest dungeon level is 40.
Dungeon level 30 and deeper are designated as “Hell“. Entering hell without fire resistance, or losing it once there, is an instadeath. One can lose fire resistance by taking off the ring or by losing one’s polymorph; this version does not have gremlins. These levels have only up-stairs, and the only way to enter is by level teleportation.
The dungeon had changed by NetHack 2.2a, but slightly. The first 25 levels or so consist of rooms, and beyond that, the adventurer encounters mazes. The deepest dungeon level is 60.
Medusa appears as ‘8’ on the down-stairs of the last level with rooms. She does not have a special level, and is thus a snare for the unwary adventurer.
Nethack 3.0.0 changes this formula only slightly by introducing the Castle; The first 25 levels or so consist of rooms, and beyond that, the adventurer encounters the Castle and then mazes. The deepest dungeon level is 50. Medusa still does not have a special level.
By Nethack 3.1.0 we see the major change that made the game come into it’s own. One will encounter these branches and special levels:
- A second stair to the Gnomish Mines. Therein, one will find Mine Town and, at the end, the bottom level with a luckstone.
- The Oracle level.
- A possible Bigroom.
- The Rogue level.
- The Castle.
- The Wizard’s Tower; it is visible but not accessible from here.
To win the game, it is necessary to complete these tasks:
- Escape from the dungeon.
- Pass through the Elemental Planes.
Beyond anything else it seems these changes in 3.1.0 (introducing original static maps into the game) which make Nethack Nethack and not Rogue or Hack.
All of which comes previously to this seems to be reasonable to include in a ‘roguelike’, and specifically the changes involving extensions to the Hack code which do not represent static, original map designs, are mostly quality of life improvements which seem to represent surpassing design limitations in early versions of the software. For example in hack you could not have two different monsters with the same symbol; the reason is because each letter is a hardcoded monster type (ex. see: mhitu.c in Hack 1.0.x source code). This technical limitation was removed in Nethack — but in Netwhack the limitation never existed because all monsters are objects and can have any symbol they need. Therefore, is such a “feature” as “kobolds and kops” in the same game protected by the NGPL? Of course not. Then there is the huge addition of monsters and items in later versions of Netahck, which seems to have come after a time when the devteam had been competing for memory space by using dynamic loading of code and other extreme methods of conserving memory. As a child of the age in which computers grew up, many of the ‘changes’ present in Nethack simply represent computers having more memory and becoming more powerful.
So about the only thing that could be considered copyright and subject to the NGPL are truly original additions. Not even the “Bell, Book and Candle” idea is original (at all). For example, see “Bell, Book and Candle” on Wikipedia. It’s also the name of a 1958 film. This device is used in the endgame of many, many fantasy games — for example in Ultima IV you need a Bell, Book and Candle to open the Stygian Abyss. In Ultima IV it’s the Book of Truth, the Bell of Courage and the Candle of Love. These items also appear elsewhere in the Ultima series, including Ultima Online. But in Netwhack they are the Bell of Opening, the Book of the Dead and the Candelabrum of Invocation. Further, the Candelabrum is actually a Menorah as referenced in the source code. This ‘version’ of the popular cultural trope is probably original, and fits in well with the Nethack mythos universe, so you would probably not want to copy it. But to include the bell, book and candle themselves in some sort of ritual to progress in the game would be almost expected given it’s prevalence in fantasy games.
All of the other changes seem to introduce familiar elements from culture; such as naming Jubilex as a creature. Jubilex comes from the Forgotten Realms series, and also appears in other video games such as Pathfinder.
It is thus very difficult to put a pin on exactly where the NGPL takes effect, but for the purposes of Netwhack we will take any look and feel we feel is acceptable save actual level design; in which place similar levels, or random levels may be introduced; some of which may reproduce the original levels by random chance. In no case will we try to copy Nethack verbatum; there are too many parts of the game, that we decide shouldn’t be there in the first place!