NetHackDS

From GameBrew
Revision as of 08:25, 10 March 2024 by HydeWing (talk | contribs)
NetHackDS
Nethackdsfan.png
General
Authorfancypantalons (brettk)
TypeRole playing
Version3.6.7
LicenseMixed
Last Updated2024/02/28
Links
Download
Website
Source

NetHackDS is a port of NetHack for the Nintendo DS that tries to make the best use of the DS hardware to provide an easy-to-use, ergonomic NetHacking experience. This is not simply a port with a software keyboard. It uses the keypad, touchscreen, and multiple displays to optimize presentation of information and simplify input as best as possible on the DS.

While the original project was based on the Nethack DS port by Stuart, the more recent updates have included support for Status Hilites, and strips the port down to be a much cleaner straight overlay atop of NetHack vanilla 3.6.

Features

  • Support for 16- and 256-colour BMP tilesets, including non-rectangular tiles (tiles must have dimensions which are a multiple of 8, e.g. 8x8, 8x16, etc).
  • Support for text mode, with optional full colour and IBM graphics.
  • Support for multiple font sizes for menus, status, and message displays.
  • Popup command window for easy access to the full command set.
  • On-screen keyboard for text input.
  • Flexible key bindings, supports binding keys to both regular and extended commands, and toggleable options.
  • Support for both left- and right-handed modes.
  • Save and restore.
  • Sleep mode.
  • Optional walk mode, inspired by iRogue.
  • Incorporates the following patches to vanilla NetHack:

Installation

Download and extract file.

DLDI patch .nds file if needed (if your card does not have auto-patching) and copy it along with the files to the root directory of the card.

User guide

A roguelike typically involves a protagonist exploring a virtual world, acquiring equipment, items, and money, with the aim of achieving a specific goal or completing a quest. In NetHack, the objective is to retrieve the Amulet of Yendor from the dungeon depths and then return to sacrifice it to your god.

It sounds simple on the surface, but the path to ascension is a long and arduous one, fought with many perils. Not the least of which is the destructive nature the game often has on grades, job performance, and so forth.

The NetHackDS release includes a manual for reference.

Controls

D-Pad - Move

R+D-Pad - Scroll map

A - Pick up

B - Search

X - Open

Y - Kick

L - Display command window

You may also interact with the game map using the Stylus.

Screenshots

nethackdsfan2.pngnethackdsfan3.png

nethackdsfan5.pngnethackdsfan4.png

Changelog

3.6.7 2024/02/28

  • Merge of upstream NetHack 3.6.7 release (plus a couple of extra commits after that).
  • A couple of key notes about this release:
    • NetHack 3.6.7 includes at least one major fix for builds on Linux environments, so older versions won't compile due to a gcc incompatibility when building 32-bit binaries on 64-bit systems (a necessity for this cross-compile to work).
    • I've also included, you know, all the Makefiles you need to actually compile this thing (though the build instructions still need some work, they don't currently mention the need for a 32-bit compiler environment, which is an important omission).

3.6.6 2020/03/14

  • Merge of upstream NetHack 3.6.6 release.

3.6.2 2019/06/15

  • Merge of the NetHack 3.6.2 vanilla codebase into NetHackDS. Otherwise all the same caveats apply to 3.6.1.

3.6.1 Alpha 1 2018/05/13

  • First alpha build of NetHackDS built on vanilla 3.6.1.

3.4.3r2 2016/05/04

  • Represents NetHackDS 1.17 with a few bug fixes that were identified and fixed, plus build fixes to work with the latest toolchange.
  • This code is based on NetHack 3.4.3. The version numbering scheme is switched for this release, dropping the old X.Y versioning, so it's clearer what the release represents.

1.17 2008/01/24

  • Added support for tapping menu section titles for selecting items in that section.
  • Changed menus in keyboard mode to show item accelerator characters.
  • After insisting I'd never do it, action menus (read, zap, eat, etc, etc) now display only relevant menu items (with an option to show all).
  • Made 'cursor' a compound option, which can take three values: 0 (always on), 1 (disabled over hero), and 2 (always off).
  • More refinements to touchscreen handling to ensure that stylus raises are promptly registered (fixes periodic hangs).
  • Fixed directional prompting when keyboard mode is enabled.
  • Fixed detection spells (such as "detect monsters"), etc, so they properly wait for user input.
  • Fixed key bound option toggling, after I completely broke it in the last release.
  • Fixed crasher triggered by popping up a menu immediately after resuming a saved game with the 'name' option set (yes, someone hit this).

1.16 2008/01/04

  • Allow users to bind commands to individual chordkey presses (note, you can't bind combination presses, and commands are activated when the key is released).
  • Added support for binding run and fight movements (movements prefixed with 'g' and 'F', respectively).
  • Added the 'cmdkey' option, which lets the user define the key used to open the command window.
  • Added 'keyhelp' option which controls whether the bindings are shown on the screen (default is now off).
  • Added HELPLINE1 and HELPLINE2 directives. These take key lists, which determine which keys appear in the key help, and in what order.
  • Moved minimap colours into a palette file (minimap.pal).
  • Properly ignore all input when in sleep mode.
  • Various commands which didn't show a prompt now do (eg, wear, take off, eat, etc).
  • Fixed a bug in the default X keymapping. ie, it actually works now (the default was mistakenly set to "o," instead of just "o").
  • Fixed a bug where dismissing the "Toggle Option" key binding submenu without selecting anything would cause a crash.
  • Fixed a bug where responding to the "Press A…" prompt would result in the action bound to A getting executed.
  • Fixed keyboard colours, and changed the palette to plain text.

1.15a 2007/12/31

  • Yes, already. Fixed a map rendering bug in graphics mode caused by wall tile substitution in the NetHack core (this was evident when going from the regular dungeons to Sokoban, where the wall colours are supposed to change, but didn't).

1.15

  • Added the CHORDKEYS configuration option, which allows the user to define which keys may be used in combination of others for the purpose of key binding.
  • Removed triggermode (yes, after just two versions), in lieu of CHORDKEYS.
  • Display help for key bindings if a chord key is pressed.
  • Changed extended command input to use a menu, rather than the virtual keyboard.
  • Added the ability to bind keys for toggling boolean options (eg, holdmode, hpmon, etc).
  • Added "Show Keys" command, which pops up a window listing the current key bindings.
  • Added hilite_pet support.
  • Added new option "keyrepeat", which controls whether or not keys repeat in the game (default on). Doesn't affect menus, command window, etc.

Credits

  • This code has it's roots in the first NetHackDS port, created by Stuart Pernsteiner.
  • Of course, there's the Nethack DevTeam.
  • The Devkitpro folks, and all those who've contributed to the project. In particular libnds.
  • Chism for his work on libfat.
  • Masscat for his GDB stub.
  • The dswifi developers.
  • Oddly, the Foobillard developers.
  • Stumpy, for his ANSI fontsets.
  • Tobias Jung, for making ProFont available.
  • The authors of the portable PCRE.
  • Many users for providing feedback and feature suggestions.

External links

Advertising: