My background is a graphics programmer in film VFX and games. I got my start working at a virtual reality lab back when that was supposed to be the future. Honestly, I you'd have told me in 1995 that instead of running around the 'Snow Crash' style metaverse, we'd be planting virtual farms and communicating with 140 character tweets, I would have cried into the keyboard of my SGI Onyx.
I moved into the world of film VFX and animation working at Disney's now defunct Feature Animation Florida studio, working on crowds scenes and pipeline tools for "Mulan". At the turn of the millennium I moved out to Northern California to work on some crazy startup, and eventually ended up at Industrial Light and Magic. It was during this phase I discovered LD48, which appeals to both my short attention span and my love of insane time pressure.
After a few years of making software tools for artists there, I decided to try making games full time. I worked at EA Redwood Shores making tools for baking lightmaps for 'Bond: From Russia with Love', and on 'The Godfather', working on more lightmap baking and dynamic shadows on the 360. This was some of the most intense and fun experience I've had developing software, but ultimately was unsustainable.
I wanted to start a family and work regular hours, so I returned to VFX and was lucky enough to land a Tippett Studio, a close-knit group of true artisans in Berkeley, CA.
Recently, I've started making iPhone games as a little hobby business on the side. Check out www.tapnik.com for more details about my current projects.
This new interest in iPhone development led me to Smule, where I'm currently working to help blend music and games and explore the amazing possibilities of these new devices.
Ludum Dare (and similar contest) entries:
* LD15: Caverns -- Spaceship in a Cave
* LD14: Advancing Wall of Doom -- Glacier
* LD13: Roads -- Crossroads
* LD12: The Tower -- Moonbase Defense
* LD11: Minimalist -- Cowbell Hero
* LD10: Chain Reaction -- Jumping Chain Guy (barely started)
* LD8: Swarms -- Bugzapper
* LD7: Growth -- Kudzu Commander
* LD5: Random -- Buttonlands
* LD4: Infection -- Bad Food (2nd try)
* LD4: Infection -- BioWar (abandoned)
* LD3: Preparation -- Hannibal's Cannibals (lost the code)
* LD2: Construction/Destruction (Minor Theme: Sheep) -- Trans-Icelandic Express
* LD1: Guardian -- Zillagame (the game that started it all for me)
* LD0: Indirect Interaction (I didn't know about LD yet)
* MiniLD16: Constraints -- Moonsweeper
* MiniLD11: Sandbox -- The Wanderer
* MiniLD9: Audio/Sound -- JamClock
* Speedhack 2003 - Outlands (my first allegro game)
* LudumDare Halloween Hack 2003 - The Halloween Machine
* TINS2006 - Railroad Merchant aka Merchant of Venus
* TINS2007 - Headline Recycler
The code (it's quite a mess) for all of these can be found at my google code dump:
http://code.google.com/p/ld48jovoc/
The Christopher Walken Award for Hilarity Awarded by keeyai on April 24, 2008 |
Ratings
| Ove | Fun | Inn | The | Pol | Gra | Aud | Hum | Tec | Foo | Jou | Tim |
|---|
| 2 | 1 | 1 | 2 | 4 | 4 | 2 | 1 | 3 | | 3 | |
|---|
| 4 | 5 | 3 | 4 | 2 | 4 | 4 | | 5 | | 4 | |
|---|
| 4 | 4 | 4 | 5 | 5 | 5 | | 5 | 3 | | 3 | |
|---|
| 3 | 3 | 2 | 3 | 3 | 4 | 1 | 4 | 3 | | 4 | |
|---|
| 4 | 3 | | 4 | 2 | 4 | 3 | 4 | 3 | | 3 | |
|---|
| 3 | 3 | 4 | 4 | 4 | 4 | 5 | 4 | 5 | | 4 | |
|---|
| 3 | 1 | 3 | 4 | 2 | 3 | 5 | 5 | 5 | | | |
|---|
| 3 | 3 | 3 | 3 | 3 | 4 | 5 | 4 | 4 | | 4 | |
|---|
| 4 | 3 | 4 | 5 | 3 | 4 | 4 | 5 | 3 | | 3 | |
|---|
| 3 | 2 | 3 | 5 | 3 | 4 | 3 | 5 | 3 | | 4 | |
|---|
| 3 | 3 | 4 | 4 | 3 | 4 | 4 | | 3 | | 4 | |
|---|
| 3 | 2 | 1 | 4 | 3 | 2 | 2 | 3 | 3 | | 2 | |
|---|
| 4 | 4 | 4 | 5 | 4 | 3 | | 5 | 3 | | 4 | |
|---|
| 3 | 1 | 4 | 4 | 2 | 4 | 2 | 3 | 3 | | | |
|---|
| 4 | 2 | 3 | 3 | 5 | 4 | 4 | 3 | 3 | | 2 | |
|---|
| 3 | 3 | 3 | 3 | 3 | 3 | | 2 | 3 | | | |
|---|
| 3 | 3 | 4 | 4 | 4 | 4 | 3 | 4 | 2 | | 3 | |
|---|
| 4 | 3 | 3 | 3 | 4 | 4 | 5 | 5 | 4 | | 3 | |
|---|
| 5 | 4 | 5 | 1 | 4 | 4 | 5 | 4 | 4 | | 3 | |
|---|
| 4 | 5 | 5 | 5 | 4 | 4 | 4 | 5 | 4 | | 3 | |
|---|
| 3 | 2 | 2 | 4 | 2 | 3 | 2 | 4 | 3 | | | |
|---|
| 3 | 3 | 3 | 5 | 4 | 5 | 3 | 3 | 3 | | | |
|---|
| 3.41 | 2.86 | 3.24 | 3.82 | 3.32 | 3.82 | 3.47 | 3.90 | 3.41 | - | 3.29 | - |
|---|
phren says ...
First of all, nice readme, gave me the info I wanted in a well-written package. Very stylish menus. The syncing didn't really work for me - the notes continued staying off-beat. Very cool and subtle humor involved. :P
dgriff says ...
I like the idea, get top points for that. The random song it chose was Wagner's Tristan und Isolde overture. The beat wasn't quite right, but oh how that cowbell was.
SethR says ...
Go-go Beatronome! Not really a game but I have to credit the awesome music selection that was in it.
Surrealix says ...
"You may notice that every song in your music library sounds better with cowbell.
This is scientifically proven."
Brilliant Idea! The whole premise had me giggling, very good humour in the game. Unfortunately it didn't work particularly well, the music drifted out of sync regardless of how accurately I tried to sync it with shift. The little note things appeared to have a pattern depending on the state of the music, so something must be going on under the hood there, it's just not quite right yet.
Overall, great premise, I'm expecting a fully functional version!
pekuja says ...
Very nice idea, and a great use of the theme... but the song syncing didn't really work all that well. It fell off beat after a while. Also, I wasn't quite sure if the notes were generated from the song or if it was a premade pattern. (I guess the fact that I couldn't quite tell at least tells that the pattern must've been pretty well made)
If the syncing worked right, this would be a really fun game.
keeyai says ...
Awesome idea. I wish the syncing worked! I laughed the whole time. I almost gave you a 5 for music too... Seriously though, 5 and a trophy for Humor.
Fix the syncing and release it again.
negativegeforce says ...
i tried a bunch of songs, i couldn't get the game to go in sync with the music. not sure why the player has to set the bpm manually. the graphics look great though. im not sure if this fits into the theme except its a one button game
Devon says ...
syncing never worked for me either, but the idea is perfect and the technical attempt, even if it doesnt work quite right is impressive. hilarious.
jolle says ...
Love the idea and humor. And great music! But synching didn't work for me either. Either it's faulty or I sucked at it. With some auto analyzing of the song this could be great, though I fully understand that isn't included in a minimalist 48h game.
shrt says ...
Well, if the beat detection/syncing had worked it would probably have been fun to play :P
DrPetter says ...
It's completely random, isn't it? Had nothing to do with the song being played, just sort of trying to sync up with the shift-tapping (time between last two taps maybe)?
Anyway, it makes for a rather surprising amount of fun actually. I loaded up a few tunes and "rocked out", imagining that the triggers were actually related to the song in some complex way ;)
I guess the main issue with these games is that you have to spend a lot of effort to input good patterns for all songs. Even if there's great beat detection going on it would still be hard to automatically generate an interesting and relevant string of triggers... although it's kind of an intriguing problem, might have to play with it some day :)
Hamumu says ...
Have you seen Cowbell Hero before? I saw the youtube video of it months back ( http://youtube.com/watch?v=QlqLLZQLNiA - but wow, there are lots of other ones there too!). I can't decide if you lose innovation points for that, I guess it would depend on if you conceived this individually or not!
Anyway, it's basically something that could be awesome if it did what it was supposed to... that would've been quite a technical achievement too! Scoring and proper syncing and patterns that make sense would've made it a winner you could sell to a world of cowbell-starved patrons.
There was one point in a Green Day song where it suddenly was just perfect, adding little counterpoint cowbells to each measure... but then it went way off track again. Still, a sublime moment.
sol_hsa says ...
Nice idea, screenshots got my hopes high, but it was a letdown in practise. I guess tuning the beat detection to be fun is a bit much to ask in 48 hours..
mjau says ...
The music detection thing crashed when I tried it at my full music dir, so I had to copy some mp3s to a dir of their own to make it work.
Anyway, managed to sync it up to some demoscene music pretty well for a little while there, but it kept slowly drifting off. Was fun while it lasted though =)
drZool says ...
I love the variety this theme has produced. Who would have thought of a GuitarHero clone? I hope you work on it more.
NULL says ...
Nice game. Cool idea!
GBGames says ...
Beethoven is definitely better with cowbell. I noticed that the beat didn't always seem appropriate, but it worked. Now to make it for the XBox 360, PS3, and Wii.
pansapiens says ...
Nice, funny idea, fits the theme, but the actual gameplay didn't really seem to work well for me. I used a techno track with a strong beat, but pressing shift just made the scrolling thing jump around a lot. Graphics were technically impressive, and the sound was nice since I chose it :) Integrating the musicdb.py script to be launched by the actual game (some users are shy of the commandline) would be nice too .. but hey, I know all to well how hard it is to do _everything_ in 48 hours :)
Saturday, April 19th, 2008 10:43 pm

Things are getting out of hand… There is a helper python script that scans a directory (such as your iTunes directory) for mp3 files, reads the ID3 tags, and makes an index for the game to use. So if you have some mp3′s lying around, you should have plenty of content. It should come as no surprise that it’s a rhythm game.
I’ve got the bare beginnings of the gameplay done. “Focus” was the title for the old, complicated idea. The new one is…. well, different. And still secret. But much more minimal.
So I’ve spent almost 2/3rds of the time on the title screen… now onto gameplay…