A graphical frontend for NetHack 3.6.6 with isometric tiles, mouse-driven UI, sound effects, and music. Play in your browser via WebAssembly or natively on macOS and Linux.
Based on Vulture's Eye/Claw, updated for NetHack 3.6.6 and ported to SDL2.
- Isometric tile-based graphics with smooth scrolling
- Point-and-click interface with context menus
- Ambient sound effects and background music
- Fullscreen and windowed modes with resizable windows
- WebAssembly build for playing in the browser
- SDL2-based rendering (migrated from SDL1)
Visit the GitHub Pages deployment to play directly in your browser -- no installation required.
macOS (Homebrew):
brew install sdl2 sdl2_mixer sdl2_ttf libpng libogg libvorbis theoraUbuntu/Debian:
sudo apt install build-essential libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libpng-dev libogg-dev libvorbis-dev libtheora-dev# Generate Makefiles
cd sys/unix && sh setup.sh && cd ../..
# Build and install locally
make -j$(nproc 2>/dev/null || sysctl -n hw.ncpu)
make install
# Run
compiled/games/lib/vulture-nethack-3.6.6dir/vulture-nethack-3.6.6The game installs to compiled/games/lib/vulture-nethack-3.6.6dir/.
Requires the Emscripten SDK and a completed native build (for generated source files).
# Install Emscripten SDK (if not already installed)
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk && ./emsdk install latest && ./emsdk activate latest && source ./emsdk_env.sh
cd ..
# Build native first (generates required files)
cd sys/unix && sh setup.sh && cd ../..
make -j$(nproc 2>/dev/null || sysctl -n hw.ncpu)
make install
# Build WebAssembly version
bash sys/emscripten/build-web.sh
# Test locally
cd build-web && node ../sys/emscripten/server.js
# Open http://localhost:4000/nethack.htmlNetHack is a dungeon exploration game. Your goal is to descend through the Dungeon of Doom, retrieve the Amulet of Yendor, and ascend to offer it to your god.
- Move: Click on the map or use arrow keys / numpad
- Actions: Right-click objects and monsters for context menus
- Inventory: Click the backpack icon or press
i - Commands: Press
#for extended commands,?for help - Save: Press
Sto save and quit
For a full guide, see the NetHack Guidebook.
src/ NetHack core game engine (C)
include/ Header files
win/vulture/ Vulture graphical frontend (C++)
winclass/ Window class implementations
gamedata/ Graphics, sounds, fonts, config
vendor/ Third-party libraries (theoraplay)
sys/unix/ Unix/macOS build system
sys/emscripten/ WebAssembly build system
dat/ Game data files (levels, quests, etc.)
doc/ Documentation
- Quest text fix -- Fixed quest text not loading in the web build
- Mouse input fix -- Fixed mouse not working in native build
- Game Over screen -- Show a proper Game Over screen instead of auto-reloading on quit (web build)
- CI/CD -- Consolidated CI pipeline to web-only builds; deploy via gh-pages branch
- Linux build fix -- Fixed partial link conflict between
-rand-pieflags on Linux - SDL2 migration -- Fully ported from SDL1 to SDL2 (no more sdl12-compat dependency)
- WebAssembly port -- Play NetHack in the browser via Emscripten/WebAssembly
- Community files -- Added CONTRIBUTING.md, CODE_OF_CONDUCT.md, and issue/PR templates
See CONTRIBUTING.md for guidelines on how to contribute.
This project is licensed under the NetHack General Public License, based on the Bison General Public License. See the LICENSE file for details.
- NetHack DevTeam -- the original NetHack game
- Clive Crous -- Vulture's Eye/Claw graphical frontend
- Vulture contributors -- ongoing maintenance and SDL2/WebAssembly port