Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PATCH] Dungeon Overview

82 views
Skip to first unread message

Hojita Discordia

unread,
Mar 6, 2006, 9:09:37 PM3/6/06
to
http://misao.messingonline.net/nethack-3.4.3-dungeonmap-readme.txt
http://misao.messingonline.net/nethack-3.4.3-dungeonmap-v1.patch

[Excerpt from readme]

This patch creates a dungeon map overview that is recorded as the player
explores the dungeon. I was tired of returning to a game a few days later
and having no idea what the dungeon looked like. Trying to name pieces
of armor with shorthand didn't work so well as an intermediate solution
either, especially around nymphs.

It can be assumed that this map is in the mind of the hero and thus
can't be stolen, can be read when blind, or when buried, or when the hero
doesn't have any hands, or eyes, or hands free, or...etc. On the other hand,
this implies that the hero doesn't remember all of the details ("a fountain",
"some fountains", "many fountains") and that the map is subject to amnesia
when applicable.

This overview tracks fountains, altars, stores, temples, sinks, thrones, and
dungeon branches.

Feel free to copy, modify, or otherwise include this patch on some other
website (such as a patch compendium or what have you.)

Added commands
==============
#overview (ctrl+m) - displays overview
#level (ctrl+n, if not using numpad) - names current level

Example Output From #overview
=============================
The Dungeons of Doom (level 1 - level 15)
Level 1:
-A fountain
Level 3: (My stash.)
-An altar, some fountains
-Stairs down to The Gnomish Mines
Level 7:
-Many fountains
Level 8:
-Stairs up to Sokoban, level 7
Level 15:
-A general store
-Closed portal to The Quest
The Gnomish Mines (level 4 - level 7)
Level 7: <- You are here
-Many stores, some fountains, a temple

Peter

unread,
Mar 6, 2006, 10:34:54 PM3/6/06
to
Hojita Discordia wrote:
> http://misao.messingonline.net/nethack-3.4.3-dungeonmap-readme.txt
> http://misao.messingonline.net/nethack-3.4.3-dungeonmap-v1.patch
>
> [Excerpt from readme]
>
> This patch creates a dungeon map overview that is recorded as the player
> explores the dungeon. I was tired of returning to a game a few days later
> and having no idea what the dungeon looked like. Trying to name pieces
> of armor with shorthand didn't work so well as an intermediate solution
> either, especially around nymphs.
[snip]

Good idea. I sometimes start taking text notes with the best of
intentions, but inevitably run out of steam -- too much of a pain. I
don't think this idea breaks roleplaying, or should be considered
unbalancing, because a person actually in that situation would remember
what the heck they were up to -- they'd never get their own stories
confused with those of other who came before them. And they wouldn't
take those annoying breaks for Real Life (tm). :-)

L

unread,
Mar 6, 2006, 11:07:46 PM3/6/06
to
Surely trees, unlooted vaults, Delphi, the Big Room, the Rogue level
and the Castle are significant enough to list as well?

>-Closed portal to The Quest

There's no such thing as a "closed portal." Either it exists or it
doesn't.

Jym

unread,
Mar 7, 2006, 7:16:19 AM3/7/06
to
On Tue, 07 Mar 2006 03:09:37 +0100, Hojita Discordia
<nethack.ad...@neverbox.com> wrote:


> This overview tracks fountains, altars, stores, temples, sinks, thrones,
> and
> dungeon branches.

> Added commands


> ==============
> #overview (ctrl+m) - displays overview

Could work with ctrl+o as in Wizmod ?
Yes, it's not exactly the same things, but yet...
(and, as L said, it could track everything that is listed in wizmod ctrl+o)

> #level (ctrl+n, if not using numpad) - names current level

Great job, anyway. Thx.

--
Hypocoristiquement,
Jym.

David Damerell

unread,
Mar 7, 2006, 8:42:24 AM3/7/06
to
Quoting Hojita Discordia <nethack.ad...@neverbox.com>:
>This patch creates a dungeon map overview that is recorded as the player
>explores the dungeon. I was tired of returning to a game a few days later
>and having no idea what the dungeon looked like. Trying to name pieces
>of armor with shorthand didn't work so well as an intermediate solution
>either, especially around nymphs.

Fascinating idea. Nice one.
--
David Damerell <dame...@chiark.greenend.org.uk> flcl?
Today is Monday, March.

David Damerell

unread,
Mar 7, 2006, 8:45:18 AM3/7/06
to
Quoting L <L_1...@yahoo.com>:
>Surely trees, unlooted vaults, Delphi, the Big Room, the Rogue level
>and the Castle are significant enough to list as well?

Unlooted vaults would be a spoiler.

Delphi, the Big Room, and the Castle would require some decision as to how
much of the level the player must see before they can reasonably be
identified as such.

Message has been deleted

David Damerell

unread,
Mar 7, 2006, 11:44:46 AM3/7/06
to
Quoting Jukka Lahtinen <jsl...@despammed.com>:

>Hojita Discordia <nethack.ad...@neverbox.com> writes:
>>#level (ctrl+n, if not using numpad) - names current level
^^^
>Err.. ctrl-n is a movement command that shouldn't be remapped!

I suspect that "not" is spurious.

rpresser

unread,
Mar 7, 2006, 12:13:19 PM3/7/06
to

Hojita Discordia wrote:

> This overview tracks fountains, altars, stores, temples, sinks, thrones, and
> dungeon branches.

Interesting ... perhaps it does too much, in labeling dungeon branches.
I would have just had it say "an extra staircase down" or "an extra
staircase up" instead of giving the branch names.

Jym

unread,
Mar 7, 2006, 12:38:18 PM3/7/06
to rpresser

Once you've stepped in the branch, the name has been displayed, so telling
it is no extra information. Of course, when you've just seen the stair...


--
Hypocoristiquement,
Jym.

Simon Richard Clarkstone

unread,
Mar 7, 2006, 2:43:02 PM3/7/06
to
[snip]

> This overview tracks fountains, altars, stores, temples, sinks, thrones, and
> dungeon branches.
[snip]

> Added commands
> ==============
> #overview (ctrl+m) - displays overview
> #level (ctrl+n, if not using numpad) - names current level
[snip]
Ctrl+m may be a bad combination on some systems as it is also CR in
ASCII. The Mac, at least, always used to use CR as its newline
character (OSX is UNIX, so it probably uses LF), and the return key
produces CR under DOS.

--
Simon Richard Clarkstone: s.r.cl?rkst?n?@durham.ac.uk/s?m?n.cl?rkst?n?@
hotmail.com ### "I have a spelling chequer / it came with my PC /
it plainly marks for my revue / Mistake's I cannot sea" ...
by: John Brophy (at: http://www.cfwf.ca/farmj/fjjun96/)

rpresser

unread,
Mar 7, 2006, 3:59:54 PM3/7/06
to

Simon Richard Clarkstone wrote:
> Hojita Discordia wrote:

> > Added commands
> > ==============
> > #overview (ctrl+m) - displays overview
> > #level (ctrl+n, if not using numpad) - names current level
> [snip]
> Ctrl+m may be a bad combination on some systems as it is also CR in
> ASCII. The Mac, at least, always used to use CR as its newline
> character (OSX is UNIX, so it probably uses LF), and the return key
> produces CR under DOS.

control-m in Win32 nethack seems to be reinterpreted as control-J.
?
e - give info on what a given key does
(I press control-m)
^J Go south until you are near something

So it does not seem to be possible to map ^M to something.

Also, ^N is already mapped to "Go Southeast until you are near
something". This mapping exists regardless of the number_pad setting.

Hojita Discordia

unread,
Mar 7, 2006, 10:26:28 PM3/7/06
to

Just to be clear, it doesn't display a branch until you've physically
taken it. And Jym is right: once you've stepped in the name has been
displayed and so there isn't any extra information given.

Hojita Discordia

unread,
Mar 7, 2006, 10:36:42 PM3/7/06
to
On Tue, 07 Mar 2006 17:24:05 +0200, Jukka Lahtinen wrote:

> Hojita Discordia <nethack.ad...@neverbox.com> writes:
>
>> #level (ctrl+n, if not using numpad) - names current level
>

> Err.. ctrl-n is a movement command that shouldn't be remapped!

David Damerell is right in his reply: the "not" is spurious. It should
read ctrl+n, if using numpad. Is there some other reason that it
shouldn't be remapped? It appears that ctrl-l is also mapped with a note
"if number_pad is set" and using ctrl-n appears to work as expected in
practice.

Maybe I should have just picked a different key combination entirely or
somehow made the command work from the #name prompt, (but I couldn't think
of an elegant way to make the latter work).

Hojita Discordia

unread,
Mar 7, 2006, 10:45:12 PM3/7/06
to
On Tue, 07 Mar 2006 12:59:54 -0800, rpresser wrote:

>
> Simon Richard Clarkstone wrote:
>
>> Ctrl+m may be a bad combination on some systems as it is also CR in
>> ASCII. The Mac, at least, always used to use CR as its newline
>> character (OSX is UNIX, so it probably uses LF), and the return key
>> produces CR under DOS.
>

> So it does not seem to be possible to map ^M to something.

Interesting. It seemed to work fine for me on my win32 build. That's
quite odd. A quick Linux test seems to say that ctrl-m => ctrl-j though,
which is no good.

> Also, ^N is already mapped to "Go Southeast until you are near
> something". This mapping exists regardless of the number_pad setting.

If I turn on number_pad and hit ^N in vanilla 3.4.3, I get "Unknown
command '^N'. I'm under the (empirical) impression that binding commands
to ctrl-(go in a direction) will work when number_pad is set.

Hojita Discordia

unread,
Mar 7, 2006, 10:57:01 PM3/7/06
to
On Tue, 07 Mar 2006 13:45:18 +0000, David Damerell wrote:

> Quoting L <L_1...@yahoo.com>:
>>Surely trees, unlooted vaults, Delphi, the Big Room, the Rogue level
>>and the Castle are significant enough to list as well?
>
> Unlooted vaults would be a spoiler.
>
> Delphi, the Big Room, and the Castle would require some decision as to how
> much of the level the player must see before they can reasonably be
> identified as such.

Exactly. I'm not even sure that the player would know that the castle was
supposed to be a castle or even that it was "the Castle" and not just "a
castle." The same with the Big Room. (On top of even trying to figure out
how to decide if the player can identify it or not. Ugh.)

That's more or less what the ability to name levels was supposed to solve
(other than just being moderately useful.) If you as the knowledgable
player know within the first step that a level is the castle, then you can
name it as such. The otherplayers get to figure it out themselves without
being told in the overview.

L

unread,
Mar 7, 2006, 11:29:56 PM3/7/06
to
>Unlooted vaults would be a spoiler.

Well obviously you wouldn't know about it until you stumbled into it.

Ohle Claussen

unread,
Mar 8, 2006, 3:39:27 AM3/8/06
to
On 2006-03-08, L wrote:
>>Unlooted vaults would be a spoiler.
>
> Well obviously you wouldn't know about it until you stumbled into it.
>

"You hear the footsteps of a guard on patrol".

Something is written here in the dust. You read: "Ad aerarium".

"You feel very greedy, and sense gold!"

"You sense the presence of objects."

"A map coalesces in your mind!"

regards,
Ohle
--
Jann Ohle Claussen | GPG-Key-ID E7149169
http://www.stud.uni-goettingen.de/~s251251
"I thought how proud I am to be standing up beside my dad. Never did it occur
to me that he would become the gist for cartoonists." --dubya

Jym

unread,
Mar 8, 2006, 12:04:18 PM3/8/06
to Hojita Discordia

By the way, does it only check for specific branches or should it work
with any branch someone might come up with ?

Typically, if someone write code for a new branch (or, say, plays
Slash'em), do the "dungeon overview" patch need to be rewritten to take
that new branch into account or will it be displayed without problem
because the code is generic enough ?


--
Hypocoristiquement,
Jym.

rpresser

unread,
Mar 8, 2006, 1:43:09 PM3/8/06
to

Maybe I messed things up somehow when I recompiled. I used MSYS,
whereas I know the vanilla releases use MSVC.

Richard Bos

unread,
Mar 8, 2006, 2:50:08 PM3/8/06
to
David Damerell <dame...@chiark.greenend.org.uk> wrote:

> Quoting L <L_1...@yahoo.com>:
> >Surely trees, unlooted vaults, Delphi, the Big Room, the Rogue level
> >and the Castle are significant enough to list as well?
>
> Unlooted vaults would be a spoiler.
>
> Delphi, the Big Room, and the Castle would require some decision as to how
> much of the level the player must see before they can reasonably be
> identified as such.

You can hear Delphi. It's not immediately obvious, perhaps, but IMO
obvious enough once you've been there once or twice.

Richard

Hojita Discordia

unread,
Mar 8, 2006, 7:19:39 PM3/8/06
to
On Wed, 08 Mar 2006 18:04:18 +0100, Jym wrote:
>
> By the way, does it only check for specific branches or should it work
> with any branch someone might come up with ?

There are a few special cases (because you can't do anything in
Nethack without at least a few...), but it should be generic
enough to work with any dungeon layout.

Janis Papanagnou

unread,
Mar 8, 2006, 7:32:27 PM3/8/06
to
Ohle Claussen wrote:
> On 2006-03-08, L wrote:
>
>>>Unlooted vaults would be a spoiler.
>>
>>Well obviously you wouldn't know about it until you stumbled into it.
>
> Something is written here in the dust. You read: "Ad aerarium".

This one can also occur as a random engraving.

Janis

Hojita Discordia

unread,
Mar 8, 2006, 8:02:18 PM3/8/06
to
Dungeon overview patch, v2.

http://misao.messingonline.net/nethack-3.4.3-dungeonmap-readme.txt
http://misao.messingonline.net/nethack-3.4.3-dungeonmap-v2.patch

Now tracks trees. "Closed" portals are now "sealed" portals. ;)
Ctrl-m was problematic on seemingly any build but my own win32 one, so I
took Jym's suggestion and mapped the command to ctrl-o. Ctrl-o now brings
up the overview, unless you're in wizard mode, in which case it does the
old behavior and you have to use the extended command. Ctrl-n is still
problematic if you're not using number pad, but, there aren't any free
ctrl keys or reasonable meta keys (meta-b? meta-z?).

(Yuck. This was my first time adding a command. I didn't realize it
would be so problematic!)

Finally, just to be clear: yes, this patch could track more, but it's by
design that it doesn't. It purposely only tracks dungeon features in the
guidebook or branch names that the UI gives you to avoid spoiling the
player in any way. Neither the guidebook nor the UI mention vaults, big
rooms, or the castle and there's nothing in the game that identifies them
explicitly as such. So, it would be a spoiler to point them out.

Janis Papanagnou

unread,
Mar 8, 2006, 8:08:20 PM3/8/06
to
Hojita Discordia wrote:
>
> [Excerpt from readme]
>
> This patch creates a dungeon map overview that is recorded as the player
> explores the dungeon. I was tired of returning to a game a few days later
> and having no idea what the dungeon looked like. [...]

A good extension!

> Added commands
> ==============
> #overview (ctrl+m) - displays overview
> #level (ctrl+n, if not using numpad) - names current level

At least in Wizmode there's a command (#levelchange) that uses "#level" as
prefix, so you'd have to type a lot to get unambiguous. Maybe "#annotate",
instead? [*]

> Example Output From #overview
> =============================

> [...]

I suggest to stay as close as possible to the Wizmode ^O command formatting
(i.e. indentation, header format, and omit the dashes or insert some space).

Your patch does not retain save file compatibility, as far as I understand.
Since the release of the new version of Nethack must be close (I hope!), it
would be good if you suggest it ASAP to the Devteam to be included. :-)
(Otherwise we would have to wait too long to use it in Vanilla.)

Janis

[*] A note off-topic to this thread but related WRT taking notes; I would
also like to see a feature to annotate/rename objects that have been named
while they vanish (scrolls, potions, etc.) or that can't be named during
their application (e.g. thrown gems caught by unicorns, etc.). Currently
you need to have two objects of the type to do so, and otherwise you also
cannot change/correct any description you gave. Would be convenient, IMO.

Arthur J. O'Dwyer

unread,
Mar 8, 2006, 8:45:40 PM3/8/06
to

On Thu, 9 Mar 2006, Janis Papanagnou wrote:
>
> [*] A note off-topic to this thread but related WRT taking notes; I would
> also like to see a feature to annotate/rename objects that have been named
> while they vanish (scrolls, potions, etc.) or that can't be named during
> their application (e.g. thrown gems caught by unicorns, etc.). Currently
> you need to have two objects of the type to do so, and otherwise you also
> cannot change/correct any description you gave. Would be convenient, IMO.

Pedantic note: IIRC, you could name the gem /before/ you throw it, and
then --- if the unicorn doesn't catch it --- pick it up and rename it.
I do agree with your point, though: it would be convenient and in
keeping with the rest of the game if you were allowed to name objects
"posthumously." :)

-Arthur,
and a "me too" on the kudos to the OP (original patcher)

Janis Papanagnou

unread,
Mar 8, 2006, 9:04:56 PM3/8/06
to
Arthur J. O'Dwyer wrote:
> On Thu, 9 Mar 2006, Janis Papanagnou wrote:
>>
>> [*] A note off-topic to this thread but related WRT taking notes; I would
>> also like to see a feature to annotate/rename objects that have been
>> named
>> while they vanish (scrolls, potions, etc.) or that can't be named during
>> their application (e.g. thrown gems caught by unicorns, etc.). Currently
>> you need to have two objects of the type to do so, and otherwise you also
>> cannot change/correct any description you gave. Would be convenient, IMO.
>
> Pedantic note: IIRC, you could name the gem /before/ you throw it, and
> then --- if the unicorn doesn't catch it --- pick it up and rename it.

You're right; it's a bit less convenient to name it twice but possible.

I didn't thought of it when I wrote that since I usually don't do it - I
don't like the rude message the game gives in case of junk glass. ;-)

> I do agree with your point, though: it would be convenient and in
> keeping with the rest of the game if you were allowed to name objects
> "posthumously." :)

Janis

L

unread,
Mar 8, 2006, 9:31:41 PM3/8/06
to
>> Well obviously you wouldn't know about it until you stumbled into it.

>[some messages indicative of a vault]

Allow me to rephrase myself: obviously _your_character_ wouldn't know
about it until they stumbled into it.

Ohle Claussen

unread,
Mar 9, 2006, 4:52:58 AM3/9/06
to
IMO defining what your character knows and what it doesn't know is not
that easy, but certainly at least the case of magic mapping would make
the vault known to your character without doubt.

L

unread,
Mar 9, 2006, 6:03:05 AM3/9/06
to
>IMO defining what your character knows and what it doesn't know is not
>that easy, but certainly at least the case of magic mapping would make
>the vault known to your character without doubt.

No. The character (who begins the game with no dungeon experience)
can't be expected to know that a 2x2 isolated room is a vault. What's
more, they can't be expected to know that _all_ 2x2 isolated rooms are
vaults.

The interior of a vault, however, is distinctive: "A rock hits the
vault's ceiling, then falls back on top of your head."

Ohle Claussen

unread,
Mar 9, 2006, 6:11:52 AM3/9/06
to
It's a 2x2 isolated room. The character sees it on different levels and
can't reach it. Whether the character notes 'there's another one of
those isolated 2x2 rooms on DL5' or 'there's a vault on DL5' doesn't
make much difference to me.

Philip Kendall

unread,
Mar 9, 2006, 6:26:32 AM3/9/06
to
In article <440e1191...@news.xs4all.nl>,

Richard Bos <rl...@xs4all.nl> wrote:
>
>You can hear Delphi. It's not immediately obvious, perhaps, but IMO
>obvious enough once you've been there once or twice.

And we once again hit the player knowledge-character knowledge problem.
Once we've found Delphi, should we automatically mark the next level as
"having an extra upstair to Sokoban"? That's about as obvious once


"you"'ve been there once or twice.

Cheers,

Phil

--
Philip Kendall <pa...@srcf.ucam.org>
http://www.srcf.ucam.org/~pak21/

Douglas Henke

unread,
Mar 9, 2006, 11:15:01 AM3/9/06
to
"L" <L_1...@yahoo.com> writes:
> No. The character (who begins the game with no dungeon experience)
> can't be expected to know that a 2x2 isolated room is a vault.

Assuming you choose to play nethack with the added, optional,
difficult conduct of treating it as a role-playing game rather than a
puzzle game:

Your character may have no personal experience in the Dungeons of
Doom, but he has training (says so in the intro), and has the
Guidebook. He may have experience in other dungeons, and/or the
benefit of knowledge passed on by those who have previously escaped
the Dungeons of Doom. And who knows what seers, prophecies or other
supernatural sources of information can be found in the world above?

The depth and veracity of this experience depends on your character's
background story -- a matter on which nethack itself (being, in and of
itself, a puzzle game, with only those role-playing elements the
player opts to bring to it) provides only the barest hints.

Hojita Discordia

unread,
Mar 11, 2006, 10:16:40 AM3/11/06
to
http://misao.messingonline.net/nethack-3.4.3-dungeonmap-readme.txt
http://misao.messingonline.net/nethack-3.4.3-dungeonmap-v3.patch

Sorry for the repeated posts on this. This should be the final version
(for 3.4.3) of the dungeon map overview patch. Thanks for all the input
and feedback, it's extremely appreciated. =)

Janis Papanagnou had some good ideas that I incorporated. #level is now
#annotate to avoid #levelchange collision. Elemental planes and astral
plane are now handled better. In fact, somehow they were overlooked in
previous versions. Finally, I changed the formatting of the overview to
be a little bit closer to print_dungeon()'s, but they still don't look too
similar (possibly because I'm of the opinion that print_dungeon() is a
programmer's tool, not a player's one.)

0 new messages