Category Archives: nethack

NetHack Mac OS X (cocoa) released

Get the latest dist here:
NetHack Mac OS X

The source code has been moved to github:
NetHack Mac OS X

I fixed the “forced wizard mode” and XP and turn indicator should now be visible at all times. I also changed the whole source layout to a more NetHack-like one (including the fact that you have have to bootstrap it). There were tags mishaps (0.3 and 0.2 are merely approximate) but anything else went ok.

Please input any issues you find at the known location.

Have fun!

Current state of iNetHack, Slash’EM, NetHack HD, NetHack Cocoa

Update: To clarify things:
Eventually there will be both a Slash’EM and iNetHack in the app store, both universal, with a very similar UI. iNetHack will remain vanilla NetHack, Slash’EM is based on the latest stable release (Vampire) with the force-patch. Once that is done NetHack HD will be removed.

I just realized that the current situation of the NetHack and Slash’EM ports might be a little confusing 🙂 So here’s some detailed information:

Slash’EM (iPhone/iPad | Source)
Has been in development on and off for about five months (eternal beta?) and is nearing a release. The UI is different from iNetHack, there are no shortcuts, and the consensus from the beta forum seems to be that it’s a more efficient UI. A public release for iPhone is in sight. After that I have plans to modify it into a universal app (with basic UI changes) so it will make use of the iPad’s screen estate and special controllers.

iNetHack (iPhone/iPad | Source)
I consider its current codebase obsolete and it will get replaced by the Slash’EM UI. I don’t fix iNetHack bugs because most of them are already fixed in Slash’EM or a non-issue there due to the different UI. I accept them though for the time being and will address them one by one as soon as it gets its new codebase.

NetHack HD (iPad)
Developed completely in the dark without device or beta testers, it has quite some issues, including UI and performance (I only ran it shortly last week on an actual iPad and I wasn’t thrilled). It will be pulled from the store as soon as Slash’EM and iNetHack go universal. It currently has no public source distribution and there won’t ever be one since it’s already obsolete.

NetHack Cocoa (Mac OS X 10.5 and 10.6)
Has (minor) issues of its own which will get addressed but has low priority for me since I’m focusing on iDevices.

I hope this clarifies some things. The google code repositories will very likely be moved to github. Well-done patches are always welcome.

NetHack 3.4.3 ported to Mac OS X (Cocoa-Port)

There’s nothing more satisfying (ok, at least not that much) to leisurely do on a Sunday than release some nice piece of software, and here it is:

NetHack 3.4.3 native Mac OS X (10.6) Port (Latest .dmg)

More information:

Some weeks ago Bryce Cogswell contacted me about that neglected project of mine, nethack-cocoa, offering his help. It was in a very sorry state (I think had given up in the middle of getting it to draw) So I refreshed it to the current iHack base framework (which I had been creating for the Slash’EM iphone beta and refining for the NetHack ipad port) and handed it over, bare naked as it was. The result now has version 0.2 and you can download and play it.

It’s currently 32-bit only, iHack currrently relies on pointers that size.


(i)NetHack ready for iPad launch

I haven’t really made an official announcement about this, so here it is:

I have ported NetHack to the iPad, it’s fully playable and it is ready for the iPad launch. I don’t have any details about when and how 3rd party native iPad apps can be released, so I can’t give assurance for a launch day release :(, but it will be queued for review as soon as there is a queue available for me. I will use the remaining time until then to add more polish and gimmicks, then polish again.

The one thing I couldn’t really do for 1.0 is play it on a real device. I may have gauged processing power wrong (which might lead to performance problems), touch controls might be too small or too unwieldy (I remember I had to rewrite touch behavior in iNetHack a couple of times until it felt right). I was also the only one playtesting it, so I might have overlooked a couple of things.

I for one can’t wait to play it with my fingers instead of mouse and keyboard, while sitting or lying on the couch 🙂

If you want any tileset to be included now is the time to tell me about it. It must be 32×32 though. So far I have included Absurd, Chozo/ChozoB, default windows tiles32 and nh3d (which is apparently based on Aoki-2k5 and vanilla terrain tiles).

iNetHack protection fee

After seeing that 1.3 was ready for download, I checked the iTunes page to see if everything was correct and I could indeed download it. That’s when I noted that there are an awful lot of 1-star ratings (about one third of all ratings). What’s worse, this number seems to have grown over time, even after 1.1 remedied a lot of the shortcomings of iNetHack’s 1.0 debut.

This made me think that since it’s free, users who don’t even know NetHack will give it a try, and of course they are utterly repelled by it. iNetHack in its current form never was intended for beginners. Which led me to something many devs have experienced too (and I have seen very clear examples of that behavior): Making your app free just invites 1-star reviews. It hurts to see that in other free apps, and it certainly hurts to see it for iNetHack. I know that my next publication for the iPhone will certainly have a fee (clarification: publications that are not an open source port). This is certainly no excuse for the current UI. Making it much more beginner-friendly is on my todo list. But I won’t change the core gameplay or add save games.

So what do you think? Do you see a future for an iNetHack protection fee or not? Please vote in the poll to the left and leave a comment!

Update: Thanks for all your feedback and votes! The poll leans very clearly to keeping iNetHack free of charge, and so it will be.

iNetHack 1.3 is gold for iPhone

Today the app store saw the release for review of iNetHack 1.3, which leads to a likely possible release date of Q1 2010.

The major theme for 1.3 was hearse integration. Some accidental bugfixes and UI improvements might also have slipped in.

iNetHack 1.3 has a different file format (both save and bones files) from previous versions, so it’s highly recommended to remove the old version before installing the new one.

Merry XMas!

NetHack 64 bit vs iNetHack 32 bit

As we all know, NetHack needs a 64 bit environment to run properly 😉 I just spent two days trying to bootstrap some files for iNetHack on my only recently upgraded snow leopard machine (a process which was working fine with leopard) when in my desperation I started to compare struct sizes:

struct version_info {
unsigned long incarnation; /* actual version number */
unsigned long feature_set; /* bitmask of config settings */
unsigned long entity_count; /* # of monsters and objects */
unsigned long struct_sizes; /* size of key structs */

iPhone Sim: 16 bytes
iPod Touch: 16 bytes
Snow Leopard: 32 bytes

Yeah, told you so 🙂

This very probably still leaves some structure alignment differences between sim and device, since they don’t share bones very well, though they both operate on the same byte alignment (little endian).

iNetHack Development Fund

iNetHack is free, and always will be. Developing and maintaining it takes a lot of time, and being an iPhone developer doesn’t come free either. My license will expire in less than a month, and it’s only a small part of the costs to cover for serious development. There is absolutely no lack of cool future features for iNetHack, in a sense this is a mere foundation for things to come.

I currently don’t have any other games with which to sort of cross-fund iNetHack development, so I’m asking you to consider a financial contribution. Encouragement (through mails, comments etc.) is of course welcome as well (and often needed), as is beta testing.

So if you feel like contributing to a free game that is based on open source principles, please feel free to do so:

Happy thanksgiving to those who celebrate it 🙂

iNetHack Hearse Support in Beta Now

As of this writing iNetHack 1.3-beta2 is being tested, which contains Hearse support and many bugfixes and UI changes. If you are an active iNetHack player and enjoy playing on the bleeding edge (plus dying a lot so to leave lots of bones), head over to the NetHack iPhone project page, sign up for the mailing list and follow the instructions. The more bones the merrier 🙂