Some see gaming as the way to make AI work, by teaching computers how to play, and win, at games. This is perhaps one step on the way to welcoming our new gaming overlords: a group of Cornell students used an FPGA to win a computer cricket game. Specifically, they figured out how to use an FPGA to beat the tricky batting portion of the game in a neat way. They used an FPGA that directly samples the VGA output signal from the gaming computer, detecting the image of the meter that indicates the optimum batting time. Once it detects the optimum point to press the button, it triggers a hacked keyboard to press a button, whacking the ball to the boundary to score a six*.
There is a bit more to it than simply detecting a lit pixel, though. The students had to analyze the way the game plays and figure out how to use certain quirks, such as detecting if the batter is left- or right-handed by detecting their white outfit in an area of the screen, then changing the timing to suit. They also had to detect the speed of the ball from the radar indicator. And all of this while the game is running.
This is an impressive example of how useful FPGAs can be: by cleverly analyzing the game, the students worked out how to break it down and create an FPGA program that can use their analysis to win the game. And we love that opto-isolated keyboard hack. Kudos to them for a smart analysis, excellent circuit design and a clever implementation. Now if you’ll excuse me, I’ll be in the pavilion, having tea with our new, cricket-playing overlords.
*For those of you not familiar with cricket, it is like baseball, but at one tenth of the speed, with fewer steroids and more tea.