Category Archives: slash’em

iNetHack and related projects are in limbo

Back in July it really felt like a good idea, I was in the mood for it and thought I have the time, but many things have changed. I played prototypes on the iPad but I can’t get it to the point where it’s ergonomic. Hovering over the screen aggravates pretty much the same muscles that for a guy like me are already strained to the max. If you put it on the table and control everything from one or two small touch areas (so your arms can rest) you have to look down all the time. The smaller devices have their own problems if you want to push ergonomics to the max. Due to some health related issues I have to reduce my time spent before the computer (that’s probably why I started to focus on ergonomics in the first place).

To make a long story short: I currently can’t justify spending time on iHack related things. This may or may not change at any time. All the source produced so far is on github if anyone’s interested.

New UI (with all its bugs) or iNetHack-like shortcuts?

So you’ve played the Slash’EM iPhone port. Some have noticed that it contains bugs ๐Ÿ™‚ Many of them are very hard to get rid of. It’s certainly not impossible but maybe a little impractical for a port. The reason is that the UI builds and sends keyboard macros to the core, like ‘Tc’ to take off ‘c’. Can lead to weird behavior if you’re not wearing anything else and ‘c’ is uncursed. Or if you die just after the core has processed ‘T’ you just skipped the DYWYPI prompt (I can’t thoroughly explain it but I’ve experienced similar situations).

The alternative is to get back to a shortcut system. Maybe refine the way to build your own on-the-fly (which would then be subject to the bugs just mentioned though). Maybe even leave that out to avoid those bugs. Some Slash’EM features can remain (e.g. the context menu seems quite stable if you omit direct item interaction).

What would you prefer? Please leave your vote in the poll to-left!

Performance issues in iOS 4, especially for iNetHack

Just wanted to say that I’m aware of iNetHack’s performance issues on iOS 4. This forces me to change plans and port it to iHack as soon as possible. Before that I will release some Slash’EM bugfixes, which will hopefully add iOS 4 fast app switching (at this stage there are still major problems with it, but I don’t want to give it up yet), since Slash’EM and iNetHack will (hopefully) soon share the same exact iHack UI code.

(Universal) iPad support will have to wait a little bit longer :(. My original plan was to address this first with Slash’EM (since this is what I currently play, vampiric necromancers ftw!)

Slash’EM 1.0 released for iPhone

Now ready to download:

Slash’EM iTunes download

Please post any issues you may encounter and feature requests right here. Or preferably fork the project and implement them yourself. I will happily accept patches (provided some quality guidelines are met).

Enjoy the new UI, it might feel awkward at first, especially if you come from an iNetHack background, but I’m sure it will grow on you (as it has on the beta testers). Since it’s contextual it has its issues, but overall the game should be quite playable and enjoyable.

Some important tips:

Tap on yourself to see contextual commands
Visit the (separate!) settings app
Double tap to g-move

Maarek integrated the … enforcer patch (the one where you use the force)
John Shaw added brand new … enforcer tiles in Absurd
Gfx: Mitsuhiro Itakura, Joep Gerrits, James Hogwood
Soundtrack: hehe

If you ascend (haha …) *please* post right here too!

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.

Absurd Tileset for Slash’EM 0.0.7E7F3

With one of theseย Perl scriptsย and John’s master files for his Absurd Tileset I was able to build an up-to-date version for Slash’EM 0.0.7E7F3. The link behind the 32×32 version preview should lead to the full-blown 128×128 true color version, which is about 21 megs in size. If you have a tiled version of Slash’EM somewhere, I’d be curious whether this version got accepted smoothly or not.

Update 2013-08-27

  • Updated the link behind the picture to the Slash’EM 7E7F3 Absurd 128×128 tileset
  • If you’re looking for Absurd 128×128 for Slash’EM 7E0, here it is (link removed, no longer available).

Update 2014-06-01

  • Removed all links except the one to the 128×128 7e7f3 version.
  • Corrected Slash’EM version numbers in the title and post.

Slash’EM 1.0-b2 for iPhone, based on NetHack iPad Port

I recently started to backport the NetHack iPad codebase to the iPhone with the Slash’EM 0.0.7E7F3 core. The result is Slash’EM 1.0-b2 which is available as beta right now (signup required since some not so public information like device IDs have to be passed around). It’s not a continuation of the Slash’EM beta but a fresh codebase.

The new UI is, like the iPad version, based on my iHack framework. It is inventory centric, letting you access most actions directly from the inventory view, offers context specific actions on a tap on your char (like untrap if traps are adjacent) and offers some shortcuts (e.g. the E-word is always just 2 taps away, no typing whatsoever required).

So all in all I still hope to meet my original timeline for iPhone Slash’EM ๐Ÿ™‚

SlashEM 0.0.7E7F3 distribution for Mac OS X (tty)

When I felt the need to step through the original SlashEM tty version to get a feel for some seemingly changed behavior for add_menu, and intrigued by Patric’s comment on my Mac OS X SlashEM compile, I thought a native Mac OS X tty version that you don’t need to install, easily debuggable (sort of) from xcode would not be a bad idea. You can download the end result from here. I compiled it for 10.5/i386. Would be interesting to know whether it runs on 10.4 (I guess not but I don’t have that SDK anymore) and on older Intels (like those core duo ‘1’s or whatever they were named). Just unzip the dist and double click SlashEM and it should run in a terminal. As you can see I had to change very little from the original sources (macosx now has its own sys subdirectory, but uses a patched unixmain.c), and this is probably very easy to do with other variants and NetHack itself (leave a comment if you are interested). I have yet to integrate the Makefiles and xcode nicely so everything is built from scratch with one make / press of a button. And beware, there might still be some dat files missing (for quests etc.), and I have yet to do some more extensive wizard testing. Creating fully graphical ports that are as easy to use as any other native app on Mac OS X is of course the goal, but this might take some more time and effort (and the SlashEM iPhone port has priority).

Slash’EM for the iPhone queued for a possible Q1 2010 release

That’s what I’ve been working on since iNetHack 1.3 hit the app store.

I’m rewriting the window engine from scratch, taking only general purpose classes and header stubs from iNetHack. The goal is to make it much more modular, maintainable, reusable etc. (attributes which quite frankly weren’t on the top of my design goals for iNetHack). This will also leed to some UI experiments in collaboration with the test team and hopefully come back as the base for the next iNetHack and more to come.