Nethack


1) I\'m still playing as an Illiterate barbarian and found out that when you leave the gnomish mines downwards the program exits to the menu (this happened twice). Maybe this is related to the previous bug that when people _entered_ the gnomish mines they where dumped to the GP2x menu.
The other day, I was playing as a Wizard, and I was able to get to the second level of the Gnomish mines without any problem (I eventually died before getting to the 3rd level however)... or is this different from what you mean? The very bottom level of the Gnomish mines isn't meant to have a downward exit I believe.

Marco, I'm sorry. Cause you were asking Dzz, not me, but the thing is - Nethack has few unique features that seem to be its "Holy Writ".
First - the appearance of walls and stuff. It's still an ASCII game, heavely relying on the gameplayer's imagination, and training it. Replacing ASCII art with pixel art is fine, but introducing new type of wall is... oh, my, it's blasphemy, I'm afraid.
The tile sets all have extra wall artwork for various levels of the dungeon (ie, Gnomish mines, Gehennom, and maybe the Castle), and I assume it has been the way ever since Nethack started using tiles... I don't think any level ever mixes wall styles.

As a side note... what happens when you hit the Rogue level in this game? Or is that simply disabled?

However, I agree that loosing the game because of dead batteries is lame and miserable, so, maybe it's worthwhile to work on a better warning system - a system to actively warn a player that the battery is about to die. Maybe even forcing save&quit when the battery gets on "empty" level +10 minutes. Just an idea...
Nethack itself has some form of crash recovery... check out the "checkpoint" option, which basically saves your game every time you change dungeon level. I'm not entirely sure how this functionality works, as I've never had to use it, but I seem to remember that older versions used to come with a "recover" program that I assume did the task (This doesn't seem to be included anymore).

Also, although the devteam's stance on saving games is quite clear, "save scumming" has been around for a long time, and they've done nothing to prevent it... so as far as I'm concerned, they've made it a moral judgement as to whether you want to "cheat" in this manner or not.

--Zero
 
Last edited by a moderator:
Thanks for clearing things up Zero.

Even in ascii mode nethack shows the gnomish mines as different (using different characters) DZZ already replied that this will be fixed in tiles mode.

Some games could take days if not weeks to finish so there is a save option in nethack, nicely implemented by Dzz. If you have a corrupt save file or if you crashed nethack (crashing is exception not rule) then nethack should give the option to recover that file.

By the way, the only tiles at the moment I can live with at the moment (being used to ascii) is the default one. The other tilesets have very dark corridors which make my eyes squint.

If only someone could find a tileset like geoducks ascii nethack tiles and make them work in GP2X nethack!

Marco
 
Bug:

When selling/buying some scrolls at the shop, the mini menu for it that pops up goes well over the screen width, and looks quite messed up - not the end of the world, but for presentation it's a teency bit irritating ;)

I guess it just needs to word wrap so the menu size can go over one line, that would solve the problem.
 
Thanks, I'm trying to figure out the best way to deal with the crashes that a few people have reported. Thanks for your feedback. Getting these ironed out will be somewhat time-consuming and it's the major reason that this is not yet a public release. If the program crashes there is no helpful error that can be rediredcted anywhere.

The walls of the gnomish mines will look correct in version 0.4.

I'm noticing the same thing with my ASCII port.

My guess is that it's a memory allocation problem -- either not enough memory present or not a large
enough contiguous memory block (too much fragmentation).

One thing that I'm going to try tonight is making a ~10MB (for starters) temporary file on the SD
card and adding it as swap space. The commands to accomplish that are something like the following.

Code:
dd if=/dev/zero of=data/tmp.swap bs=1M count=10
mkswap data/tmp.swap
swapon data/tmp.swap
 
Last edited by a moderator:
Minor bug: I've noticed that the "List Spells", "List Skills" and "Attributes" windows seem to display poorly, as the columns aren't aligned.

--Zero
 
Minor bug: I've noticed that the "List Spells", "List Skills" and "Attributes" windows seem to display poorly, as the columns aren't aligned.

--Zero

They're misalligned in the Cast Spell menu as well, but it's not really a huge problem for me :)
 
Last edited by a moderator:
Thanks, I'm trying to figure out the best way to deal with the crashes that a few people have reported. Thanks for your feedback. Getting these ironed out will be somewhat time-consuming and it's the major reason that this is not yet a public release. If the program crashes there is no helpful error that can be rediredcted anywhere.

The walls of the gnomish mines will look correct in version 0.4.

I'm noticing the same thing with my ASCII port.

My guess is that it's a memory allocation problem -- either not enough memory present or not a large
enough contiguous memory block (too much fragmentation).

After further testing, that doesn't seem to be the cause after all. Curious. I went all the way up to a
32MB swap area, and that still didn't make any difference.
 
Last edited by a moderator:
I was thinking about a way to input text. And one idea struck me as a possible option for seasoned players.

A txt file containing the texts entered for wishes, spellbooks and the like.

User creatable.

When entering text the keyboard will popup (the way Dzz will implement it)
With the option added "choose from list"
The list is using a user created textfile like choices.txt or write.txt

the file contains on every new line a wish or command or magic thing or creature name to select.

So the txtfile (spoilerfree) could look like (Remember user created not prefab)

Code:
Elberthingy										 <-- Some command to keep you save
+2 vorpal blade of being elsewhere	  <-- Some Wish could be more of course to wish for.
Humans											 <-- something to genocide
Orcs
Zee Zaa Zoo									  <-- Some spellname to enter.
I think a seasoned player (or a very spoiled player) would know how to populate this list after which he has a easy way to wish for his +2 extreme grey salami or the like

An extra option would be to just save every thing you typed in a textfile after which you only have to enter them once and then it will be user selectable every time after using text input option.

I hope this makes sense.

Marco
 
I was thinking about a way to input text. And one idea struck me as a possible option for seasoned players.

A txt file containing the texts entered for wishes, spellbooks and the like.

User creatable.

When entering text the keyboard will popup (the way Dzz will implement it)
With the option added "choose from list"
The list is using a user created textfile like choices.txt or write.txt

the file contains on every new line a wish or command or magic thing or creature name to select.

So the txtfile (spoilerfree) could look like (Remember user created not prefab)

Code:
Elberthingy										 <-- Some command to keep you save
+2 vorpal blade of being elsewhere	  <-- Some Wish could be more of course to wish for.
Humans											 <-- something to genocide
Orcs
Zee Zaa Zoo									  <-- Some spellname to enter.
I think a seasoned player (or a very spoiled player) would know how to populate this list after which he has a easy way to wish for his +2 extreme grey salami or the like

An extra option would be to just save every thing you typed in a textfile after which you only have to enter them once and then it will be user selectable every time after using text input option.

I hope this makes sense.

Marco
That's a great idea, I'm adding it to my todo list.
Thanks!
 
Last edited by a moderator:
Okay! For your testing pleasure: Nethack 0.4

http://gp2xgamer.com/nethack04.zip

Still not quite ready for a public release. The biggest thing is hunting down any crashing bugs, but there are a few other miscellaneous irritations left that need fixing.

This version contains an 'experimental' crash recovery mechanism. This will make traveling staircases somewhat slower. With a reasonably quick SD card it doesn't seem to be too obnoxious. Let me know if you think otherwise.


New in version 0.4

Experimental crash recovery added
Commands and situations requiring text input now functional
'Name' command added to Advanced menu
'Engrave' command added to Advanced menu
Extra squares in keyboard now not drawn
Simple RIP screen added
Preliminary "High Scores" table added
Multi-item popup window removed
Top text area scrollable with L+VolUp and L+VolDown
Situations requriring selecting a screen location now work
Help text added for Help menu command
Subset of items shown in menus when appropriate, with "Show All" option
Extended information added for Farlook command if L held down during selection
Memory for recent answers added to text input dialog
Directional commands now have a square selection mechanism
Precise 'Move' command added to Advanced menu
'Eat' moved to top of Use menu
'Drink' and 'Dip' added to context-specific menu
Bug fix: Farlook now working from menu
Bug fix: 'Pay' no longer shown on entire level containing a shop
Bug fix: Walls in Gnomish Mines now appear correctly


TODO
Track down crashing bugs
Selection of partial quantities in menus
Various minor display glitches
#monster command
High score table improvements
Ability to drop gold
Bug: choosing 'Drop' with nothing in the inventory infinite loop
Word wrapping in menus if text too long
Experiment with underclocking
Wizard mode
Bones files
Various aesthetic and other minor issues
I'm sure more will come up

Here's the latest README:

In some situations (for example, text entry)
the available command keys are explained on
the screen. In most cases though it would be
cumbersome to do that and you will have to
either refer to the in-game help file, have
the commands written down somewhere, or remember
them. A great deal of thought went into the way
that the commands are arranged, and after a
little while, they become second nature.

COMMAND SUMMARY - GAME MODE

During normal gameplay, the GP2X controls
have the following functions. Although this
list might look complicated at first, it is
not difficult to learn as you go, and you
can always refer to the Help for a reminder.

START - invoke the Main menu
SELECT - invoke the Activities menu (shortcut)
A - invoke the Action menu (shortcut)
B - invoke the Use menu (shortcut)
X - look at things in your current location
L+X - enter Farlook mode to examine things
Y - open
L+Y - kick
L - a "shift" key used to alter commands
R - repeat last command
L+R - fire weapon
Joystick - move
L+Joystick - move a far distance
Stick-Click - search or pick up
L+Stick-Click - wait
Volume +/- - zoom in/out
L+Volume +/- - scroll top text

COMMAND SUMMARY - MAP SELECT MODE

Certain commands or situations require that
you select a location or direction on the
map. When this occurs, a cursor (large yellow
square) appears.

Joystick - move cursor
Stick-Click,A,B,SELECT - select location
L+Stick-Click,A,B,SELECT - in Farlook mode,
show extended information about the selection

COMMAND SUMMARY - MENUS

There are several types of menus in Nethack.
The concept is the same for all of them, but
some of the details vary. In all cases, they
joystick up and down directions scroll through
the available selections.

In all cases, the X button ends the menu without
making a selection ("Cancel").

In all cases, the A and B buttons end the menu
selection, choosing the current selection.

In cascaded game menus, the joystick left and
right directions can be used to open and close
submenus. Also in this mode, Stick-Click can
be used to make a selection.

In single-selection menus, Stick-Click can be
used to make a selection.

In multiple-selection menus, the individual
selections can be toggled on and off with the
Stick-Click or the SELECT button.

IMPORTANT HINT

The top of the 'Activities' menu (invoked with
the SELECT button) contains commands that are
appropriate to the current game situation. For
example, when standing on a staircase leading
down, 'Down' will appear in this menu.


USING TILE SETS

A "tileset" is a single graphic file containing
all of the Nethack graphic tiles at a resolution
of 32x32 pixels, in a particular order. The
resulting file is 1280 x 960 in size. Nethack
ships with three tilesets collected off of
the internet. If you find or make another one,
just place the .png file in the nethack folder
and it will be availabe in the game.

To use a tileset, select "Load Tiles" from the
game menu.

GETTING THE MOST OUT OF NETHACK

Nethack might at first seem kind of shallow or
stupid, but there is a LOT of hidden depth to the
game. Probably the best idea is to go to Google
and do some searches.

MORE INFORMATION

See the file license.txt for license information.



Besides your usual excellent bug reports and suggestions, one thing that would be useful for me:

If the game crashes while you're playing, please help us all out by doing the following:

BEFORE you try to start the game again (important!):

Go to the nethack install folder on your sd card
Collect all the files with names like 1lock.0, 1lock.1, 1lock.2, etc.
Zip them all up
Send the zip to dzz@gp2xgamer.com, along with a description of what you were doing when the game crashed.

If the crash recovery mechanism is working right, those files have a chance of helping me reproduce the problem. If you restart the game before fetching the files, they could be removed.

Thanks again!
 
To quickly point out a couple of things:

1. The directional commands now require you to select the direction using a cursor, which takes a bit more time than the previous method. The increased accuracy is worth it, and once you get used to it it is not much slower. For repeated actions that may take several tries (like trying to kick down a door or throwing a shuirken, etc), the R button is "repeat last action" and comes in handy.

2. For those of you who haven't tried it, holding down the shift key when selecting the monster/object in Farlook mode (L+X or Farlook in the menu) brings up detailed information (not usually very helpful but often amusing or interesting).

3. Thanks to the great suggestion, entering text can be speeded by cycling through previous answers using the Vol+ key in the keyboard window.
 
*Writes this being frustrated after accidently turning an hill orc invisible with a unknown wand and getting killed by him*

Great work! I haven't found any bugs yet and it's all working very nice!

Nice that you've implented the detailed information and the new text entry system.

Cheers, David

Edit: Just to say that once: The Interface is fantastic! I had more problems playing the PC-Version than playing the gp2x one. All the important things are accessable easily and the other things are easy to access, too.
 
*Writes this being frustrated after accidently turning an hill orc invisible with a unknown wand and getting killed by him*

Great work! I haven't found any bugs yet and it's all working very nice!

Nice that you've implented the detailed information and the new text entry system.

Cheers, David

Edit: Just to say that once: The Interface is fantastic! I had more problems playing the PC-Version than playing the gp2x one. All the important things are accessable easily and the other things are easy to access, too.
Thanks! Your post reminded me of this site:

http://yasd.homestead.com/index.html
 
Last edited by a moderator:
Thanks! Your post reminded me of this site:

http://yasd.homestead.com/index.html

:)
I like this page..

Oh, the highscore page is well done, but I think it shows a litte bit too much information for every character and so is a little bit crowded ( if that word works in a grammatical sense ). Maybe the player could select one character and then he'll get the whole information ( with all the attributes, items etc. ) and the highscore page will just show the name, the race etc. of the character.
Just my idea how to improve the table.
 
Last edited by a moderator:
Are saved games compatible between releases? I have a monk that I was playing with 0.3, and I'm a little wary to update in case he's lost in the process. Not that it really matters that much, half an hour of playing will probably be enough to result in his death :p

--Zero
 
Are saved games compatible between releases? I have a monk that I was playing with 0.3, and I'm a little wary to update in case he's lost in the process. Not that it really matters that much, half an hour of playing will probably be enough to result in his death :p

--Zero
They should be compatible; I didn't intentionally change the format. You could "cheat" and make a backup of the .sav file just in case.
 
Last edited by a moderator:
They should be compatible; I didn't intentionally change the format. You could "cheat" and make a backup of the .sav file just in case.

I've updated nethack with my character without problems. I copied the nethack files over the old ones and was able to play! (died 100 steps later due to me trying all the new options and not looking at the HP status :p )

For some reason the interface does indeed seem simpler then the original nethack keyboard version. This is probably due to some commands not yet being implemented but I'm not missing anything yet. After using the new directional interface for a while it feels like second nature (repeat command feels more usefull now)

No problems to report for now and no obvious interface tweaks to be found yet. :D
I'm really impressed Dzz, thanks for the port!

Dzz, I'm expecting the new updated original vanilla nethack to update to a new version on the day you release your version as finished. :p

By the way, I'm going to rename my GP2X to NHPX (Nethack Player X) :D

Marco
 
Back
Top