NetHackDS Released
Yup, I finally got it to a state where I think it’s done, and it now has it’s own home page. Sleep mode works. Key config is implemented. And text continues to be clipped. Of course, there’s plenty of bugs (I just spotted some weird behaviour in the message window), but I consider it “good enough” for public consumption.
NethackDS Screenshots
Well, I promised some shots of my Nethack port in action, and I aim to please! Now, I couldn’t figure out how to get my code working with Desmume, so I just gave up and used a camera. You’ll have to forgive the consequent bluriness…
Here we see a newly minted game. On the bottom screen you can see the visible play area. On the top screen you can see the minimap, with a red box representing the displayed region on the lower screen, as well as the player’s status and the welcome message.
This shows the popup command menu. The user holds the L button (eventually this will be swappable, for you lefties) to make the menu popup, at which point the user can tap a command to have it execute. Much nicer than an on-screen keyboard, I think…
And this last shot shows the inventory list after selecting the Inventory command. As you can see, there’s a bit of clipping, but it otherwise works as advertised. If this were a Drop command or something similar, the user would be able to tap items to select them (multiple taps begin counting from 1).
So there you go! See, it’s not vapour after all! Well, not technically, anyway…
Update:
And now key remapping is implemented! This includes handedness swapping (swaps the shoulder buttons), and mapping commands to the joypad and the primary buttons. And the changes are persisted across sessions. Neat, eh?
NetHack + DS -> New Project!
When I first got my DS backup device, it didn’t take me long to track down, and quickly eliminate as impractical, the first, and to my knowledge, only attempt to make a DS NetHack Port. It’s a “port”, in the sense that it really just takes NetHack, shrinks it down, displays the virtually unreadable game on the upper screen, and a graphical keyboard on the bottom screen. Does it work? Sure. But only just barely.
So quite a while back, I decided I wanted to create a port of my own. Much initial hackery was begun, followed by the usual subsequent boredom, followed by the devastating loss of my DS and backup device in an unfortunate incident involving my crappy memory and an airplane seat pocket. The result was a project that languished in my subversion repository until, a few weeks back, my new R4 arrived in the mail which, when pared with the new DS my brother kindly bought me for my birthday, resulted in renewed homebrewing efforts!.
Since then, I’ve made enormous progress. The game is essentially playable right now, and sports:
- A top screen displaying a minimap, status and message display, and input prompt.
- A bottom screen showing the game map in unscaled, scrolling, tile-y glory.
- Support for movement using the joypad, as well as the stylus.
- A popup command list, toggled with the L-button, from which the user may select commands with the stylus.
- Full support for menus, again using the stylus for item selection.
- String input using a virtual keyboard.
- Save/Restore support.
Of course, if it were all roses, I’d release the thing right now. But there are bugs, and a few things on the TODO list, as well:
- Currently wide text is clipped… I’m not sure how to solve this, though.
- The menus should be pageable with the joypad.
- Quitting and saving should return the user to the flash cart menu, or possibly power off the DS.
- It desperately needs a left-handed mode.
- Keys need to be configurable.
And, of course, I need to test test test! I’m primarily worried about memory usage… I think I have most of the issues worked out, and I spent a fair bit of time teleporting around the game in wizard mode, causing general mayhem, and didn’t run across any issues. But I’d like more time with it to make sure the obvious bugs are ironed out.
And even with those problems fixed, I will fully admit that:
- It’s kinda fugly. But it’s fugly the way text-mode nethack is fugly, so it’s kinda charming that way, and
- The text rendering code, particularly for menus, is slow.
But, in short order, I’ll hopefully have a release out. Meanwhile, stay tuned for screenshots… assuming I can get desmume up and running and working with my port. :)
Oh, and BTW, if anyone has thoughts for a name (NethackDS is taken, so I was thinking something like “Nethack Touched!”, or possibly something even more lame, would work), please let me know! Plus, then I’d know if anyone’s bothering to read this thing, anymore. ;)
More on the US Dollar
Yeah, I’m beating this horse to death. Hey, it’s fascinating to me, alright? Besides, I’m finally starting to catch at least a glimpse of how this whole economics thing works, and given that economics underpins how our entire world works, it seems worth exploring.
Anyway, occasionally I’ve heard comments regarding oil and how it’s traded in US dollars. Further, I’ve heard the idea parroted that, if the world were to switch to a different currency for trading oil (like, say, the Euro), the US dollar would experience a significant decline in it’s exchange rate. But I never really understood why that would be. Until yesterday, anyway.
As I mentioned in my previous post, the foreign exchange market is where the exchange rate for currency is determined, and that value is based on supply and demand. If the demand for a currency is high (say, because people want to invest in that country’s economy, or purchase it’s exported goods), then the exchange rate will be high.
Now consider that oil is currently traded exclusively in US dollars. That means any nation wishing to purchase oil on the open market must first convert their currency to US dollars in order to participate in the market. Voila, all of a sudden demand for the US dollar is maintained at an artificially high level, thus propping up the US exchange rate. Now imagine everyone switched over to the Euro. Suddenly a major source of demand for US currency evaporates, and the result would be a massive drop in the US exchange rate, which would cause, among other things, sudden domestic inflation as the price for imported goods shot through the ceiling. Hello recession!