+LS650 Posted February 28, 2018 Share Posted February 28, 2018 https://www.theverge.com/tldr/2018/2/28/17062338/ai-agent-atari-q-bert-cracked-bug-cheat 1 Quote Link to comment Share on other sites More sharing options...
jaybird3rd Posted February 28, 2018 Share Posted February 28, 2018 Interesting. The version of Q*Bert they're discussing is the 2600 version, not the original arcade version. I'd be curious to see if a human player can replicate this behavior on real hardware. Seeing this story makes me think back to an Expert Systems class that I took as an undergraduate. A grad student from Belarus had implemented an expert system which learned to anticipate and avoid enemies in a Q*Bert-like game (it was a new implementation, not an emulator), and he demonstrated it for the class. Pretty impressive, but it would have been even better if he had somehow hooked it into the original arcade game. Quote Link to comment Share on other sites More sharing options...
128bytes Posted February 28, 2018 Share Posted February 28, 2018 Interesting. The version of Q*Bert they're discussing is the 2600 version, not the original arcade version. I'd be curious to see if a human player can replicate this behavior on real hardware. Seeing this story makes me think back to an Expert Systems class that I took as an undergraduate. A grad student from Belarus had implemented an expert system which learned to anticipate and avoid enemies in a Q*Bert-like game (it was a new implementation, not an emulator), and he demonstrated it for the class. Pretty impressive, but it would have been even better if he had somehow hooked it into the original arcade game. I know you mean the original arcade hardware, knocker and diagonally mounted joystick and all. That said, the 2600 is still real hardware, and I have loved 2600 Q*Bert since I was a kid Quote Link to comment Share on other sites More sharing options...
Atariboy Posted February 28, 2018 Share Posted February 28, 2018 (edited) So we're supposed to believe that this was so smart, that it learned to kill off three Q*Berts in quick succession by jumping off the bottom row, finished the first rack on the last life, and somehow triggered something nobody else ever has seen with flashing blocks and no enemy threats? Isn't it more likely that we're just seeing faulty emulation at play here, with the AI controlled Q*Bert not suiciding now that no enemy threat is present? I know I've seen strange happenings on the AtGames Flashback line before for instance. Like Battlezone continuing after my last life, with my tank impervious to damage and the scoring counter still operable. Edited February 28, 2018 by Atariboy Quote Link to comment Share on other sites More sharing options...
jaybird3rd Posted February 28, 2018 Share Posted February 28, 2018 I know you mean the original arcade hardware, knocker and diagonally mounted joystick and all. That said, the 2600 is still real hardware, and I have loved 2600 Q*Bert since I was a kid That's what I meant by "replicating this behavior on real hardware": reproducing the exploit on a real 2600 by a real human player. Quote Link to comment Share on other sites More sharing options...
Mr SQL Posted March 1, 2018 Share Posted March 1, 2018 That's what I meant by "replicating this behavior on real hardware": reproducing the exploit on a real 2600 by a real human player. I saw this mode on the real hardware once, wasn't sure how I'd triggered it. Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted July 25, 2020 Share Posted July 25, 2020 Decided to do some necroposting here after discovering the original article about it. Then I thought it might be fun to try to track down the cause. I may have done that, but it's just theory at the moment. First, the level bonus countdown timer is at RAM location $D0. This immediately follows an array of horizontal position register values intended for rendering each falling object as it bounces down the pyramid. The top row is not considered, since objects always fall on the second shelf and roll down. Now, you also may have seen the Coily bug where he advances two spaces towards you on occasion (typically after a green ball pause if it happens). For background into this bug, Coily has 14 animation states. If the "state" number is above 14, Coily is immobile. At end of level, his state is set to 32, and there are a couple other conditions that set a high value like this, the green ball being one of them. This is why he pauses in those situations. When he reaches state 7, he decides on a new target square depending on where Qbert is related to his current location. If Qbert is to the right, then he increments his target horizontal location, otherwise he decrements it. If Qbert is below, he increments his vertical target location, otherwise he decrements it. At state 0, he transports to that chosen location. So if he makes it to state 7, then his state gets set above 7, his logic moves him again towards Qbert from his current location, which causes the 2-square transition. In the pattern that the AI employed, the level ended with Qbert in the bottom row and Coily just above him. I am guessing that the 2-move bug landed him in row 7 instead of row 6. In row 7, his horizontal position keeps being written to the bonus countdown timer, so it never reaches 0 to end the level. Meanwhile, Coily left the screen because he's in row 7 now. He never leaves that row because he doesn't know what "y" position it is and can therefore make no decision on which direction to move to find Qbert. The code has to compare actual screen coords because Qbert has smooth motion. In case you're wondering why he makes noise even when not on screen anymore, it's because it triggers the noise at decision time rather than movement time. Note that for now, this is just a theory and I have yet to reproduce it on a system that lets you look at the state of memory to know for sure. But there you go. PS: If anybody has a state capture from a game that's doing this, I'd love to examine it. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.