Winning Video Games By Letting Arduino Push Your Buttons

[Lars] shows you how to get a perfect score on the first four levels of BIT.TRIP RUNNER by using an Arduino to time and send button presses. This is a pretty simple game that uses a couple of buttons to jump or slide past obstacles. The constant speed of the character makes it quite easy to time these movements without any input from the game. This means that the pixel sampling which some web-game bots use isn’t really necessary here. Just work out the timing and hard-code it into the sketch. As you’ll see after the break, it works perfectly

The real value of this hack is the guide he wrote to send key presses from the Arduino hardware. It’s not hard at all, but there are several steps and this will get you up and running in no time. Where might you go from here? It wouldn’t take much to turn this into a keyboard prank that misspells all your words.

[youtube=http://www.youtube.com/watch?v=5njzKY0oEy0&w=470]

6 thoughts on “Winning Video Games By Letting Arduino Push Your Buttons

  1. It actually wasn’t that hard, as the game has the obstacles lined up with music, so the distance between them often lined up with 1000, 500ms etc. and furthermore the level consist of repeating a pattern four times and a short finale :)

    And just to be correct it’s only programmed to beat one level, level 4 in world 1 (aka lvl 1-4)

  2. In addition to my previous comment I would like to note that it would be easier to use a function that would send keyboard commands, such as KeyDown(char:byte) and KeyUp(char:byte) in SCAR.

    This wouldn’t require a hardware device – but I understand that this isn’t the point of the article. It would be interesting to see what new options a hardware device would open to this field.

  3. The making your keyboard mispell your words @ least for a pc was easily accomplished with a little bit of code. Even ansi.sys escape codes used with some tricky batch files in old fashioned ms-dos

Leave a Reply to Lachlan NeeleyCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.