animation, graphics, games, and other projects

Archive for February, 2007

GLConsole library with source released

21st February 2007

I’m releasing a small C++ library with source code called GLConsole that was very useful in my old college game and research projects. It’s a simple “Quake-style” debugging console/shell you can overlay on your application to expose any program variables for tweaking separately from the code, print error or status information, and/or access custom commands. It also does the standard shell things like complete/partial tab completion with suggestions and history. More details including a demo and the source are available at its project page.

GLConsole Demo Shot

Posted in Code, Graphics | 84 Comments »

“Rhythm” Games and iPod Gaming Experiments

19th February 2007

About a year ago, I started thinking about what it would be like to play games using the iPod’s unique “clickwheel” interface. It seemed especially interesting because the Nintendo DS was proving unique game experiences were possible with a touch interface, along with games like Guitar Hero that were taking “rhythm games” mainstream. Apple must have thought it was a good idea too, because they started offering games in the iTunes store about 6 months later.

For my project, I modified a PC clone of the popular PSP rhythm/puzzle game Lumines to be controlled with the following trackpad, mimicking the iPod clickwheel in software:

Cirque touchpad with IPod Clickwheel image pasted in

The idea that you could play Lumines levels based around your own favorite songs was also something I wanted to explore. Microsoft later implemented this with their version of Lumines, featuring songs from artists like Madonna, now available in the XBox Live Arcade. There was a popular iPod commercial at the time featuring Eminem, so I also created a custom mod or “skin” using graphics from the commercial and looped sections of the audio from the song “Lose Yourself”. The current dropping piece could be moved left and right with counterclockwise/clockwise motion on the trackpad and rotated with pressure on the center “button”. The following is a video of my hacked up game composited within the iPod interface:

Most “rhythm” games work on the premise that the specific beats or melodies in a song statically determine when a player’s actions should occur, such as where to place your feet in DDR or the notes to play in Guitar Hero. However, it looks like there is lot of room for innovation in how players can inject their creativity into a game’s soundtrack. When thinking of how gameplay can change a game’s musical score, I’ve found that player actions usually fall into one of two categories:

1. Actions that Augment the music (as in Rez, where the player is remixing or composing new aspects of the music through gameplay)
2. Actions that Progress the music (as in Lumines or the upcoming SSX:Blur, where player achievements trigger progression in the musical score)

The second category is core to the Lumines game, which you can see in the video when big combos are scored, resulting in changes to the graphics and progression to the next looped section of the song. I experimented a bit with the first category by adding “DJ scratch” functionality, where scratch gestures on the trackpad triggered appropriate record scratching noises, which in theory would allow the player to add his/her own style to the song. It didn’t work too well in Lumines because the scratching motion would annoyingly cause the current dropping piece to move left and right, so I just ended up playing a random scratch noise when rotating the pieces.

It will be interesting to see how these ideas could be further developed into future iPod games. More details on this project (and hopefully other experiments) at my new gameplay prototypes project page.

Posted in Code, Games | 119 Comments »