Thursday, March 06, 2008

Added Kinetic Scrolling


I just added kinetic scrolling, ala iPhone etc. to my DS menu mockup, just to see how it would work. Using it with the stylus feels very natural, though when capturing the video using the emulator, doing the same thing with a mouse feels very odd.

Wednesday, March 05, 2008

Found Ikaruga

On the gaming side of life, I just found a used copy of Ikaruga (斑鳩) at a local games store. Ever since I got into shooters a year ago, and then tried this game at the arcade, I've been trying to find a copy. This one cost about 5000 yen, which is a bit steep for a used gamecube game, but considering how hard it is to find, It's not too expensive.

The graphics are really sweet, I keep getting impressed at how good this game looks, especially the 3D background animations and the light effects.

I thought I should try to describe what exactly makes Ikaruga such a unique and fun shooter, but I realized it's pretty well described already in its wikipedia entry, so check it out.

Monday, March 03, 2008

Adding Sound to Theora Screencast

Finally figured out how to dump audio from no$gba running through wine into a file for screencasts. Adding the following to my ~/.asoundrc stores all sound played through the default ALSA device into file tap.raw in my home directory:
pcm.!default {
type plug
slave {
pcm "tee:hw,/home/user/tee.raw"
}
}
This will store all audio output from now on in tee.raw, so don't keep it like that permanently! I copy that to the file when I need to dump audio, and remove it after... not really a perfect setup, but can't seem to instruct wine to chose another device, not matter how i set $ALSA_PCM_DEVICE or try to fiddle with winecfg.

After getting the raw audio, I trim it using audacity, converting it at the same time to ogg vorbis. I get the theora video out from the screencast using oggzrip, and then combine that with the audio using oggzmerge.
oggzrip -c theora -o video.ogg original_recording.ogg
oggzmerge -o final.ogg video.ogg audio.ogg
The result is final.ogg, containing ogg vorbis audio and theora video, which can then be directly uploaded as a video on blogger/blogspot, and I would assume youtube.

Sunday, March 02, 2008

Menu status.


Update: Finally got sound recorded, so changed the video clip. Decided to only show the 3D engine this time.

My "proof-of-concept" of a responsive menu system is coming along nicely. The video shows me playing around first with the main screen that uses the 3D engine and then goes to the sub screen, using sprites in the 2D engine.

The background for this little test is that i tried the PSP and really liked the menu system (XrossMediaBar). It was fast, responsive and felt accurate. I wanted to see if I could implement something similar on the DS, and at the same time figure out what factors give good feedback to the user (i.e. gives the feeling of "responsiveness"). A high framerate is of course important, but I suspect that the 60 fps I have right now is actually overkill. Just as important are the "'tween" frames, the frames showing the transitions between icon positions, and the sound. Sorry there is no sound in the video capture, but I haven't been able to capture the sound yet.

The only reason I'm programming this is to get more familiar with programming the DS and also to implement a mock up of a responsive menu system. I'm definitely not going to implement a full menu system like the PSP XMB.

Some technical info about capturing the video: I'm using Ubuntu 7.04 Feisty, running my program through no$gba 2.5c freeware version using wine 0.9.41. I'm capturing the video using recordmydesktop 0.3.1 with the following command line:
recordmydesktop -windowid 0x3a00002 -x 6 -width 256 -height 192 -y 228 -fps 30

(You can easily find the windowid of no$gba using xwininfo).

The icons are courtesy of Th3 ProphetMan.

Saturday, March 01, 2008

Back?

Okey, it's been a few years since I tried out my blogger account, but I'm getting fed up with some wordpress issues and decided I should give blogger a second chance. I'll probably do more technical stuff here, if I do anything at all... like playing around with DS programming and stuff like that.