11 December 2013

2lemetry, Arduino, and Raspberry Pi. Oh, my.

The last 24 hours have been a whirlwind of hackery. Starting from a point of nearly no knowledge in the space of Arduino and maker hardware hacking, I've created... The Video Game Physical Excitement Archivist.

In short, this system monitors users engaging in video games and takes camera snapshots of their faces during moments of peak excitement.

In shorter, I take your picture when you yell.

This project initially began as an Arduino-based decibel monitor which I was going to leave in my home to capture events of unusual volume and report them to the 2lemetry platform. What a strange trip it's been.

Starting with that original idea, I sought out how to do the basics: use an Arduino to capture volume. I settled on the Arduino Uno and an electret microphone breakout board (thanks, Dia!). After a crash course on Arduino headers, breadboards, and sketch programming (thanks, John!), I had a light blinking in response to loud events in about ninety minutes. (Thanks to Sparkfun user Julian4 for some code assist!)

The next step was to add in an Arduino MQTT client and start sending these events to the 2lemetry platform, for archiving and real-time alerts. However, I skipped that step and tried to think of something interesting I could trigger in response to a loud noise. I'm not sure how I arrived where I did, but I was thinking of the previous night's session of Samurai Gunn, which had just been released. Kyle and I had an absolute BLAST with the game and I remembered we would frequently shout "OH!" when someone died. Lots of quick, exciting moments. I thought it would be amusing to capture these moments in pictures.

How was I to capture these images? There are several options for cameras on Arduino, but I wanted to involve another recent 2lemetry project which used a Raspberry Pi with attached camera to upload photos to the cloud. It also gave me another reason to include MQTT and the 2lemetry platform. Fortunately, we had a Pi sitting around already configured to use the camera and capture images with a Python script. In almost no time at all, I had my Pi subscribed to an MQTT topic and grabbing images from the camera on receiving a message.

Next up was adding an ethernet shield to the Arduino, dropping in the MQTT library, and firing an MQTT message on that topic to trigger the Pi. Totally easy. After adding Nick's MQTT library to the Arduino IDE, all I had to do was open an included example to get going with the ethernet and MQTT libraries.

Lastly, I wrote a two line HTML page on the Pi to display the most recent image captured on disk and set this to refresh on a 1s timer. Tomorrow, I'll likely add something better than timer refresh to get the images up on screen more directly.

The result is fabulous. The Arduino mic fires an event at loud exclamations, clapping, etc. The latency between the Arduino firing an event and the time the Pi takes a picture is imperceptible to the naked eye. It looks like the Pi is getting a local hardware interrupt and NOT an entire round trip message to the 2lemetry cloud.

I'll be deploying this system for the first time on Friday at the 2lemetry holiday party. There will be a PC running Samurai Gunn with four controllers to capture those "OH" moments. I can't wait to share the results on Saturday!

Pics of the hardware used-

15 August 2013

My Special Friends

Two days ago, I announced an announcement. Worse than that, I said I'd reveal details of that announcement yesterday. I suck. 

Some background first. About a month ago, I broke my clavicle in a bicycle accident while commuting to work. Upon discovering the cost to me for surgery, I had to make the difficult decision to cancel my Labor Day weekend plans to attend any conventions. 

Skip ahead to Tuesday of this week, when I was lured to Josh and Casey's house under the pretext of baked goods. Entering the door, I find six of my closest friends in business attire, seated at the table with legal pads, a pitcher of water, and a Mac with a presentation on screen. This immediately put me on edge. Despite never having been to one, it turns out a person knows immediately when they've walked into an intervention. Thus began a 20 minute presentation from all parties stating how Dragon*Con just isn't the same without me. Wow. I was completely blown away by the effort and love that had gone into this presentation. However, the whole time I'm feeling terrible because I had resolved not to spend the money. 

It turns out, my friends had organized a crowd funding campaign to raise the money for a flight, hotel, and badge to Dragon*Con. How about that? And apparently it only took a couple hours before the funds had mostly been raised. Double wow. 

So... I will be attending Dragon*Con after all, thanks to the help of my friends, who are all completely amazing. I truly don't know what I've done to deserve such caring and giving friends, but I promise to bring my A-game this year and make one memorable con for everyone. 

13 August 2013

Pre Gen Con

Netrunner decks are prepped. Last minute testing will happen tomorrow night at Total Escape Games in Thornton. The US Championships are Friday... wish me luck!

I am nearly overwhelmed at the number of people I know who are now attending Gen Con. KYLE, Tim, Amber, Rob L, Andy, Chris C, Kate, Chris H, Loren, and Clint! WHAT.

Games to bring:

  • Dungeon Roll
  • Netrunner (duh)
  • Get Bit
  • Love Letter
  • Yomi?
  • Light Speed
  • Paint the Line
  • Purge?
Anything else I should bring? I'd rather avoid any big box games in favor of traveling light with one bum arm. That and it is freaking GEN CON and there are a zillion games there I haven't played! 

Is there anything you want me to seek out and test?

I'll also have a couple copies of Republic Brewing Company on me. I will be sitting in the Playtesters Hall for a couple hours each day looking for feedback before I enter the final phase of design. I'll be updating @AnsibleGames with any playtesting activity and @TheRyanBurke with all other Gen Con shenanigans.

03 June 2013

Getting Lost

A year ago, I'd have told you I don't understand the point of "getting lost." What I mean by that is the mentality of letting go of control and seeing where things lead.

I've been sampling this concept for a couple months now and I must say this robo-heart of mine is seeing stuff in a new light. There's a lot of cool shit out there just waiting to be found.

Game of Thrones

With respect to the events of tonight's episode, I'll never forget where I was, what I was doing, or how I felt when I read that part of the book. That was two years ago. It remains the most horrific thing I've ever read in fiction.

Tonight, I had a blanket pulled up to my face and Hannah said I started to hyperventilate right before it went down.

Since I started the books after the first season aired, I now have two memories of that event with those same actors. It's strange. Both will haunt me, but the filmed scene will never be as memorable as the book.

03 May 2013

Android: Netrunner Colorado Regionals

Huzzah! I will be attending the 2013 Android: Netrunner World Championships this fall. Big thanks to Petrie's Family Games, Matt, and Tobin for all of their contributions to the Colorado Regionals event.



Data Raven on R&D/HQ is great at inhibiting the runner... until they decide tags are meaningless and make several runs in a row to find something. Had a minor freak out when I realized I was no longer defended at a critical moment. Runner was about to lose and made 2 runs on R&D to try and find the game-winning agenda, completely disregarding all the text on Data Raven. Lesson learned- DR is great solo defense on R&D against Criminal, but needs an ETR or damage-inflicting Ice to support it later.

My economy-attacking Criminal deck makes use of Cortez Chip, an underplayed card IMO. This card scales in usefulness as the level of competition increases. The more skilled the Corp player, the more often I see that player have exactly the amount of credits they need for their plans. A sudden Cortez Chip can devastate such plans. Used in combination with Forged Activation Orders, a critical piece of Ice can be trashed, opening the way for Gabe.

My NBN Fast Advance deck fell apart when experiencing an agenda drought. Early game, I'm usually ready to start scoring some agendas, but when the deck shuffle yields a drought, I have to find some kind of plan B to keep the runner busy. The worst games for my NBN left me making money while the runner setup his rig. Getting a steady stream of agendas (maybe 1 every 4-5 draws?) is critical to keep the runner pressured. Have to think about how to tweak that deck to keep the runner busy when I'm not scoring agendas right away.