Monday, February 28, 2011

DrunkenNES

Edit: If you're looking to contact me you can use (lousy spambots.)


The third in a series of new NES peripherals - I present to you...




Wow such an overwhelming response for this thing! I'll put up a video with more of the screens / music - hopefully by tomorrow.

Thanks Jessen for taking video - there is actually a lot more to the game - I'll try to find some more!

2011 Feb 26 - Drunken NES Breathalyzer - Pulsewave at The Tank, New York from EM Dash on Vimeo.




So about DrunkenNES. I had recently done a workshop for 8static and bought a bunch of sensors to show the basics of physical computing. I came across an alcohol sensor and thought it would be fun to play with. I hooked it up to a scope and showed it to a couple of friends I had over. A couple of hours later we had a ROM with the sound pitching up as it detected more alcohol - which we really couldn't stop laughing about.
I got to leverage all the previous work in the NES communications driver I had written for the Arduino (using an RBBB in an enclosure). We forced a friend to drink for science - we all did a lot of drinking for science. The thing is actually pretty accurate provided you didn't have a drink in the past 3 minutes - it was fun having excel open "collecting data".

So alcohol sensor -> ADC on Arduino -> NES communcations driver -> gameport #2 -> homebrew software on NES powerpak cart

We decided to make it a full fledged game from there - AdamGetsAwesome helped me test the circuit / wire up the cart - Kris Keyser managed to learn Famitracker and wrote a great soundtrack in a few days - and I commissioned a few artists to generate some graphics (Alex Baderian, Emi Spicer, Kathleen Wisneski). I'm still amazed everything pulled together so well. I'm actually ashamed to admit that the code is about 5 times as long as the MIDI interface (2500+ lines of 6502 assembly!) - really complex. I made great use of bankswitching with the MMC1 mapper to handle all of the nametable / music data.

Features:
* 6 states you could rank in depending on your reading:
sober / getting started / buzzed / tipsy / drunk / wasted
* Each state to have up to 4 screens with 2 frames of animation each and cycles through each every time it's hit (you should never see the same screen twice).
* Fully functional 6-digit hi-score table (saves to SRAM for battery backed scores)
To keep it fun - the score is derived from your reading - not your rank (I.E. I can have a higher "drunk" score than someone else).
* Original soundtrack (10 tracks by Kris Keyser!)

Also: the foundation of the game is based entirely on crumby animal puns - see below

11 comments:

  1. That's outstanding! How about a tutorial? Had to ask =D

    ReplyDelete
  2. Thats awesome! Any chance that you could make this open source? I'd love to build one too. =]

    ReplyDelete
  3. Yeah, I'd buy that. Message me if you decide to sell any!!
    profiles.google.com/tenkely

    ReplyDelete
  4. I will gladly pay top dollar for this game and the controller. whatever is needed to have such an awesome game for a party. you happen to be selling?

    ReplyDelete