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 32x32 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).
Wednesday, February 24, 2010
Friday, February 19, 2010
Check! A simple Task/Todo Manager
In the middle of preparing NetHack for the iPad I felt the need for a simple todo manager. My spiral notebook that I've been using for that kind of thing simply didn't cut it for me anymore, it was too much hassle to move tasks between projects. So I looked online but I didn't find exactly what I needed, so I made an app for that.
Check! is pretty simple. You can add tasks, and every task can have subtasks, and since a subtask is a task as well it can have subtasks. Repeat until your memory is exhausted.

The tasks on the main screen can serve as categories and important projects, as in the screenshot. This organization has proven to be working quite well for me, but Check! is flexible enough for other models.
There are no due dates and no explicit use of priorities, though you can certainly change the order of tasks to indicate priorities. If you are done with something simply swipe-delete it. In 1.0 you can shake your iPhone/iPod to enter edit mode, in 1.1 (not yet approved) there is a button for that.
If you want to support further iHack* development and/or need a simple task manager download it here. If you want to write a review let me know so I can send you a promo code.
Check! is pretty simple. You can add tasks, and every task can have subtasks, and since a subtask is a task as well it can have subtasks. Repeat until your memory is exhausted.

The tasks on the main screen can serve as categories and important projects, as in the screenshot. This organization has proven to be working quite well for me, but Check! is flexible enough for other models.
There are no due dates and no explicit use of priorities, though you can certainly change the order of tasks to indicate priorities. If you are done with something simply swipe-delete it. In 1.0 you can shake your iPhone/iPod to enter edit mode, in 1.1 (not yet approved) there is a button for that.
If you want to support further iHack* development and/or need a simple task manager download it here. If you want to write a review let me know so I can send you a promo code.
Thursday, January 28, 2010
Is the iPad a viable Roguelike platform?
I was very excited yesterday about the release of the iPad (and had been for a while). While at first quite underwhelmed, I can think of a couple of killer-apps for the platform.
One genre I'm not quite so sure of is Roguelikes. After all, a decent desktop port can be played quite well on a laptop. But while still hunting for bugs and implementing new features for the new Slash'EM port, I realize that an iPad port would eliminate most of the difficulties I had so far while tailoring it to the small device (assuming a UI with minimal keyboard use).
Since most readers here are roguelike players (I guess), here's my question: Will you buy an iPad? Please vote on the main page!
One genre I'm not quite so sure of is Roguelikes. After all, a decent desktop port can be played quite well on a laptop. But while still hunting for bugs and implementing new features for the new Slash'EM port, I realize that an iPad port would eliminate most of the difficulties I had so far while tailoring it to the small device (assuming a UI with minimal keyboard use).
Since most readers here are roguelike players (I guess), here's my question: Will you buy an iPad? Please vote on the main page!
Sunday, January 17, 2010
The mythical Apple tablet
I know there's a chance there won't even be a tablet, but if the folks at Apple are indeed planning to unveil one at the end of the month, please don't let it just be an iPhone on steroids. I know it's very tempting, they are making quite a lot of money with their closed eco system, but please let the tablet OS be open in the same way Mac OS X is, meaning I can run whatever software I choose in whatever way I've chosen. The overwhelming factor that let me even contemplate switching to Mac OS X (after a friend started exposing me to it, repeatedly) was that it was essentially a (free)BSD with a nice desktop and all needed drivers preinstalled. I was basically in heaven, and to this day I view it in that way.
That said, even if the new OS is closed like the iPhone OS, the prospect of playing some good old *Hacks on a bigger screen with an efficient UI is so tempting that I feel compelled to port as much and many as I can. The new SlashEM is my first step in that direction, and I'd love to have a playable version by the time the (possibly mythical) tablet gets announced.
That said, even if the new OS is closed like the iPhone OS, the prospect of playing some good old *Hacks on a bigger screen with an efficient UI is so tempting that I feel compelled to port as much and many as I can. The new SlashEM is my first step in that direction, and I'd love to have a playable version by the time the (possibly mythical) tablet gets announced.
Sunday, January 10, 2010
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).
Friday, January 8, 2010
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.
Wednesday, December 30, 2009
How to compile Slash'EM on Mac OS X (tty version)
These instructions are for the source tarball from the stable Slash'EM Page (0.0.7E7F3 at the time of this writing). I assume that you have unpacked it and moved your bash to the top of the extracted filesystem.
You have to uncomment the BSD #define in line #22 of
Next comment out line #340 of the generated
As suggested by Patric, instead of modifying
Then all there is left to do is to compile and install:
If everything went fine, you will have your slashem binary in
To customize, I added the following line to .bash_profile:
And the file
Your config will probably vary.
Have fun playing!
pushd sys/unix/ ; sh setup.sh
You have to uncomment the BSD #define in line #22 of
include/unixconf.h, then change line #963 of win/tty/termcap.c (this is a single line):
#if !defined(LINUX) && !defined(__FreeBSD__) && !defined(__APPLE__) && !defined(__MACH__)
Next comment out line #340 of the generated
src/Makefile, and uncomment the line above (WINTTYLIB = -lncurses). Also make sure you set PREFIX, GAMEUID and GAMEGRP from Makefile to sensible values (example):
PREFIX = /Users/dirk/install
GAME = slashem
# GAME = slashem.prg
GAMEUID = dirk
GAMEGRP = staff
As suggested by Patric, instead of modifying
GAMEUID and GAMEGRP, you can also edit the two lines that set CHOWN and CHGRP, and simply set them to true:
CHOWN = true
CHGRP = true
Then all there is left to do is to compile and install:
make
make install
If everything went fine, you will have your slashem binary in
~/install/games/local/bin. To start it cd there and invoke it in your bash: ./slashem.To customize, I added the following line to .bash_profile:
export SLASHEMOPTIONS="@.slashem.rc"
And the file
~/.slashem.rc with the following contents:
OPTIONS=DECgraphics,number_pad:0,time,autopickup,showexp,pickup_types:$!?+"=/,name:Dirk
OPTIONS=norest_on_space
OPTIONS=runmode:walk
OPTIONS=color
OPTIONS=!hilite_pet
Your config will probably vary.
Have fun playing!
Tuesday, December 29, 2009
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.
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.
Monday, December 28, 2009
iNetHack 1.3 ready for download
iNetHack in its latest and greatest incarnation (1.3) is ready for download. This marks the fastest app store review I've ever seen or heard of, and pretty much thwarted my targeted Q1 release :)
Don't forget to erase your old installation before moving to 1.3, and of course to setup hearse in your settings app!
Don't forget to erase your old installation before moving to 1.3, and of course to setup hearse in your settings app!
Wednesday, December 23, 2009
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!
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!
Thursday, December 17, 2009
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).
Thursday, November 26, 2009
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 :)
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 :)
Monday, November 23, 2009
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 :)
Sunday, October 11, 2009
Coming soon: iNetHack Hearse Support
After iNetHack 1.1 I slacked a little (apart from a failed 7drl, cough cough). Ok, I slacked a lot. But I'm back on track and iNetHack 1.3 (don't fixate on the exact version though) is making progress. Apart from some UI improvements (I put some time into improving the message system so no message can be missed easily) and internal changes you (hopefully) won't even notice, I was just able to upload my first bones file to the hearse server :)
Hearse support will be limited to iNetHack, so no bones exchange with other systems. As the iPhone is a big-endian platform it wouldn't be compatible with the major NetHack platforms anyway (with the assumption that 'major' equals Win32, MacOSX and Intel-based Linuxes). You will be able to recycle your hearse ID though if you already use it on other systems.
I hope to be able to kick off the beta end of next week, and I'm expecting quite some time spent fixing bugs.
Hearse support will be limited to iNetHack, so no bones exchange with other systems. As the iPhone is a big-endian platform it wouldn't be compatible with the major NetHack platforms anyway (with the assumption that 'major' equals Win32, MacOSX and Intel-based Linuxes). You will be able to recycle your hearse ID though if you already use it on other systems.
I hope to be able to kick off the beta end of next week, and I'm expecting quite some time spent fixing bugs.
Wednesday, September 16, 2009
iNetHack 1.1 is Live
In case you have missed it, the latest upgrade to the NetHack iPhone port is live:
iTunes link
If you encounter any problems, or want to join the beta list, this site has links:
iNetHack on Google Code
iTunes link
If you encounter any problems, or want to join the beta list, this site has links:
iNetHack on Google Code
Monday, September 7, 2009
My first Seven Day Roguelike, with Zombies
With iNetHack 1.1 out of the door, still being a little burnt out, I decided to take another week off from iNethack.
And what's better to chill than to write on of those seven day roguelikes? With lots of zombies, very little background story, justhack and slash whack and shoot?
The result will be published in the app store no matter what :)
Update 09/14: The game is obviously not finished, so it failed as a 7drl. That doesn't mean I won't continue developing it :)
And what's better to chill than to write on of those seven day roguelikes? With lots of zombies, very little background story, just
The result will be published in the app store no matter what :)
Update 09/14: The game is obviously not finished, so it failed as a 7drl. That doesn't mean I won't continue developing it :)
Tuesday, September 1, 2009
iNetHack 1.1 goes gold, soon coming to an AppStore near you
Just released iNetHack 1.1. It features major UI improvements (zooming, swipable and customizable shortcut bar, quick travel ...), several tilesets to choose from (default, tile32, chozo, chozo B, absurd, ASCII) and of course lots of bugfixes.
Saturday, August 8, 2009
Business Plan (Don't you worry my child)
Don't you worry
My baby child is growing
Into an ever more powerful goddess
Even as we speak
Mothers all around this world are pregnant
With her army of siblings
The world's not mine to take
Belonging to no none
And those willing to preserve it
As the world's stores chime in
A low hum of their canon
Begging for mercy
My baby child is growing
Into an ever more powerful goddess
Even as we speak
Mothers all around this world are pregnant
With her army of siblings
The world's not mine to take
Belonging to no none
And those willing to preserve it
As the world's stores chime in
A low hum of their canon
Begging for mercy
Friday, August 7, 2009
iNetHack Beta Testing Program
Update: I've setup a google group for beta testing. So if you're interested just apply there.
There is a new beta around the corner, and I'd like to setup a group of beta testers. Of course the developers among you can test pretty much any time they want, but if you are not a registered developer and you'd like to test upcoming official betas on your device and provide feedback, then please get in touch with me (google AT this site.com).
Important: I really need your email, since you will get all the instructions by mail. It's kind of a closed mailing list.
Update: You will receive your beta mail once there is a stable beta build. This can take a while, from a couple of days to weeks. There are some very nasty crashes that have to be fixed :(
There is a new beta around the corner, and I'd like to setup a group of beta testers. Of course the developers among you can test pretty much any time they want, but if you are not a registered developer and you'd like to test upcoming official betas on your device and provide feedback, then please get in touch with me (google AT this site.com).
Important: I really need your email, since you will get all the instructions by mail. It's kind of a closed mailing list.
Update: You will receive your beta mail once there is a stable beta build. This can take a while, from a couple of days to weeks. There are some very nasty crashes that have to be fixed :(
Sunday, August 2, 2009
iPhone NetHack Source Released (iNetHack)
For those of you who are iPhone developers and want to play it even though the release doesn't seem live yet I have just released the source. And yes, this one is live. As in right now.
Check it out and have fun :) You need iPhone OS 3.0.
Bugs, suggestions for improvements should be entered as an issue that can be tracked.
Check it out and have fun :) You need iPhone OS 3.0.
Bugs, suggestions for improvements should be entered as an issue that can be tracked.
Subscribe to:
Posts (Atom)
