Friday, June 25, 2010
Wednesday, June 16, 2010
Angband on iOS and Android
I've been thinking about how to play Angband on handhelds recently, with particular reference to Android (which has come up on the Angband forums recently) and the iPhone/iPad (which are apparently conquering the world).
The two handheld ports I'm most familiar with are for Windows CE and the Nintendo DS. In both those cases, there is a touch interface designed for using a stylus with, which gives relatively fine control. Adapting the Angband UI to deal with that was a lot of work, but reasonably successful; although it should be said that fitting all the relevant info (even just map info) on a small screen is challenging.
For the new class of handhelds, though, the touch interface is finger based and much coarser. This presents a whole new set of problems; I think, though, that these are solvable.
For movement and looking at the map, the critical feature that I think will be necessary is a proper zoom. Luckily this is one of the primary features on iOS and Android. Pinch inward to zoom in and get a close look at what's about you, pinch outward to zoom out and make sure you don't get breathed on from a distance. Tap on a corner or edge to move, double tap to run. Flicking will scroll the map. Targeting will require care, but should be feasible.
The big question, though, is how to deal with the many non-movement commands that are required in Angband. Classically, these were just each given different keys - 'q' for quaff, then give the inventory letter label of the potion to quaff, for example. Even in this setting, though, the player needs to either bring up the inventory list to find the potion or have a subwindow containing the inventory. In the Windows CE port, the order was reversed - choose an inventory object, then decide what to do with it (noun-verb rather than verb-noun).
So, how to do it for iOS/Android? Subwindows are clearly not possible where there's limited screen space. Well, there's another ingredient from the WinCE and NDS ports that can be used here - buttons. Buttons can be standard (escape and repeat are two obvious ones to always have), user-configurable (playing the role of macros and keymaps) or context-sensitive (downstairs button appears if you're on the stairs). They could be always present as an overlay, or brought up as a gesture.
So this is almost a plan. Now all that's needed is someone to actually make it...
The two handheld ports I'm most familiar with are for Windows CE and the Nintendo DS. In both those cases, there is a touch interface designed for using a stylus with, which gives relatively fine control. Adapting the Angband UI to deal with that was a lot of work, but reasonably successful; although it should be said that fitting all the relevant info (even just map info) on a small screen is challenging.
For the new class of handhelds, though, the touch interface is finger based and much coarser. This presents a whole new set of problems; I think, though, that these are solvable.
For movement and looking at the map, the critical feature that I think will be necessary is a proper zoom. Luckily this is one of the primary features on iOS and Android. Pinch inward to zoom in and get a close look at what's about you, pinch outward to zoom out and make sure you don't get breathed on from a distance. Tap on a corner or edge to move, double tap to run. Flicking will scroll the map. Targeting will require care, but should be feasible.
The big question, though, is how to deal with the many non-movement commands that are required in Angband. Classically, these were just each given different keys - 'q' for quaff, then give the inventory letter label of the potion to quaff, for example. Even in this setting, though, the player needs to either bring up the inventory list to find the potion or have a subwindow containing the inventory. In the Windows CE port, the order was reversed - choose an inventory object, then decide what to do with it (noun-verb rather than verb-noun).
So, how to do it for iOS/Android? Subwindows are clearly not possible where there's limited screen space. Well, there's another ingredient from the WinCE and NDS ports that can be used here - buttons. Buttons can be standard (escape and repeat are two obvious ones to always have), user-configurable (playing the role of macros and keymaps) or context-sensitive (downstairs button appears if you're on the stairs). They could be always present as an overlay, or brought up as a gesture.
So this is almost a plan. Now all that's needed is someone to actually make it...
Monday, June 14, 2010
IDEs - is it just me?
I've just been playing Vanilla in OSX, and the lack of block walls annoys me. Several months ago I bought a Mac, partly so I would be able to do OSX stuff for FAangband - stuff like fixing it so I could use block walls. But I haven't. Because I'm still doing all my coding in an Ubuntu VM, using emacs and grep, and gdb when I absolutely have to.
Apparently OSX has a wonderful IDE called XCode, but every time I open it I think "Now I have to learn how to use this" and shut it again. IDEs make me nervous, because I'm not sure what they're doing, and I don't trust them with my code. Mind you, I thought the same about version control, and I seem to be over that.
Or maybe there are just too many options, and I can't decide what to do. Or it's because I'm too lazy to think about it. We'll see, I guess.
Apparently OSX has a wonderful IDE called XCode, but every time I open it I think "Now I have to learn how to use this" and shut it again. IDEs make me nervous, because I'm not sure what they're doing, and I don't trust them with my code. Mind you, I thought the same about version control, and I seem to be over that.
Or maybe there are just too many options, and I can't decide what to do. Or it's because I'm too lazy to think about it. We'll see, I guess.
Sunday, June 13, 2010
FAangband and the meaning of life
I have been working on FAangband for nearly five years now.
Currently the Future section of the FAangband website says:
If anyone is still reading (oh, look, the self-consciousness still hasn't stopped), feel free to comment.
Currently the Future section of the FAangband website says:
- More AI improvements
- Maiar more Tolkienesque, and playable Spirits, and as a consequence
- Playing as a monster, Posband style
- Do I want to make these changes?
- If I don't, what will I do?
- Why am I doing this, anyway?
- Is it for the glory of people playing my variant?
- Am I merely imitating?
- Could there possibly be anything more stupid than starting a developer blog when you're having second thoughts about being a developer?
- If there is, surely it's starting a blog with such an incredibly whiny post.
- That last one wasn't even a question.
- Nor was that.
If anyone is still reading (oh, look, the self-consciousness still hasn't stopped), feel free to comment.
Subscribe to:
Posts (Atom)