Post subject: AI bots for Street Fighter 2
Mitjitsu
He/Him
Banned User, Experienced player (532)
Joined: 4/24/2006
Posts: 2997
*Read title* Since chess computers are able to beat the very best in the world on a regular basis. Could it apply to competitive gaming? So far AI bots are either very bad because they can't adapt to human tactics, or they they cheat to a certain extent. I would have thought that either Balrog or a character with an upper cut special would be the best choice. Simply because Balrog can constantly rush and punch through fireballs and Sagat, Ryu and Ken could throw Fireballs from a distance and punish players who either get too close or jump towards them with a well timed uppercut. I will admit the cheapest strategy of all is just to take advantage of having frame perfect reflexes. Anyone got any opinions on this? There is also Super Smash Bros Melee, but I feel that game is too complicated for an AI bot to master.
Banned User, Former player
Joined: 3/10/2004
Posts: 7698
Location: Finland
You can't compare chess with a fighting game. Chess is turn-based and the board and pieces are quite limited, meaning that the computer can perform an exhaustive search to estimate the best moves with effectively no time limit (except what is imposed by the timing rules, which are usually extremely generous compared to real-time games). The approach in a real-time fighting game where the computer has one frame of time to react to whatever the player does and where the size of the "board" is enormously larger must be completely different and a lot more heuristic.
MESHUGGAH
Other
Skilled player (1889)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
You want to make an AI Bot that beats anyone, right? Theoritically you can make an AI Bot for any game, especially if you have access to the memory. Generally you have to make a database about all the characters properties, the length of their techniques in frames, the distance range needed to perform them, writing powerful combo patterns and making some strategies (go for fastest win or flawless victory). The difference between a simple Chess game and other games is the complexity: the number of objects with far more properties, the various "bad" game code you have to deal with (hitboxes, lags, bugs, glitches, the "enemy cheats" things etc), and the unexpected things (unhandled exceptions/situations, memory corruption, etc). Also take a look at the Mario AI
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
gia
Player (109)
Joined: 5/3/2006
Posts: 223
jump to mugen and make ai for those characters
ALAKTORN
He/Him
Player (99)
Joined: 10/19/2009
Posts: 2527
Location: Italy
Street Fighter IV's AI on Ultra Hard can already do some impossibly fast punishes, like throwing an Ultra if you dare make any move too close to it, at least Ryu
Active player (292)
Joined: 12/16/2008
Posts: 458
Location: Houston
The hardest thing about good fighting game ai is not making it too predictable. Sf4 is really bad at this, most characters can be beat by lp soul spark, dash soul throw loop for example. A super hard sf2 bot would basically be a 1 touch kill, the best character to do this with would depend on the version of the game. T. Hawk has a really nasty option select throw setup that is unescapeable once he gets a knockdown, Zangief has something similar in earlier versions. Basically any character can do a one touch kill off a jump in tho. I think dhalsim is the way to go, he has the quickest normal in the game, db+mk so he can react and stuff a lot of moves up close, can punish from full screen, + nasty drill throw setups. I think the basic strategy would just be walk forward and throw, if the opponent jumps or attacks you punish it with a normal. Normal throws have no whiff animation so once in throw range you can option select a mp to beat jumps or something.
Mitjitsu
He/Him
Banned User, Experienced player (532)
Joined: 4/24/2006
Posts: 2997
Dhalsim, is too easilly countered by Ryu + Ken. Using low short kicks cancels out his low punches. The only thing Dhalsim can do in that situation is to drill kick which unfortunatly is countered by a dragon punch/hurricane kick. See this video http://www.youtube.com/watch?v=0csl1Jj_uj8&feature=related
Banned User
Joined: 5/11/2004
Posts: 1049
Funny, I was just thinking about this Yesterday when taking to a friend of mine who follows pro fighting e-sports. currently SF II turbo is the only game I really think about. I think it should be done for this game, it's probably the best out of all fighting games ever made, championship edition is good too, but most will go with turbo over CE, it just went downhill with super I think Zangief would be the best to at least start with for 2 reasons: 1. He'll be the simplest AI to program, leaning heavily on doing spinning pile drivers (SPD) w/e possible and setting up for them. 2. With the longest range on a throw in the game and the most damage he can be very effective when played frame perfect: SPD on standing opponent from range is only stopped by a few moves if they are done first frame of standing or if they hold jump, but lariat knocks opponent down from jumping and is invincible. Thus once getting a knock down, keep opponent guessing by doing special moves the exact frame he is vulnerable but probably start with SPD 80% of the time. Best thing opponent can do is counter SPD with frame perfect special moves, but gl doing that consistently, or holding jump, in which case you can block or lariat. Best thing to counter lariat is ducking, in which case you move away and then try for frame perfect SPD or lariat after the first lariat finishes, unless he times a low attack to hit you the 1 frame you're vulnerable after lariat you're fine, even if he does, you might even be able to be out range depending on opponent (I think just dhalsim, vega, balrog[or will lariat hit him?], maybe blanka have enough range, then maybe ken with F dragon punch or honda with head butt [I think it's invulnerable to lariats for first 1s or so]). You eat a FP worst case but you don't start with lariat very often or ever against those opponents, and you can turbo lariat some of the time too which I think they either have to block or do frame perfect dragon punch/headbutt, but it'd take a lot of balls to guess turbo lariat and block when he usually does SPD, lol... You could even do jumping away D+FP(would love to see russian giant flying away after getting this blocked, lol) or FK some of the time too. Moving forward while jumping over projectiles should be easy to flawlessly program, and doing lariats whenever opponent tries to jump you or hit you, then when in right range jumping with a D+FP or FK should be easy enough to program, then just do frame perfect SPD after landing.. or maybe even light punches into SPD that's the bulk of the AI right there, then just playtest and find it's bugs and loops and situations it malfunctions in, no human should be able to beat it, ever. This hinges from the fact that it can do frame perfect SPD 100% of the time and humans can only do frame perfect dragon punches/throws/other less than 100% of the time.
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
Active player (292)
Joined: 12/16/2008
Posts: 458
Location: Houston
Mitjitsu wrote:
Dhalsim, is too easilly countered by Ryu + Ken. Using low short kicks cancels out his low punches. The only thing Dhalsim can do in that situation is to drill kick which unfortunatly is countered by a dragon punch/hurricane kick. See this video http://www.youtube.com/watch?v=0csl1Jj_uj8&feature=related
that might work vs a normal player most of the time but with perfect reactions sim can punish. Up close he can do a c.mk, or at range a s.mp beats c.lk and a c.lp beats c.lp. The main problem with sim is you need to program him to react differently to every move. Besides you can't chain light like that unless you switch between crouching and standing.
SPD on standing opponent from range is only stopped by a few moves if they are done first frame of standing or if they hold jump, but lariat knocks opponent down from jumping and is invincible.
if you're doing CE zangief you want to option select spd block. Nothing beats that. the trick is to do a negative edge spd as they get up, ending in the back position. Because the spd has no whiff animation, if you can't throw them you will be left holding back. If you see them jump then you can lariat or s.lp to punish. getting around fireballs is a lot more complex, because for example there is no such thing as safely jumping over a sonic boom. Other fireballs like yoga fire can only be jumped up close. Most of the time I think you are better walking forward and blocking. As for punishing with lariat, it has no lower body invincibility and always looses to low attacks. Anyway reacting to the startup of a normal is a bad idea because it can be kara canceled into a dragon punch or something.
Banned User
Joined: 5/11/2004
Posts: 1049
so in SF II turbo (not CE) lariat is always vulnerable to low attacks? I'm not sure about that, and turbo lariat I think hits low and hit but is not invulnerable to anything. You can also move about twice as fast while doing a lariat. So start with reverse SPD, if jump move forward with lariat, I don't know if this can range everyone though, also you need to start outside of their throw range because don't they get a couple of frames to get the first throw when standing? Then some of the times he could wait until the last possible frame and move forward and do a turbo lariat, would knock down if human tried to jump or do any attack besides a few frame perfect specials, but if the human actual proves he can do such thing then it could never try that again. I've come to realize a human zangief could get his SPD in first when he's standing maybe (is this right?), So against Zangief it'd have to have an alternate more normal strategy that just plays super defensive and waits for an opening. I don't know how I'd feel about the bot that would NEVER attack when health bars are even...
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
Active player (292)
Joined: 12/16/2008
Posts: 458
Location: Houston
I was thinking ce, Hyper Fighting lariat doesn't hit crouchers tho and is never fully invincible. http://img232.imageshack.us/img232/6667/hsf2j0416081723.png Hyper fighting is no good for this kind of thing because it drops frames like crazy, you can never accurately do something within a frame of the opponent's wake up. It skips about every 6th frame with no discernible pattern, it's how they speed up the game.
also you need to start outside of their throw range because don't they get a couple of frames to get the first throw when standing?
no, but if both players attempt to throw at the same time the winner will be random, so if you are too close and they time it perfectly the spd will not always win, but yeah you can out range them. You can also do a meaty c.lp because it has 0 frames of recovery so if timed perfectly you can still block a dp, and then do spd right as they get out of block stun, and if the lp hits you can link into sweep. T Hawk can do the same thing but he has the benefit of option selecting dragon punch so he is better at catching jumpers then anything gief. something like this http://www.youtube.com/watch?v=ZBxyBXMZqbA
Banned User
Joined: 5/11/2004
Posts: 1049
wow, that was an awesome video. Ya Hawk is great, but S and ST weren't as good as CE and HF I'm pretty sure. What about HF with no turbo stars, still drop frames?
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
Banned User
Joined: 5/11/2004
Posts: 1049
I'm curious, what are the cheapest things you know that ken can do? that's who I play normally, would be nice to know for versus and a RTS I want to do eventually. I've found some nice ways to dizzy the AI are straight up jump, late roundhouse, D+MK, UF+roundhouse. Or, timed FP counter to fierce DP, but these aren't super consistent because the AI isn't predictable enough to me, yet... Then this either finishes or redizzies, I think it's the fastest way to deal damage too: cross-over late roundhouse to fierce hurricane kick, (fierce DP or FP to FDP) This seems like the easiest and best way to punish a dizzy in versus as well, is there anything better? I have seen slow fireball that goes just behind them, to F hurricane kick which the last kick knocks him back into the fireball, then you can do a 3-hit DP combo or something
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
Active player (292)
Joined: 12/16/2008
Posts: 458
Location: Houston
I didn't think hf had a turbo setting, if your talking about the snes port it's way different then the arcade version. yeah most characters can get a dizzy of a jump in, but it's pretty rare vs a good player. There is some randomness to dizzys in sf2 so some dizzy combos will sometimes dizzy early and sometimes not dizzy at all. as for ken he has a really nasty option select dp throw. http://www.youtube.com/watch?v=ttKIefT3C8k vs a some characters a well spaced lp dp is safe. and generally because he has the best dp in the game it's always a good idea to spam it. ken can do all the cps1 chains. c.lk, hp, dp is a good b&b combo and what you want to do if you hit with a c.lk. The way stun works in hf, after your first post dizzy hit there will be a countdown from 60 and during the count down the opponent won't take any stun, and afterwords he takes stun like normal. So basically the most important thing for a redizy is the length of the combo. Something like crossup j.hk, c.lk, c.lk, s.hp, dp normally takes long enough for the hp and dp to hit after the countdown and cause another dizzy.
Banned User
Joined: 5/11/2004
Posts: 1049
Interesting, any tips on how to get the c.lk to HP chain to work without them blocking the HP after eating the c.lk? and isn't D+HP better than HP, cause can't they just hold down+block and the HP will go over them? I've found cross-over spin-kick will hit 6 times always and make you land right next to them. I'm not sure if you chain the last hit into a lk or lp or dp, without them being to able to block or throw though, because you have to be at a certain height for the air spin-kick to work, I believe it's impossible to hit chun-li with an air spin-kick if she's standing. But a simple cross-over spin-kick to HDP will redizzy every time it seems.
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
Active player (292)
Joined: 12/16/2008
Posts: 458
Location: Houston
Spider-Waffle wrote:
Interesting, any tips on how to get the c.lk to HP chain to work without them blocking the HP after eating the c.lk? and isn't D+HP better than HP, cause can't they just hold down+block and the HP will go over them?
it's a cps1 chain. I wrote this a while ago, cps1 chains are the first one http://combovid.com/?p=1450 The horizontal range on a c.hp isn't as good and it has a slower startup. Plus in order to get it you have to chain from a s.lk witch isn't as good as a c.lk. Besides s.hp can hit crouches.
Spider-Waffle wrote:
I've found cross-over spin-kick will hit 6 times always and make you land right next to them. .
Ken's ground Hurricane kick is unsafe on hit, you should almost never use it. His air hurricane kick is better and can be linked after if you hit with the last hit and are close enough to the ground and land close to the opponent. But sometimes the last hit will miss and it becomes unsafe. What crossup setup are you talking about?
Spider-Waffle wrote:
because you have to be at a certain height for the air spin-kick to work
Only when landing, you can do it at any height on the way up, so you can do a combo like cross up j.hk, c.lk, c.lk, jump cancel nj. hk, air hurricane kick
Banned User
Joined: 5/11/2004
Posts: 1049
s.hp hits crouches? I'm kind of surprised, because it doesn't hit the car when the roof's been busted. So do the HK+HP both need to be inputed on the exact same frame? And I assume you need to input HK+HP during the 8 frame or so hit spark from the c.lk? Isn't that kind of hard to do that fast every time in real time, or is it not with some practice? I'm not talking ground hurricane, but just jumping over your opponent while he's getting up and doing a hurricane just on the other side of him; you do the motion like you've crossed over, but the hurricane keeps going the way you jumped while pushing your opponent that way with each hit, then you land back on the original side you jumped from usually if not always I think, and you're right next to him. It requires really good timing to connect on normal height characters, I think it's impossible against chun-li, and it's really easy against taller ones. If they block they eat 6 hits which is 12 slivers right? and they have to block backwards. If they're dizzy, they get hit 6 times, then you land right next to him and the last hurricane kick was a hit. My only concern is that you might be too high to land in time to chain. If you do it against normal height guys is this guaranteed to land in time? I understand if you do an air hurricane right after jump you can be very low to the ground and this is easy to chain with. So couldn't you just infinite chain with that then, since you can do c.lk to jump cancel hurricane? So what's the easiest way to a jump cancel combo with ken, what's the input?
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
Banned User
Joined: 5/11/2004
Posts: 1049
It seems like ken could be one of the nastiest AIs if done perfectly, since if I'm not mistaken by what you're saying, he should be able to finish any one by just landing a c.lk. Then he also has some great defensive abilities with DP and FB, pretty versatile, decent speed on land and air. Seems like it'd be pretty hard for T. Hawk to ever catch him messing up if he was played perfect.
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
Mitjitsu
He/Him
Banned User, Experienced player (532)
Joined: 4/24/2006
Posts: 2997
Ken does have the advantange of having the widest upper cut special in the game. However, the big problem I can see Ken having is Balrog. He can turn punch through his fireball and then barage him with punches (and biting).
MESHUGGAH
Other
Skilled player (1889)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
I think I should participate in such an AI competition for street fighter if someone would write down the conditions/competition informations. It would be funnier to make them compatible with AI vs AI (playing 2 player matches against the competitors' AI).
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Active player (292)
Joined: 12/16/2008
Posts: 458
Location: Houston
Spider-Waffle wrote:
So do the HK+HP both need to be inputed on the exact same frame? And I assume you need to input HK+HP during the 8 frame or so hit spark from the c.lk? Isn't that kind of hard to do that fast every time in real time, or is it not with some practice?
lk+hp, it's easy because it's a chain and not a link like other sf2 combos
If you do it against normal height guys is this guaranteed to land in time?
no, the last hit will often whiff
I understand if you do an air hurricane right after jump you can be very low to the ground and this is easy to chain with. So couldn't you just infinite chain with that then, since you can do c.lk to jump cancel hurricane?
no, it pushes you too far away if done mid combo.
So what's the easiest way to a jump cancel combo with ken, what's the input?
any character can cancel any chain-able light attack in any sf2 games with a jump. Just hold up when doing a chain, so lp, up lp. If he is in range ken wants to do a nj.hk
Mitjitsu wrote:
Ken does have the advantange of having the widest upper cut special in the game. However, the big problem I can see Ken having is Balrog. He can turn punch through his fireball and then barage him with punches (and biting).
turn punch isn't that good at fighting fireballs, it's really slow and only works at a few ranges. Main thing is that Ken destroys Balrog on wakeup, Balrog has no escape other then getting a lucky throw.
Banned User
Joined: 5/11/2004
Posts: 1049
Ya I think AI vs. AI competition would be great to see, I still vote for hf SNES port or CE. They're simple enough for this and many opinions as well as mine still the greatest fighting games ever made. They offered so much with so little, very elegant and very good. So to do a nj.HK (nj stands for no jump or what?) you need a cancelable attack, such as c.lk, c.HK, lp, HP to land or be blocked first, then press any jump direction and then HK to finish, or hurricane kick to finish? Does this require kara-canceling the attack where you press up 1-3 frames (what's the most it can be?) after the first attack? So I'm guessing by your response that HK+HP need to pressed on the exact same frame together to chain c.lk to HP? and why does that even make a chain because you can't even chain c.lk to c.HK or s.HK can you?
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
Active player (292)
Joined: 12/16/2008
Posts: 458
Location: Houston
Spider-Waffle wrote:
So to do a nj.HK (nj stands for no jump or what?) you need a cancelable attack, such as c.lk, c.HK, lp, HP to land or be blocked first, then press any jump direction and then HK to finish, or hurricane kick to finish? Does this require kara-canceling the attack where you press up 1-3 frames (what's the most it can be?) after the first attack?
nj stands for neutral jump, nj. hk is kens fastest air normal provided you hit with it before he extends his leg, it needs to be a chain able light attack that you cancel the jump from, all of kens light attacks are chainable. Your input should look like this, but with the last attack being a HK instead of a HP
Spider-Waffle wrote:
So I'm guessing by your response that HK+HP need to pressed on the exact same frame together to chain c.lk to HP? and why does that even make a chain because you can't even chain c.lk to c.HK or s.HK can you?
I don't know where you get HK+HP from, it's LK+HP the inputs look like C.lk, standing LK+HP or standing lk, C.lk+HP like this what you are doing is canceling the crouching lk into a standing lk but if you press a punch button at the same time the punch comes out instead. As for why it works, it's probably a glitch because it was removed from the cps2 games I can make a video to show you the kind of combos I'm talking about. EDIT It occurs to me that you may be talking about the terrible snes port. That would explain why I didn't understand what you meant by cross up hurricane kick, because his air hk works different. http://www.youtube.com/watch?v=6JaB_2blg_o#t=7m25s jump cancels are in it but not cps1 chains I think the best game for the challenge would be ce or hsf
Banned User
Joined: 5/11/2004
Posts: 1049
no cps1 chains? what does that include? so cps1 chains are in CE and hf on arcade? (What does cps1 stand for, it means all SF2 games right?) Also, I think you might be able to cancel c.lk to c.HK as an unblock-able combo, does this sounds right? I did it to my friend last night and asked him if was holding down-block the whole time, he said "I tried to"... I remember being able to link guile's lp to mp or hp when I was TASing a combo, but the input had to be on an exact frame I think.
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
Active player (292)
Joined: 12/16/2008
Posts: 458
Location: Houston
http://en.wikipedia.org/wiki/CPS-1 it's the type of arcade board sf2:ww, ce, hf are cps1 ssf2, st are cps2 hsf is cps2 but you can do cps1 chains with the older versions of the characters It get's confusing because O. guile has cps1 chains in some of the st ports guile's mp is completely different in the snes games I think, but guile can do lp, mp in the arcade games ken can do c.lk, s.hp or c.hk or c.hp but it's a one frame link not a chain also c.mp, c.hk is around a 3 frame link I think