Game history

From NetHackWiki
(Redirected from Nethack timeline)
Jump to navigation Jump to search
HACKHack 1.21Hack 1.0Hack 1.0.1Hack for PDP-11Hack 1.0.2PC/IX HackHack 1.0.3NetHack 1.3dNetHack 1.4fNetHack 2.2aNetHack 2.3eNetHack 3.0.0NetHack 3.0.1NetHack 3.0.2NetHack 3.0.3NetHack 3.0.4NetHack 3.0.5NetHack 3.0.6NetHack 3.0.7NetHack 3.0.8NetHack 3.0.9NetHack 3.0.10NetHack 3.1.0NetHack 3.1.1NetHack 3.1.2NetHack 3.1.3NetHack 3.2.0NetHack 3.2.1NetHack 3.2.2NetHack 3.2.3NetHack 3.3.0NetHack 3.3.1NetHack 3.4.0NetHack 3.4.1NetHack 3.4.2NetHack 3.4.3NetHack 3.6.0NetHack 3.6.1NetHack 3.6.2NetHack 3.6.3NetHack 3.6.4NetHack 3.6.5NetHack 3.6.6NetHack 3.6.7NetHack 5.0.0Timeline of NetHack
About this image
The bundled Guidebook includes NetHack's history in the history file, other than the player address, under Chapter 12, Credits:

The original hack game was modeled on the Berkeley UNIX rogue game. Large portions of this paper were shamelessly cribbed from A Guide to the Dungeons of Doom, by Michael C. Toy and Kenneth C. R. C. Arnold. Small portions were adapted from Further Exploration of the Dungeons of Doom, by Ken Arromdee.

NetHack is the product of literally dozens of people's work. Main events in the course of the game development are described below:

The history file continues:

Behold, mortal, the origins of NetHack...

Jay Fenlason wrote the original Hack, with help from Kenny Woodland, Mike Thome, and Jon Payne.

Andries Brouwer did a major re-write while at Stichting Mathematisch Centrum (now Centrum Wiskunde & Informatica), transforming Hack into a very different game. He published the Hack source code for use on UNIX(tm) systems by posting that to Usenet newsgroup net.sources (later renamed comp.sources) releasing version 1.0 in December of 1984, then versions 1.0.1, 1.0.2, and finally 1.0.3 in July of 1985. Usenet newsgroup net.games.hack (later renamed rec.games.hack, eventually replaced by rec.games.roguelike.nethack) was created for discussing it.

Don G. Kneller ported Hack 1.0.3 to Microsoft(tm) C and MS-DOS(tm), producing PC HACK 1.01e, added support for DEC Rainbow graphics in version 1.03g, and went on to produce at least four more versions (3.0, 3.2, 3.51, and 3.6).

R. Black ported PC HACK 3.51 to Lattice(tm) C and the Atari 520/1040ST, producing ST Hack 1.03.

Mike Stephenson merged these various versions back together, incorporating many of the added features, and produced NetHack version 1.4. He then coordinated a cast of thousands in enhancing and debugging NetHack 1.4 and released NetHack versions 2.2 and 2.3. Like Hack, they were released by posting their source code to Usenet where they remained available in various archives accessible via ftp and uucp after expiring from the newsgroup.

Later, Mike co-ordinated a major rewrite of the game, heading a team which included Ken Arromdee, Jean-Christophe Collet, Steve Creps, Eric Hendrickson, Izchak Miller, Eric S. Raymond, John Rupley, Mike Threepoint, and Janet Walz, to produce NetHack 3.0c.

NetHack 3.0 was ported to the Atari by Eric R. Smith, to OS/2 by Timo Hakulinen, and to VMS by David Gentzel. The three of them and Kevin Darcy later joined the main development team to produce subsequent revisions of 3.0.

Olaf Seibert ported NetHack 2.3 and 3.0 to the Amiga. Norm Meluch, Stephen Spackman and Pierre Martineau designed overlay code for PC NetHack 3.0. Johnny Lee ported NetHack 3.0 to the Macintosh. Along with various other Dungeoneers, they continued to enhance the PC, Macintosh, and Amiga ports through the later revisions of 3.0.

Version 3.0 went through ten relatively rapidly released "patch-level" revisions. Versions at the time were known as 3.0 for the base release and variously as "3.0a" through "3.0j", "3.0 patchlevel 1" through "3.0 patchlevel 10", or "3.0pl1" through "3.0pl10" rather than 3.0.0 and 3.0.1 through 3.0.10; the three component numbering scheme began to be used with 3.1.0.

Headed by Mike Stephenson and coordinated by Izchak Miller and Janet Walz, the development team which now included Ken Arromdee, David Cohrs, Jean-Christophe Collet, Kevin Darcy, Matt Day, Timo Hakulinen, Steve Linhart, Dean Luick, Pat Rankin, Eric Raymond, and Eric Smith undertook a radical revision of 3.0. They re-structured the game's design, and re-wrote major parts of the code. They added multiple dungeons, a new display, special individual character quests, a new endgame and many other new features, and produced NetHack 3.1. Version 3.1.0 was released in January of 1993.

Ken Lorber, Gregg Wonderly and Greg Olson, with help from Richard Addison, Mike Passaretti, and Olaf Seibert, developed NetHack 3.1 for the Amiga.

Norm Meluch and Kevin Smolkowski, with help from Carl Schelin, Stephen Spackman, Steve VanDevender, and Paul Winner, ported NetHack 3.1 to the PC.

Jon Wätte and Hao-yang Wang, with help from Ross Brown, Mike Engber, David Hairston, Michael Hamel, Jonathan Handler, Johnny Lee, Tim Lennan, Rob Menke, and Andy Swanson, developed NetHack 3.1 for the Macintosh, porting it for MPW. Building on their development, Barton House added a Think C port.

Timo Hakulinen ported NetHack 3.1 to OS/2. Eric Smith ported NetHack 3.1 to the Atari. Pat Rankin, with help from Joshua Delahunty, was responsible for the VMS version of NetHack 3.1. Michael Allison ported NetHack 3.1 to Windows NT.

Dean Luick, with help from David Cohrs, developed NetHack 3.1 for X11. It drew the map as text rather than graphically but included nh10.bdf, an optionally used custom X11 font which has tiny images in place of letters and punctuation, a precursor of tiles. Those images don't extend to individual monster and object types, just replacements for monster and object classes (so one custom image for all "a" insects and another for all "[" armor and so forth, not separate images for beetles and ants or for cloaks and boots).

Warwick Allison wrote a graphically displayed version of NetHack for the Atari where the tiny pictures were described as "icons" and were distinct for specific types of monsters and objects rather than just their classes. He contributed them to the NetHack Development Team which rechristened them "tiles", original usage which has subsequently been picked up by various other games. NetHack's tiles support was then implemented on other platforms (initially MS-DOS but eventually Windows, Qt, and X11 too).

The 3.2 NetHack Development Team, comprised of Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet, Steve Creps, Kevin Darcy, Timo Hakulinen, Steve Linhart, Dean Luick, Pat Rankin, Eric Smith, Mike Stephenson, Janet Walz, and Paul Winner, released version 3.2.0 in April of 1996.

Version 3.2 marked the tenth anniversary of the formation of the development team. In a testament to their dedication to the game, all thirteen members of the original NetHack Development Team remained on the team at the start of work on that release. During the interval between the release of 3.1.3 and 3.2.0, one of the founding members of the NetHack Development Team, Dr. Izchak Miller, was diagnosed with cancer and passed away. That release of the game was dedicated to him by the development and porting teams.

Version 3.2 proved to be more stable than previous versions. Many bugs were fixed, abuses eliminated, and game features tuned for better game play.

During the lifespan of NetHack 3.1 and 3.2, several enthusiasts of the game added their own modifications to the game and made these "variants" publicly available:

Tom Proudfoot and Yuval Oren created NetHack++, which was quickly renamed NetHack-- when some people incorrectly assumed that it was a conversion of the C source code to C++. Working independently, Stephen White wrote NetHack Plus. Tom Proudfoot later merged NetHack Plus and his own NetHack-- to produce SLASH. Larry Stewart-Zerba and Warwick Allison improved the spell casting system with the Wizard Patch. Warwick Allison also ported NetHack to use the Qt interface.

Warren Cheung combined SLASH with the Wizard Patch to produce Slash'EM, and with the help of Kevin Hugo, added more features. Kevin later joined the NetHack Development Team and incorporated the best of these ideas into NetHack 3.3.

The final update to 3.2 was the bug fix release 3.2.3, which was released simultaneously with 3.3.0 in December 1999 just in time for the Year 2000. Because of the newer version, 3.2.3 was released as a source code patch only, without any ready-to-play distribution for systems that usually had such.

(To anyone considering resurrecting an old version: all versions before 3.2.3 had a Y2K bug. The high scores file and the log file contained dates which were formatted using a two-digit year, and 1999's year 99 was followed by 2000's year 100. That got written out successfully but it unintentionally introduced an extra column in the file layout which prevented score entries from being read back in correctly, interfering with insertion of new high scores and with retrieval of old character names to use for random ghost and statue names in the current game.)

The 3.3 development team, consisting of Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet, Steve Creps, Kevin Darcy, Timo Hakulinen, Kevin Hugo, Steve Linhart, Ken Lorber, Dean Luick, Pat Rankin, Eric Smith, Mike Stephenson, Janet Walz, and Paul Winner, released 3.3.0 in December 1999 and 3.3.1 in August of 2000.

Version 3.3 offered many firsts. It was the first version to separate race and profession. The Elf class was removed in preference to an elf race, and the races of dwarves, gnomes, and orcs made their first appearance in the game alongside the familiar human race. Monk and Ranger roles joined Archeologists, Barbarians, Cavemen, Healers, Knights, Priests, Rogues, Samurai, Tourists, Valkyries and of course, Wizards. It was also the first version to allow you to ride a steed, and was the first version to have a publicly available web-site listing all the bugs that had been discovered. Despite that constantly growing bug list, 3.3 proved stable enough to last for more than a year and a half.

The 3.4 development team initially consisted of Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet, Kevin Hugo, Ken Lorber, Dean Luick, Pat Rankin, Mike Stephenson, Janet Walz, and Paul Winner, with Warwick Allison joining just before the release of NetHack 3.4.0 in March 2002.

As with version 3.3, various people contributed to the game as a whole as well as supporting ports on the different platforms that NetHack runs on:

Pat Rankin maintained 3.4 for VMS.

Michael Allison maintained NetHack 3.4 for the MS-DOS platform. Paul Winner and Yitzhak Sapir provided encouragement.

Dean Luick, Mark Modrall, and Kevin Hugo maintained and enhanced the Macintosh port of 3.4.

Michael Allison, David Cohrs, Alex Kompel, Dion Nicolaas, and Yitzhak Sapir maintained and enhanced 3.4 for the Microsoft Windows platform. Alex Kompel contributed a new graphical interface for the Windows port. Alex Kompel also contributed a Windows CE port for 3.4.1.

Ron Van Iwaarden was the sole maintainer of NetHack for OS/2 the past several releases. Unfortunately Ron's last OS/2 machine stopped working in early 2006. A great many thanks to Ron for keeping NetHack alive on OS/2 all these years.

Janne Salmijärvi and Teemu Suikki maintained and enhanced the Amiga port of 3.4 after Janne Salmijärvi resurrected it for 3.3.1.

Christian "Marvin" Bressler maintained 3.4 for the Atari after he resurrected it for 3.3.1.

The release of NetHack 3.4.3 in December 2003 marked the beginning of a long release hiatus. 3.4.3 proved to be a remarkably stable version that provided continued enjoyment by the community for more than a decade. The NetHack Development Team slowly and quietly continued to work on the game behind the scenes during the tenure of 3.4.3. It was during that same period that several new variants emerged within the NetHack community. Notably sporkhack by Derek S. Ray, unnethack by Patric Mueller, nitrohack and its successors originally by Daniel Thaler and then by Alex Smith, and Dynahack by Tung Nguyen. Some of those variants continue to be developed, maintained, and enjoyed by the community to this day.

In September 2014, an interim snapshot of the code under development was released publicly by other parties. Since that code was a work-in-progress and had not gone through the process of debugging it as a suitable release, it was decided that the version numbers present on that code snapshot would be retired and never used in an official NetHack release. An announcement was posted on the NetHack Development Team's official nethack.org website to that effect, stating that there would never be a 3.4.4, 3.5, or 3.5.0 official release version.

In January 2015, preparation began for the release of NetHack 3.6.

At the beginning of development for what would eventually get released as 3.6.0, the NetHack Development Team consisted of Warwick Allison, Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet, Ken Lorber, Dean Luick, Pat Rankin, Mike Stephenson, Janet Walz, and Paul Winner. In early 2015, ahead of the release of 3.6.0, new members Sean Hunt, Pasi Kallinen, and Derek S. Ray joined the NetHack Development Team.

Near the end of the development of 3.6.0, one of the significant inspirations for many of the humorous and fun features found in the game, author Terry Pratchett, passed away. NetHack 3.6.0 introduced a tribute to him.

3.6.0 was released in December 2015, and merged work done by the development team since the release of 3.4.3 with some of the beloved community patches. Many bugs were fixed and some code was restructured.

The NetHack Development Team, as well as Steve VanDevender and Kevin Smolkowski, ensured that NetHack 3.6 continued to operate on various *NIX flavors and maintained the X11 interface.

Ken Lorber, Haoyang Wang, Pat Rankin, and Dean Luick maintained the port of NetHack 3.6.1 for MacOS.

Michael Allison, David Cohrs, Barton House, Pasi Kallinen, Alex Kompel, Dion Nicolaas, Derek S. Ray and Yitzhak Sapir maintained the port of NetHack 3.6 for Microsoft Windows.

Pat Rankin attempted to keep the VMS port running for NetHack 3.6, hindered by limited access. Kevin Smolkowski has updated and tested it for the most recent version of OpenVMS (V8.4 as of this writing) on Alpha and Integrity (aka Itanium aka IA64) but not VAX.

Ray Chason resurrected the MS-DOS port for 3.6.1 and contributed the necessary updates to the community at large.

In late April 2018, several hundred bug fixes for 3.6.0 and some new features were assembled and released as NetHack 3.6.1. The NetHack Development Team at the time of release of 3.6.1 consisted of Warwick Allison, Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet, Pasi Kallinen, Ken Lorber, Dean Luick, Patric Mueller, Pat Rankin, Derek S. Ray, Alex Smith, Mike Stephenson, Janet Walz, and Paul Winner.

In early May 2019, another 320 bug fixes along with some enhancements and the adopted curses window port, were released as 3.6.2.

Bart House, who had contributed to the game as a porting team participant for decades, joined the NetHack Development Team in late May 2019.

NetHack 3.6.3 was released on December 5, 2019 containing over 190 bug fixes to NetHack 3.6.2.

NetHack 3.6.4 was released on December 18, 2019 containing a security fix and a few bug fixes.

NetHack 3.6.5 was released on January 27, 2020 containing some security fixes and a small number of bug fixes.

NetHack 3.6.6 was released on March 8, 2020 containing a security fix and some bug fixes.

NetHack 3.6.7 was released on February 16, 2023 containing a security fix and some bug fixes.

Development work for the major release to follow NetHack 3.6 began in 2015 around the same time as NetHack 3.6.0 was being released. That development work continued in parallel to each of the NetHack 3.6 releases from 2015 through 2023, and continued until the end of April 2026. For the first time, that development was shared publicly on GitHub and SourceForge as it occurred. It was done under the label NetHack-3.7 work-in-progress (WIP), although the version number for the next release had not yet been solidified.

Exposure of the development to the public brought many good things, and some challenges. People were able to observe and criticize changes and new features almost immediately, and they often did. The GitHub pull request system made it straightforward for people to contribute directly to development. Contributions resolved many, many bugs in the game and we thank all the contributors.

In early 2026, with the game development getting stable enough to consider initiating an official release, the devteam reviewed the nature and number of changes in the game. It was clear that there was sufficient depth and breadth to warrant a major release and version 5.0 was decided on. That's a new major release over 3.x, without opening up any ambiguity or confusion with existing variants that there might have been had it been released as version 4.0.

NetHack 5.0.0 was released on May 2, 2026.

The source code for NetHack 5.0.0 was modified and modernized to be compliant with the C99 standard. The 5.0.0 release contained over 3100 fixes,changes, and updated features.

NetHack 5.0 was the first version to replace the lex and yacc level and dungeon compilers of past versions, with a new Lua interpreter-based approach to provide those elements. Lua is also used for the quest texts in NetHack 5.0.0. The entire development team acknowledges the work done by Pasi Kallinen to make that happen.

At the time of the NetHack 5.0 release, the core development team, active and erstwhile, included Warwick Allison, Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet, Bart House, Kevin Hugo, Pasi Kallinen, Ken Lorber, Dean Luick, Pat Rankin, Derek S. Ray, Alex Smith, Patric Mueller, Mike Stephenson, Janet Walz, Paul Winner.

Ken Lorber, Pat Rankin, Patrick Mueller and Michael Allison helped ensure that NetHack 5.0 would run on macOS.

Ingo Paschke somehow managed to revive a NetHack 5.0 port for the Amiga, using a cross-compiler on a modern platform to do so. His work was shared so others can straightforwardly produce NetHack 5.0 for the Amiga thanks to his efforts.

Ray Chason contributed the majority of maintenance work for the NetHack 5.0 MS-DOS port, including porting the curses interface to it. Michael Allison ensured that NetHack 5.0 core changes continued to work with the msdos port and keep it alive. Cross-compiling the MS-DOS port has helped make that possible and mostly painless.

People that contributed to the Windows port of NetHack 5.0 since the development of NetHack 5.0 began over eleven years ago, included Michael Allison, David Cohrs, Bart House, Pasi Kallinen, Alex Kompel, Dion Nicolaas, Derek S. Ray and Yitzhak Sapir.

With sadness, the devteam would like to acknowledge and remember the past contributions from the late Ron Van Iwaarden, who was the sole maintainer of NetHack for OS/2 for several past NetHack releases. Ron will be missed.

The official NetHack web site is maintained by Ken Lorber at https://www.nethack.org/.

The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.