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.
Baseball is slower than a turd going through a long snake. I suppose at 1/10 the speed there wouls be time to properly brew a cup of tea, although my guess is plenty of beer is consumed as well. A application I wouldn’t have thought of. I do will more time is spent on explaining the interconnecting circuitry. My thinking is if more beginners, understood how to engineer the interconnecting circuitry, we would see many more applications of FPGA and micro processors,, if more people understood how to make them more useful for their needs, or at leat mor fun in a llezuire time activity. Ya I know that information is probably on YouTube or elsewhere on the web. But there is information overload syndrome. I’m fairly good at refining search results to borrow down the number of hits. But after that one has to find a way to determine if the person you are listening to knows what they are talking about.
“although my guess is plenty of beer is consumed as well”
http://www.foxsports.com.au/cricket/the-ashes/great-ashes-moment-no14-david-boons-52-cans-of-beer-on-the-way-to-england-in-1989/story-e6frf3gl-1226670111988
Baseball? Are we reading the same article?
Only test matches are painfully slow – the grass grows quicker …
A day night game or 20/20 is somewhat more entertaining.
But given they were detecting a white uniform than it was test match so plenty of time to write the code between disturbing the sea gulls and bowling the next over.
“Only test matches are considered real cricket”
There, fixed that for ya.
Agreed! Save test matches and Ban IPL
Those seagulls could do with a haircut… https://youtu.be/b4vtMyONlQs
why physically hack the keyboard and not just emulate one ?
Exactly.
If it comes to that, why hack the VGA signal rather than just point a camera at the screen?
After that, why limit yourself to cricket when there are so many golf sims using a 3-click system?
[1st click = start, 2nd click sets power level, 3rd gives hook / fade]
For most golf games, you’d still have the challenge of detecting up/ level/ downhill terrain, wind speed & direction, top spin vs backspin, etc.
They did explain that in the video. It was quicker than building a USB interface. They had a deadline to meet.