Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wonder if one can create an invincible AI for Street Fighter II. One that obviously makes the right choice always and can counter every possible human attack.

(kind of think that it was also possible even back in the 90s, but never implemented; what would have been the point?)



Mortal Kombat II effectively did this with really shitty AI. If you jumped towards an opponent, they would jump straight up and hit you with a projectile with perfect accuracy. Every time. It was impossible to throw a computer opponent because the AI had better timing then you. Every time.

In fact, the only way to beat the computer opponent was to take advantage of weaknesses in the AI script, the biggest one of which is jumping backwards when there's a specific distance between you. The computer would jump towards you, leaving them open to you jumping forwards with a kick. Every time. Just don't get caught in the corner.


There's a "bug" in the MK2 script I've never quite understood nor seen explained. Sometimes when jumping at the computer from a certain distance (and perhaps certain difficulty level) it will move back and will keep moving back trying to separate itself from you as long as you press no button. You can walk it into the edge and will stay there, forever trying to move back. Then you could move back yourself, wait a second, and it would throw a projectile, letting you jump in over the projectile for a corner combo.

Yeah, the MK2 AI isn't much fun. It's designed to eat quarters, not to provide a fair fight. :-/


Exactly. That's why I've never enjoyed playing MK with a computer. Game AI should be about fun and enjoyment for the player.


They also would let you leg sweep a lot more than a normal player would. I'd win whole rounds with just leg sweeps. Not the ideal kind of "fun" when playing a video game, but neither is getting perfectly, precisely owned every single time you jump.


Absolutely. All fighting games are basically a mashup of rock-paper-scissors with a bit of real-time chess mixed in. If you have instant reaction time and perfect understanding of what's happening on screen (no mistaking the early animation of one move for another) an unbeatable AI should be trivial, because you'll always win the rock-paper-scissors part.


One interesting thing about street fighter 2 is that all of a the character's basic moves are different. I've learned from playing street fighter 2 that one matchup has a sort of bug, Zangief vs Blanca. Zangief requires to be close up to hit someone. Blanca's hard kick in the air has a long reach.

I've figured out that if Blanca jumps straight up and does a hard kick when zangief gets close, there is literally no way for zangief to hit Blanca. You can do this on the hardest difficulty and beat zangief perfectly.

This presents a problem for a perfect AI. The perfect AI would need to know not to get so close to Blanca as Zangief and at best could only let the time run out during that matchup.


You can beat him with any character. Jump away from him and kick constantly and you will win


Depends on what the input to it is. There is an invincible AI for StreetFighter V that reads the other player's inputs from the network stream and simply chooses the perfect attack with which to counter. Much more interesting to me would be machine vision that can recognize what's happening on screen. I'd be fine with it getting frames via direct HDMI connection rather than with a camera and similarly inputting moves by sending USB packets down the wire, rather than physically pressing buttons.


People have kind of tried this with Mugen, I think.


Yep. SpriteClub.tv, a mugen stream, showcases a bunch of these kinds of characters with hilarious results.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: