I’ve been working on a homebrew game for the Nintendo DS. Before starting the game, I spent some time with libnds and PALib (which is built on top of libnds) before deciding which API to write to. I chose PALib because I knew I could get the game working sooner. I also knew that I’d run into limitations with PALib, eventually. I haven’t hit those limits, yet, but I feel they are right around the corner.
Meanwhile, I have some tips for programmers who are just starting out with PALib:
- Using Stephen Stair’s wifi lib is hit or miss with PALib’s wrapper. If your app will rely on wifi communication, know that you will have to call through to the libnds wifi lib directly rather than relying on the PALib wrapper. In my experience, the wrapper locks up when you try to connect if there is no network present. It should fail gracefully.
- Don’t call PA_DeleteSprite. If you need to hide a sprite, move it offscreen or change it’s gfx setting to an image made of transparent pixels. Using PA_DeleteSprite and PA_CreateSprite over and over will eventually corrupt your VRAM.
- If you are setting tiles on a background that is 512×256, use PA_SetLargeMapTile. I originally thought that function was reserved for larger maps, but I was wrong.
If you know one thing about me, I bet it’s that I love WarioWare Twisted for the GBA! That was the first game that really showed me how powerful motion sensing can be in a gaming experience. Today, I heard a rumor that a motion sensing expansion pack will be available for the DS this year!!
It sure would be great if a combo gyro/rumble/memory option pak would be released.
I played No Place to Hide for about an hour today. It has a title screen, 10 well designed mini games and online leaderboards for each game. Though the mini games all have a similar theme (stay alive as long as possible by keeping the hero away from the enemies), they each have a unique look, song and rules. This is easily one of the best games released for the DS this year – and it’s free!!!
My browser order from Play-Asia arrived today.
The video reviews from Joshua Zimmerman are accurate. I don’t have much to add, so watch his videos for a more complete look. Here are my thoughts:
- The browser renders as well as you would expect if you have done any browsing on a modern PDA or really modern phone.
- The page loading speed issue he mentions is pretty bad, but those of us who browse from our phones or PDAs already know that we have to pick and choose which sites we visit to avoid frustration.
- Cookies, HTTP Authentication credentials and History are all forgotten when you turn off the DS.
- Users cannot move around on the page while the browser is loading images.
- The interface text is in Japanese, so some options are not readable.
- You have to carry around the DS Browser card (as with any DS game) AND the memory expansion cartridge for the GBA slot.