18 03 2008
Flying the Beaver DHC-2
09 03 2008
Building a Beaver DHC-2 RC plane
Here are some pictures from the construction of a Beaver DHC-2 radio-controlled airplane. The plane is made from a type of insulation foam called depron, which is light, durable and a particularly unattractive shade of gray. It took us three days to build the plane, and hopefully with the right kind of weather, we might also actually get to fly it soon.
1 comment20 10 2007
Frets on Fire 1.2.512 released
A fresh version of Frets on Fire is out. This time around we focused on general bugfixes, performance improvements and making the game run more smoothly, especially on older computers. Only a few new features were introduced, most notably the support for importing songs from Guitar Hero Encore: Rocks the 80s.
If you used the Windows installer package of the previous version, please uninstall it before using this latest release.
Here’s a more complete changelog:
- Graphics performance improvements
- Effects optimization
- Font rendering optimization
- Miscellaneous bug fixes
- Added import support for Guitar Hero 80s
- Translation updates
- World Charts standing is now reported after each game
15 10 2007
What’s happening with Frets On Fire?
As you might have noticed, it’s been awhile since we’ve put out a new version of Frets On Fire and generally things have been a little dormant around the project. I hope to somewhat clarify the situation with this post.
Well, first off, rumors about the death of the project have been greatly exaggerated. We have a new version in the works and at this point it is nearly finished. This time around the focus has been on performance optimization and general bug fixes, so no major new features are being introduced. Hopefully we’ll have the new packages up later this week.
That said, in the long run our intention is to gradually move Frets into a maintenance mode and concentrate more on our next game project. It’s been a blast working on Frets On Fire, but at the same time all these other awesome game ideas have been fighting for attention in our respective heads. This does not mean that we are abandoning Frets completely; the only implication is that major new features will probably not be implemented by us in the near future.
I’ll try to write something more about the new game as it materializes. In the mean time, you might want to check out this General Games Podcast, where I’m interviewed by Justin Amirkhani about all things Frets On Fire.
13 comments29 09 2007
Old scores are now purged from the Frets On Fire Charts
Lately our web host has been somewhat concerned about the database load generated by the Frets On Fire World Charts web application. While the app does employ a number of caching schemes, it executes some pretty large queries in the process, which are reportedly hindering other users of the system. Given the choice of shutting down the service or mitigating the load, we opted for the latter by adding a process that removes old scores from the database.
The charts now list the best 50 scores for each song and expire all others that are at least three weeks old. The expired scores will disappear from all views, including the personal player pages. This is a pretty aggressive scheme, but it is needed to keep the amount of data bounded. Note that instead of deleting the scores, we are simply moving them to an offline table.
Next we’ll monitor how well this scheme performs in practice and tune it accordingly. Please post your questions and suggestions in the comments below.
13 comments24 07 2007
OpenGL ES for Maemo
Lately I’ve been toying around with the idea of adding OpenGL ES support to the Nokia N800 internet tablet. As you might know, OpenGL ES is a slimmed down version of the desktop OpenGL standard. An open source software implementation called Vincent exists for Linux and Windows CE. Porting it to Maemo, the Debian-based software environment for the N770 and N800, was just a matter of creating a package for it.
But a library is not much fun without some supporting software. I started by adding OpenGL ES support to SDL, a popular game programming library. With the patched SDL, getting an OpenGL ES context up and running is just a matter of
SDL_SetVideoMode(800, 480, 16, SDL_OPENGLES);
GLUT is another widely used high-level library for dealing with OpenGL. An OpenGL ES version of GLUT called GLUT|ES exists for Windows CE. I took that and ported it back to Linux.
Finally, Teemu Haapoja had made an OpenGL ES library for Python in the spirit of PyOpenGL. Originally his library was for Symbian, but now he has ported it to over to Maemo.
So here’s what I have so far:
- libvincent: Vincent OpenGL ES engine
- libsdl: SDL with OpenGL ES support
- libglutes: GLUT with OpenGL ES support
- python-egl: EGL library for Python
- python-opengles: OpenGL ES library for Python
I’ve set up a Maemo repository for these packages. You can get the packages with these settings:
- Name: Muksuluuri
- Url: http://muksuluuri.ath.cx/maemo
- Distribution: bora
- Components: main
The repository also has some additional packages, like Mesa for full OpenGL support. You can find the source code at my darcs repository.
The libraries still have some minor kinks to iron out. For some reason, Vincent renders everything upside down (I said minor, didn’t I :). The OpenGL ES version of SDL also depends on the full OpenGL libraries due to some braindamage in the patch. I hope to have these sorted out soon, along with a new utility library to ease porting OpenGL programs to OpenGL ES.
Oh, I almost forgot the mandatory screenshot. Here’s a Python version of glxgears running on the N800:
Here’s the same thing in motion:
10 comments24 07 2007
Frets On Fire Charts back up again
The Frets On Fire World Charts were down for some time due to a configuration error. Now everything should be working smoothly again — drop me a line if something isn’t.
4 comments24 07 2007
Charts Server source released
The source code for the Frets on Fire World Charts server has been released. See the documentation for more information.
Post a comment23 07 2007
I blog therefore I am
Well, I started a weblog. I’m not really all that sure what I’m going to write about, but I still feel like I need some place to record all the sporadic ideas and other developments that come up.
I’ve also uploaded most of the stuff from the old website to this new one. If you notice something that doesn’t look right, please let me know.
1337 points to those who figure out what the name refers to.
Post a comment25 05 2006
Repeating key bug with USB keyboard
Here’s a solution for that strange repeating key glitch with your USB keyboard. You know, the one where you get repeating letters in the output when you type fast (e.g. when typing “mount” you get “mouount”).
The culprit is the usbkbd module, which is the device driver for the USB keyboard boot protocol. The boot protocol is a stripped-down version of the full USB keyboard protocol that is only supposed to be used in the system BIOS and other limited environments. The thing is, the usbhid module is perfectly capable of driving both your USB keyboard and mouse without the help of usbkbd or usbmouse.
But wait! Don’t go unloading those two modules just yet. If you do, your keyboard and mouse will drop dead. What you need to do is get rid of those two modules files and then reboot, causing the proper drivers to be loaded. Here’s what I did:
- Rename usbkbd.ko and usbmouse.ko in /lib/modules/x.y.z/kernel/drivers/usb/input
- Build a new initrd image (which contains some drivers that are loaded at boot time):
# cd /boot # mv initrd.img-x.y.z initrd.imb-x.y.z.bak # mkinitrd -o initrd.img-x.y.z - Reboot and check that everything works
(x.y.z is your kernel version)
Just to be safe I recommend you keep and older kernel version around that you can boot with and restore the original initrd image if something goes wrong.
Post a comment