ais523 wrote:
> Announcement
> ============
>
> I am pleased to announce the release of NetHack 4.2.0.
I should probably come clean about my intentions now. First, I think
it's obvious to most people that the simultaneous release of all the
actively developed variants on April 1 was not a coincidence (although
some people may have missed it, because Grunt's post went via Google
Groups, which seems to have had technical problems). The version numbers
are all correct too (although there were some version number bumps
involved in order to avoid clashes; bhaak felt like it was time for a
major version bump with Un, I needed to increase the value for NetHack 4
to avoid clashes with NitroHack, and Grunt chose the number for
GruntHack to stay level with the other variants of a similar level of
advances over vanilla). Likewise, the features we advertised as having
in our messages actually exist in the variants (no, NetHack 4 doesn't
run on the NES; I specifically said it didn't in the message, and was
just trying to think of a platform that NetHack has never been ported
to, there aren't many…)
Anyway, while I know that rgrn has seen and played around with NitroHack
before now, I haven't been advertising AceHack here much, mostly because
it was still missing features from the (rather ambitious) vision I had
in mind for it. More recently, I've realised that much of what I was
planning was a bad idea, and reined myself in somewhat when I was
rewriting everything for the latest project. The result is a merged
version of NitroHack and AceHack; it was codenamed NiceHack for what I
hope were obvious reasons, but the project has now been given its
official name of "NetHack 4". (There were variants with names like
"NetHack+" or "NetHack Minus" or "NetHack brass"; thus, I feel that
"NetHack 4" is a valid, if deliberately provocative, name for a
variant.)
Of course, with a name like that, I'm obviously trying to make another
point too. Development of vanilla NetHack has effectively stopped at
this point. I know that it's still being developed behind the scenes;
there's quite some evidence of that, mostly gained from the reply to bug
reports. However, with no visible code and a near-useless bug tracker,
the fact that NetHack is being developed is of no use to a developer or
player. In terms of what's actually available, the vanilla devteam are a
long way behind.
Although obviously I have no hard data on this, I believe the vanilla
devteam are also behind in terms of features. The user interface
improvements in AceHack or NitroHack or even UnNetHack are quite a step
ahead of vanilla NetHack, and one that I don't expect to have happened
in the vanilla codebase (and it doesn't matter even if they have, unless
$NEXTVERSION is released to prove me wrong). Likewise, many forks, like
UnNetHack or GruntHack, have been willing to make extensive gameplay
changes; NetHack 4 has mostly steered away from them so far, in order to
stave off even more controversy than it's going to cause anyway, but
both me and Daniel feel that improvements will be needed, and we'll add
things if they're sufficiently clear upgrades. (Any change at
all will be at least slighty controversial, it, seems, no matter what is
changed…)
Anyway, this marks the point at which I've stopped waiting for
$NEXTVERSION. We're behind on bugfixes compared to the vanilla devteam;
we only have a little over 10% of the known vanilla bugs fixed, although
of course we can make steady progress chipping away on those. The lack
of documentation is making things hard; the variant maintainers have
been emailing all the bug reports they find around to each other, and
placing them on the wiki
(<
http://nethackwiki.com/wiki/Bugs_in_NetHack_3.4.3>) when they can't
fix them immediately, but we guess this information pales to the amount
of information sent to the devteam. (Incidentally, the bug list is
rather inconsistently updated; even though the amount of information on
it is relatively useless, many bugs aren't even on there. Perhaps about
half of the ones I've reported personally are, for instance.) The lack
of support from the devteam is really holding things back. (This doesn't
mean I'm going to stop sending them bug reports, of course; if the
vanilla devteam wants to get into the field of NetHack development, I'm
not going to stop them…)
Everyone who dismissed our posts as mere April Fools' jokes, I strongly
advise you to look at the actual variants behind them; you may well
find something you enjoy. We feel that there needs to be a worthy
successor to NetHack 3.4.3, even if the devteam are unable or
unwilling to produce it. Here are the links again, for reference:
UnNetHack 4.0.0:
<
https://sourceforge.net/projects/unnethack/files/nethack/4.0.0/>
GruntHack 4.1.0:
<
https://github.com/sgrunt/GruntHack/>
NetHack 4 4.2.0:
<
https://gitorious.org/nitrohack/ais523/archive-tarball/nicehack> (you
can also get NitroHack and AceHack from the same repository, although
their official repositories are elsewhere)
We had to get some of this ready in a rush to reach April 1, so I
imagine there will be various bugs, instabilities, and missing features
(especially in NetHack 4: I was awake for around 31 hours
continuously yesterday to get it ready in time for April 1). Still, I
hope you forgive any problems you find, and send us feedback so that we
can correct it. Likewise, if you want to play GruntHack or NetHack 4,
you'll currently have to compile them yourself, although we hope they'll
still work on modern platforms (and we can try to fix them if they
dont). Supporting older platforms may be harder due to a lack of ability
to test, but if someone is willing to help port, I'm willing to work
with them.
Finally, a post of this nature wouldn't be complete without a feature
list to encourage people to try it out:
Features from AceHack (note that not all AceHack features are in
NetHack 4; some haven't been ported over to work with NitroHack's
engine yet, some turned out to be bad ideas and were removed):
- Stairs and traps beneath items are visible (in the curses interface,
this is shown using background color, although this can be turned
off); likewise, you can see where you've walked, if a monster is
peaceful/tame/hostile, and whether your character knows whether doors
are locked/unlocked/trapped
- Commands have more consistency in the keypresses required to use them
(e.g. eating from the ground is now always "e,", and eating from your
inventory in slot y is now always "ey"; vanilla's behaviour of using
ey for both has killed a character of mine before now)
- The game gives a warning upon attempting many sorts of obviously
self-destructive actions (like eating corpses old enough to be
tainted, or walking into lava, or attacking a shopkeeper), although
allows you to override it and perform the action anyway if you really
want to
- Doors can be opened simply by walking into them, and the o
command will use an unlocking tool on them for you if you knew they
were locked
- A new autoexplore command tells the game to repeatedly travel to the
nearest unexplored square until something interesting happens (I'm
personally a little dubious about how useful this is for general play,
but it's there if you want it, and I find it great in the Mines)
- You can request many sorts of information that you could calculate
but that vanilla doesn't show from the game, such as kill or genocide
lists, intrinsics, and score breakdowns
- Spellbooks can be read even before your memory of the spell wears out,
and you can see your remaining spell memory from the + menu
- The game now automatically identifies items for you in circumstances
where their identity becomes obvious or could be trivially tested
(e.g. engraving with a wand of cold, or wearing jumping boots, or
finding a potion of oil)
- Floating eyes can no longer be damaged with melee attacks at all, but
there's no penalty for trying to attack them besides the wasted turn
- Amnesia no longer causes you to forget information that could have
been written down, but rather skills and spells
- Swapping between primary and readied weapons no longer costs a turn
- Items inside a container can be BCUed by dropping the container;
items that stack can be BCUed by allowing them to stack with an
identical but BCUed item
- Bags of holding can no longer be destroyed by typos (the offending
item being inserted will be cancelled instead, or for nesting
bags fail unless it's clearly an intentional attempt to nest bags)
- There are many more candles in the Mines (in the inventories of
gnomes), to make it very unlikely that you don't find 7 in a game
- If an item has been charged, or if a wand has failed to work due to
being empty, you'll see the fact in the inventory rather than having
to remember
- Light sources can have their charge count identified (with a formal
identification source or a scroll of charging), so you can see how
long you have left on your oil lamp
- And both AceHack and NitroHack independently made item weights visible
Features from NitroHack:
- A new curses interface that keeps your inventory permanently on
screen, and shows more information in the status area
- Replays of games that don't just show you what the player saw, but
also allow you to query inventory or view in a different terminal size
or even a different interface
- The ability to change options in-game and have them stick, and change
some options that were previously compile-time (such as the existence
of Elbereth) before creating a game instead
- The ability to view an overview of the dungeon, including maps of
levels you aren't on
- Ability to rewind a save file; for obvious reasons, this isn't
available as a command in the game, but it can be automatically used
to recover from crashed games
- And a whole load of internals improvements that you probably don't
care about unless you're planning to make a variant yourself, but
which make further development much simpler
And some special goodness just for NetHack 4:
- The ability to play the game permanently blind or permanently
hallucinating (no more startscumming for blindfolds just to play Zen)
- Quest unlockable before turn 2000 (if you've maxed your alignment, you
don't need to also have 20 alignment)
- No need to press --More-- unless a turn produces so many messages that
some would scroll off the screen
- The vibrating square is now an object in the game rather than a set of
coordinates, so it's permanently visible after you've found it (no
more need to mark the square)
- Recording your choices from menus in the message history
- Save files storing the game state at every point as well as the
commands entered, so you can replay your games even on later versions
as long as save compatibility hasn't been broken
--
ais523
Alex Smith
for the NetHack 4 devteam