Angband for the Nintendo DS/3DS

This is a port of Angband for the Nintendo DS and Nintendo 3DS that is marginally based off of the old Angband port made by Immir. It is not yet as feature-complete as I'd like it to be, but it's already quite playable in it's current state.

The source code can be found in the upstream Angband GitHub repository (and, by extension, in many other Angband derivatives that regularly pull changes from upstream). Compile instructions can be found in the official Angband documentation.

Screenshots

Nintendo 3DS

Title screen on the Nintendo 3DS Gameplay on the Nintendo 3DS

Nintendo DS

Title screen on the Nintendo DS Gameplay on the Nintendo DS

Installation instructions

For installing the port onto your 3DS, simply download the 3dsx file (listed below) and put it somewhere on your SD card where you can launch it. You also need to download game files (also listed below, as `angband.zip`) and extract them to your SD card so that you have an `angband` folder in its root (or `faangband` for FAangband, etc.).

For the original Nintendo DS the procedure is similiar, you just need to download the nds file instead of the 3dsx file. Keep in mind that the NDS port is not really comfortable to play on, and more of a proof-of-concept. The screen is too small to display the game in a readable font size, and the hardware is too underpowered to run the game in its normal configuration (although, the latter problem is likely a non-issue when running in DSi mode). However, you can make the game run if you lower the level dimensions and number of monsters (use this as an example).

Configuration

Button mappings

To avoid having to use the on-screen keyboard for everything, the game allows for mapping certain button combinations to sequences of up to 10 keyboard inputs. In addition to the standard movement directions on the D-Pad, the following keys are mapped by default:

To change or add button mappings, the user can create the file `/angband/nds/button-mappings.txt` on the SD card, where button mappings will be stored.
Each line in the file (except for empty lines and lines starting with `#`) describes a mapping for a button combination.
The line is split into two parts (delimited by `:`), the first describing the button combination and the second listing the sequence of keys that should be pressed instead.

The available buttons for bindings are `A`, `B`, `Y`, `X`, `Up`, Down`, `Left`, `Right`, `Start`, `Select`, `L`, `R`, `ZL` and `ZR`.
L, R, ZL, and ZR are only used as modifier keys and do not trigger an action on their own (this means that they can only be used in combination with other keys).
The chosen buttons for a binding are simply written one after another, delimited using a `+`.

For the input sequence the characters are written as a coherent string. For special characters (also known as escaped characters) the characters can be stored in their escaped notation and they will be correctly processed by the game.
A list of escaped characters can be seen on the Wikipedia page about escape sequences, but the game only supports a subset of those (`\b`, `\t`, `\r`, `\e`, and `\\`). Quotation and question marks do not need to be escaped.

Example: If I wanted to input `g` three times followed by pressing Enter whenever I press the buttons `L` and `A`, I would put the following into my button-mappings.txt file:

L+A:ggg\r

On-screen keys

To add custom keys to the on-screen keyboard, the user can create the file `/angband/nds/screen-keys.txt` on the SD card.
Each line in the file (except for empty lines and lines starting with `#`) describes a mapping for a button combination.

A line has multiple fields, each seperated by a ':':

The rules for input sequences in the "Button mappings" feature apply here as well.

Example: This is a key with the label "rage quit", it's at the coordinates (80/120) from the top left of the screen, 64 pixels in width, 32 pixels in height and automatically navigates to the "Kill character and quit" menu entry.

rage quit:80:120:64:32:\r2222\r222\ry@\r

Downloads

NOTICE: Please do not leech or reupload these builds. If you want to link to something, please link to this overview page.
That way, everyone gets the chance to download the freshest build available, and with all the documentation that they might need.
In case this page is ever truly unavailable, an archived copy (including all downloads) is available on the WayBack Machine.

Angband 4.2.5 r0 (2023-10-15)

Changelog

Files

Angband 4.2.4 r298 (2023-07-13)

Changelog

Files

Angband 4.2.4 r0 (2022-02-25)

Changelog

Files

FAangband 2.0.1 r208 (2022-02-25)

Changelog

Files

Angband 4.2.3 r145 (2021-11-28)

Changelog

Files

FAangband 2.0.1 r87 (2021-11-28)

Changelog

Files

Angband 4.2.3 r68 (2021-09-04)

Changelog

Files

FAangband 2.0.0 r20 (2021-09-04)

Changelog

Files

Angband 4.2.3 r0+ (2021-08-05)

Changelog

Files

Angband 4.2.2 r235++ (2021-07-24)

Changelog

Files

Angband 4.2.2 r235+ (2021-07-22)

Changelog

Files