Thursday, December 21, 2006

Yet another Urban Reign update

Well, I just played a couple of hour-long sessions of Urban Reign again. It's been a year an a few months since I got the game, and I am writing to describe how the game ages under heavy play.

Ben and I still played some Challenge Mode (Hard, Max) with our old standby characters, Shun Ying and Alex. We had lots of fun again. We are continually amazed with how satisfying it is to brawl against the computer. The AI is generally well-designed, and does a good job of making it feel like you're fighting a person instead of a program. Granted, it sometimes shows that it's a computer, like when Alex pulls off 5 consecutive shoulder-barges, then catches you in mid-air after a wall-bounce. But I can see that an extremely good human could learn to pull that off.

We played some 2v2 multiplayer, where each of us had an AI teammate. Again, lots of fun. Good, hardcore competition. We still see things happen that we haven't seen before.

We then tried playing Challenge Mode (Normal, Normal) with Nas-Tii and Ty. Playing this way is a huge challenge. We seldom get past level four or five out of ten with those guys, even though we play on the Normal setting with them. One of the problems is that Nas-Tii and Ty deal very little damage, yet the opponents still gain normal amounts of special power. So, I suppose, the long term challenge of UR is to complete Challenge mode with 1-star characters (like Nas-Tii and Ty) on Very Hard/Max mode. Eesh. I can't imagine how hard that would be... taking on Golem with Nas-Tii?!?

Verdict: UR is fun, and contains unbelievable amounts of replay value. As much as I want a sequel, the game is good enough for me to keep playing in the absence of one.

Rayman: Raving Rabbids

Just played this Wii game for the first time today. I only played a few levels, so I just have a first impression to report.

It's cute, well-animated, fun, and easy. I liked what I played very much, but I don't think it would hold my attention for long due to the lack of challenge. But, it looks to me to be a great title for very casual gamers and kids. I recommend it, provided you're not looking to get trashed.

Sunday, December 03, 2006

Programming Games for the Nintendo DS

I'm a game programmer. I've worked on many platforms, and I've just started on the Nintendo DS. Just thought I'd jot down some notes about how working with it compares to dealing with Sony's PSP.

Starting our program on the PSP took quite a while in comparison with the DS. It felt like 3 or 4 minutes to start the PSP, while the DS takes around 5-10 seconds. Obviously, this makes a big difference in your ability to test changes to the code. There are several reasons for this, some of which were not due to the PSP itself. The PSP has 32 MB of RAM while the DS has 4, so just sending over the code and assets would take longer. Also, we were using the Unreal Engine on the PSP (which we ported ourselves from a PS2/PC/XBox version), which has specific requirements about how its assets are stored. The PSP connected to your computer via the network, so any communication goes over the corporate ethernet. This means that debug information, printfs, etc. all pass over the network. The DS connects directly via the USB port.

Another huge issue was making playable versions. Sony doesn't allow developers to burn UMD discs, so we were using DVDs; the development kits and test kits could read either UMD or DVD. We found out during beta that the performance of the DVDs in the kits was nothing like the UMDs; our load times were HORRIBLE. Fortunately we had a godly programmer who put in a new fast load system and got them down to a reasonable level. This kind of coding after beta is rather risky though. On the DS, you just stick a flash ROM card in the devkit, and tell it to burn. These burned cards even work on retail DS consoles. This makes it very easy to see how your game will perform in the wild. Boxes are also available that can burn 8 flash cards at a time, so it's easy to distribute multiple copies to your test team as well.

As far as computing power, there's no comparison. The PSP is a monster. We were running a fairly complete version of the Unreal Engine on it, and getting a decent framerate (about 15-20, which was fine for our game). I've written two minigames on the DS, and have run into hardware limitations already. For example, it only allows 64 sprites per screen, and only 32 per screen can rotate and/or scale. The video RAM allows 128 kB per screen of sprite graphics; depending on what you're doing, this may or may not be a severe limitation. For me, it was pretty tight on one of the games. But the DS is less expensive than the PSP, so I expect this sort of thing.

Overall, I've enjoyed my experience with the DS more. I wouldn't complain about working on the PSP again, since it's nice to have access to the power. But given the choice, I'd take DS development over PSP development any day.