Please allow me to indulge in shameless self-marketing for the entire duration of this post.
Many moons ago, I developed a small library that processes a screenshot from Angry Birds
, a popular
computer game, and detects several important parameters like the scale (amount of zoom) of the level, position of the slingshot, and the kind of bird that is currently loaded. At the time, I had just started doing serious work with OpenCV
, and took this as an opportunity to put my newly-acquired OpenCV skillz to the test. It was a very challenging and interesting side-project. I consider the fact that I completed it without ever playing a single game of Angry Birds an important lifetime achievement.
I'm happy to report that the library I developed is now part of a real iPad app
in the iTunes Store. Here's a short instructional video to demonstrate how the app works:
Impress friends and relatives! If you've dreamed of achieving astronomical scores in Angry Birds, then this app is definitely for you! Once the app processes the screenshot (courtesy of yours truly), you select a target, and the app automatically calculates the required trajectories for you using some in-game physics
. The app is also clever enough to handle each type of bird individually (e.g. the bird splitting in mid-air as shown in the video). The end result is your ability to hit the targets you picked with deadly accuracy.
In other news, at the end of 2012, an Australian university hosted an artificial intelligence (AI) competition
that pitted computers against human players in a game of Angry Birds. The AI challengers had access to a computer vision component
that performed a similar task to the library that I developed (and a lot more, since they also detected other in-game sprites) and an in-game physics component to calculate trajectories. It seems that the goal for the challengers was to identify the targets that would maximize the score for the game, and utilize the provided computer vision and physics components to hit those targets. I wasn't able to find the results of the competition anywhere, but a reliable source in Australia with access to local TV reports that the human players tended to win.