EvilHack

EvilHack is a variant of NetHack made to be much harder to win than the original. It was created by Keith Simpson (k21971), who started it on NetHack 3.6.2 in October 2018 and opened it for public play in April 2019 on the Hardfought servers; it has followed NetHack 3.6 up to 3.6.7 since. Its ideas come from GruntHack and SporkHack, with pieces from Slash'EM, SpliceHack, UnNetHack and xNetHack, plus a lot of content of its own. Home: github.com/k21971/EvilHack (changelog in doc/evilhack-changelog.md); community: #evilhack and #hardfought on Libera Chat.

Like NetHack, you go down through the Dungeons of Doom, find the Amulet of Yendor deep in Gehennom and carry it back up to offer it to your god. NetHack itself is by the NetHack DevTeam and many contributors, going back to Hack (Jay Fenlason, then Andries Brouwer); the in-game V command shows the whole history and credits list.

Licence: the NetHack General Public License (NGPL), as stated in the source headers ("NetHack may be freely redistributed. See license for details.") and in dat/license, which the game shows too.

History

Some milestones from the changelog (24 releases, 0.1.0 to 0.9.3), in short:

Keys

?
the game's own help menu (commands, symbols, options, the Guidebook)
~
explore: walk to the nearest unexplored place; stops at anything new
Enter
command menu: every command with its key, grouped
< >
walk to the nearest known up/down stairs; press again on them to climb
i
inventory with a cursor: a letter does the main action, Enter opens the item's action menu
S
save and stop (reload or Play again to continue)
h j k l y u b n
move (arrow keys and the number pad work too); Shift+direction runs
F + direction
fight in a direction, even what you cannot see
s
search for hidden doors and traps
Esc
cancel a prompt or menu
All keys (132, from the game's own command help)
&Tell what command a keystroke invokes
Ctrl+Show the type of an adjacent trap
EscCancel command (same as ESCape key)
Ctrl+OShortcut for '#overview': list interesting levels you have visited
bGo southwest 1 space
BGo southwest until you are on top of something
hGo west 1 space
HGo west until you are on top of something
jGo south 1 space
JGo south until you are on top of something
kGo north 1 space
KGo north until you are on top of something
lGo east 1 space
LGo east until you are on top of something
nGo southeast 1 space
NGo southeast until you are on something
uGo northeast 1 space
UGo northeast until you are on top of something
aApply (use) a tool or break a wand
ARemove all armor and/or all accessories and/or unwield weapons
Ctrl+ARedo the previous command
Ctrl+BGo southwest until you are near something
cClose a door
CCall (name) a monster, an individual object, or a type of object
dDrop an item
DDrop specific item types
Ctrl+DKick something (usually a door, chest, or box)
eEat something
EEngrave writing on the floor
fFire ammunition from quiver
FFollowed by direction, fight a monster (even if you don't sense it)
gFollowed by direction, move until you are near something
GFollowed by direction, same as control-direction
Ctrl+HGo west until you are near something
iShow your inventory
IInventory specific item types
Ctrl+JGo south until you are near something
Ctrl+KGo north until you are near something
Ctrl+LGo east until you are near something
mFollowed by direction, move without picking anything up or fighting
MFollowed by direction, move a distance without picking anything up
Ctrl+NGo southeast until you are near something
oOpen a door
OShow option settings, possibly change them
pPay your shopping bill
PPut on an accessory (ring, amulet, etc; will work for armor too)
Ctrl+PToggle through previously displayed game messages
qQuaff (drink) something (potion, water, etc)
QSelect ammunition for quiver (use '#quit' to quit)
rRead a scroll or spellbook
RRemove an accessory (ring, amulet, etc; will work for armor too)
Ctrl+RRedraw screen
sSearch all immediately adjacent locations for traps and secret doors
SSave the game (and exit; there is no "save and keep going")
tThrow something (choose an item, then a direction--not a target)
TTake off one piece of armor (will work for accessories too)
Ctrl+TTeleport around level
Ctrl+UGo northeast until you are near something
vShow version ('#version' shows more information)
VShow history of game's development
wWield a weapon (for dual weapons: 'w' secondary, 'x', 'w' primary, 'X')
WWear a piece of armor (will work for accessories too)
xSwap wielded and secondary weapons
XToggle two-weapon combat
Ctrl+XShow your attributes (shows more in debug or explore mode)
yGo northwest 1 space
YGo northwest until you are on top of something
Ctrl+YGo northwest until you are near something
zZap a wand
ZZap (cast) a spell
<Go up a staircase, or walk to the nearest known up staircase
>Go down a staircase, or walk to the nearest known down staircase
/Show what type of thing a symbol corresponds to
?Give a help message
\Show what object types have been discovered
`Show discovered types for one class of objects
_Travel via a shortest-path algorithm to a point on the map
~Auto-explore the level until something happens
.Rest one move while doing nothing
:Look at what is on the floor
;Show what type of thing a map symbol on the level corresponds to
,Pick up things at the current location
@Toggle the pickup option on/off
)Show the weapon(s) currently wielded or readied
[Show the armor currently worn
=Show the ring(s) currently worn
"Show the amulet currently worn
(Show the tools currently in use
*Show all equipment in use (combination of the ),[,=,",( commands)
{Toggle shield use (sword and board)
$Count your gold
+List known spells
#Perform an extended command (use '#?' to list choices)
0Continue a count
4Start or continue a count
6Start or continue a count
1Start or continue a count
2Start or continue a count
3Start or continue a count
7Start or continue a count
8Start or continue a count
9Start or continue a count
5Start or continue a count
Alt+2Toggle two-weapon combat
Alt+?Display extended command help (if the platform allows this)
Alt+aAdjust inventory letters
Alt+AAnnotate: supply a name for the current dungeon level
Alt+cChat: talk to an adjacent creature
Alt+CConduct: list voluntary challenges you have maintained
Alt+dDip an object into something
Alt+eEnhance: check weapons skills, advance them if eligible
Alt+fForce a lock
Alt+FForge: use a forge to combine objects or affix gemstones
Alt+gGenocided: list genocided and extinct monster types
Alt+iInvoke an object's special powers
Alt+jJump to a nearby location
Alt+lLoot a box on the floor
Alt+mWhen polymorphed, use a monster's special ability
Alt+nName a monster, an individual object, or a type of object
Alt+NName a monster, an individual object, or a type of object
Alt+oOffer a sacrifice to the gods
Alt+OOverview: show a summary of the explored dungeon
Alt+pPray to the gods for help
Alt+qQuit (exit without saving)
Alt+rRub a lamp or a touchstone
Alt+RRide: mount or dismount a saddled steed
Alt+sSit down
Alt+tTurn undead
Alt+TTip: empty a container
Alt+uUntrap something (trap, door, or chest)
Alt+vPrint compile time options for this version of EvilHack
Alt+wWipe off your face
Extended commands (96): # then the name, or the Enter menu
#adjustadjust inventory letters
#annotatename current level
#applyapply (use) a tool (pick-axe, key, lamp...)
#attributesshow your attributes
#autopickuptoggle the pickup option on/off
#callcall (name) something
#castzap (cast) a spell
#chattalk to someone
#closeclose a door
#conductlist voluntary challenges you have maintained and completed achievements
#dipdip an object into something
#downgo down a staircase
#dropdrop an item
#droptypedrop specific item types
#eateat something
#engraveengrave writing on the floor
#enhanceadvance or check weapon and spell skills
#exploremodeenter explore (discovery) mode
#firefire ammunition from quiver
#forceforce a lock
#forgeuse a forge to combine objects or affix gemstones
#glanceshow what type of thing a map symbol corresponds to
#genocidedlist monsters that have been genocided or become extinct
#helpgive a help message
#herecmdmenushow menu of commands you can do here
#historyshow long version and game history
#inventoryshow your inventory
#inventtypeinventory specific item types
#invokeinvoke an object's special powers
#jumpjump to another location
#kickkick something
#knownshow what object types have been discovered
#knownclassshow discovered types for one class of objects
#looklook at what is here
#lootloot a box on the floor
#monsteruse monster's special ability
#namename a monster or an object
#offeroffer a sacrifice to the gods
#openopen a door
#optionsshow option settings, possibly change them
#ordergive orders to a pet
#overviewshow a summary of the explored dungeon
#paypay your shopping bill
#praypray to the gods for help
#prevmsgview recent game messages
#putonput on an accessory (ring, amulet, etc)
#quaffquaff (drink) something
#quitexit without saving current game
#quiverselect ammunition for quiver
#readread a scroll or spellbook
#redrawredraw screen
#removeremove an accessory (ring, amulet, etc)
#removeimarkersremove remembered 'I' monster markers
#ridemount or dismount a saddled steed
#rubrub a lamp or a stone
#savesave the game and exit
#searchsearch for traps and secret doors
#seeallshow all equipment in use
#seeamuletshow the amulet currently worn
#seearmorshow the armor currently worn
#seegoldcount your gold
#seeringsshow the ring(s) currently worn
#seespellslist and reorder known spells
#seetoolsshow the tools currently in use
#seetrapshow the type of adjacent trap
#seeweaponshow the weapon currently wielded
#shapechangevampire's shapechanging ability
#shieldtoggle shield use (sword and board)
#showcolorsshow terminal color palette and depth
#sitsit down
#stealattempt to steal from a monster
#swapswap wielded and secondary weapons
#takeofftake off one piece of armor
#takeoffallremove all armor
#telekinesisuse telekinetic powers
#teleportteleport around the level
#terrainshow map without obstructions
#therecmdmenumenu of commands you can do from here to adjacent spot
#throwthrow something
#tipempty a container
#autoexploreexplore the level until something happens
#traveltravel to a specific location on the map
#turnturn undead away
#twoweapontoggle two-weapon combat
#untrapuntrap something
#upgo up a staircase
#versionlist compile time options for this version of NetHack
#versionshortshow version
#waitrest one move while doing nothing
#wearwear a piece of armor
#whatdoestell what a command does
#whatisshow what type of thing a symbol corresponds to
#wieldwield (put in use) a weapon
#wildshapedruid's shapechanging ability
#wipewipe off your face
#zapzap a wand

New players

EvilHack is much harder than NetHack. Deaths in the first few levels are normal. Things that save you in NetHack are weaker or gone, monsters are tougher and smarter, and they use the same items you do.

Choosing a character

Roles: Archeologist, Barbarian, Caveman, Convict, Druid, Healer, Infidel, Knight, Monk, Priest, Ranger, Rogue, Samurai, Tourist, Valkyrie, Wizard. Races: human, elf, dwarf, gnome, orc, giant, hobbit, centaur, illithid, tortle, drow, draugr, vampire, aasimar (not every role takes every race).

What is different

Tips

Saving

Playing in the browser

About this version

Based on EvilHack 0.9.3 · k21971/EvilHack @ c444f6a (the port's changes)

This web build is upstream EvilHack 0.9.3, commit c444f6a3ab1e9f16d0676961dba86f628e91c6ba (k21971/EvilHack at that commit), with a browser front end added (window port, explore, stair walking, Enter menu, tiles, sound, saving in the browser); gameplay is unchanged. The port's source is public at github.com/memmaker/evilhack.