After viral popularity, developer rage quits, and crazy eBay auctions, the world at large is just about done with Flappy Bird. Here at Hackaday, we can’t let it go without showcasing two more hacks. The first is the one that we’ve all been waiting for: a robot that will play the damn game for us. Your eyes don’t deceive you in that title image. The Flappy Bird bot is up to 147 points and going strong. [Shi Xuekun] and [Liu Yang], two hackers from China, have taken full responsibility for this hack. They used OpenCV with a webcam on Ubuntu to determine the position of both the bird and the pipes. Once positions are known, the computer calculates the next move. When it’s time to flap, a signal is sent to an Arduino Mega 2560. The genius of this hack is the actuator. Most servos or motors would have been too slow for this application. [Shi] and [Liu] used the Arduino and a motor driver to activate a hard drive voice coil. The voice coil was fast enough to touch the screen at exactly the right time, but not so powerful as to smash their tablet.
If you would like to make flapping a bit more of a physical affair, [Jérémie] created Flappy Bird with Kinect. He wrote a quick Processing sketch which uses the Microsoft Kinect to look for humans flapping their arms. If flapping is detected, a command is sent to an Android tablet. [Jérémie] initially wanted to use Android Debug Bridge (ADB) to send the touch commands, but found it was too laggy for this sort of hardcore gaming. The workaround is to use a serial connected Arduino as a mouse. The Processing sketch sends a ‘#’ to the Arduino via serial. The Arduino then sends a mouse click to the computer, which is running hidclient. Hidclient finally sends Bluetooth mouse clicks to the tablet. Admittedly, this is a bit of a Rube Goldberg approach, but it does add an Arduino to a Flappy Bird hack, which we think is a perfect pairing.
18 thoughts on “Computers Playing Flappy Bird. Skynet Imminent. Humans Flapping Arms.”
Oh, how did Microsoft miss this when they introduced kinect? This is an excellent family fun! (c:
I think ’eminent’. I salute our eminent robotic overlords.
Also works but changes the meaning.
Yes, that’s what happens when one is lazy with spelling and punctuation.
HaD — to lazy to proofread even the title
I have no idea what you might be talking about… :)
Squirrel — *too* lazy to proofread his comment.
I think it checks out.
Whoopsie… Fixed. We have to keep our readers on our toes somehow, don’t we?
Why can’t the Processing sketch trigger Bluetooth mouse clicks directly? It seems to me that the Arduino is completely unnecessary if it can.
Even that would be totally unneccesary. Just send touch events via ADB.
hidclient takes real mouse as an input, it was a little complicated to trigger clicks from processing.
Regarding the title… “Happy Bird” or “Flappy Bird”?
The younger kids playing this game have no idea of it’s predecessors’ history. I love that if it isn’t broke, it will stay the same. Like COD or Madden. Same game, different maps. IDK.
good workout for the arms and hilarious to watch
Please be kind and respectful to help make the comments section excellent. (Comment Policy)