Fighting Game A.I Sucks

Eh? That’s taking advantage of the AI limitations. Anybody can do that.

I’m talking about ST AI’s propensity for walking forward, throwing a sonic boom/maxout, then if you nullify that with a fireball he’d throw another boom/maxout. Or hurricane kick to hurricane kick combos. Or DJ walk into machine gun upper. Or being thrown from halfway across the screen. Or being caught in a choke hold… while jumping in. Or being killed by a 100% choke hold. Or crouching SKx8 to crouching roundhouse combo.

Show me who can do those.

WELL, i’ve been thinkin about this too, and I think one good idea is if the A.I learns combos from players. Combos are pretty easy. Mind games and setups would probably be a bit much to code and handle, but combos seem like an easy thing for the computer to learn.

Basically, it seems like the computer ai is preprogrammed for various combos with characters, as you can see whenever you play - it will do a basic air combo or what have you. So it should record how much damage that combo does. Whenever a player does a more damaging combo, it should replace its current one with the new, more damaging one.

For example, suppose a player lk lk rh ahvb x 3. the comp sees this and remembers it, and uses it next time.

Or comp sees the ROM infinite. Now it can store that for magneto. forget resets - that would be too hard to implement. just simple combo memorization for now

of course, to balance things out, give the computer a percentage - say 10%, of screwing a given combo up.

just think, it will learn combos from the players, and suddenly the computer sentinel is doing HSF semi infinite on you. FREAKIN AWESOME

Computers have finite memory. Think of chess programs. Theoretically, they can be made to remember every move and every counter on the planet, but memory is a constraint. Instead, chess programs are made to think only on several levels, or “remember” only basic plays.

In the case of fighting games, not only is memory a limiting factor, but so is the AI implementation. For example, yes the CPU can be taught to remember the necessary button presses and joystick movements to do a combo. No, it cannot be taught to recognize the situations in which to use them. And even if it could, it would still result in an AI which we loath – an AI that “reads” controls and reacts to them accordingly.

well i dont think memory would be that much of an issue. a combo would just be a list of commands that the comp reads off, at worst that’d take at most a coupla bytes, lets say 100. say it keeps an array of the 100 most damaging combos for each character (make sure it has a combo for each lk, lp, c. lk, c lp, j. lp etc…) 100 characters x 100 x 100 bytes would just be a megabyte, not anything to worry about.

chess the ai has does a search through the possibilies of a situation looking for the best move (okay i haven’t taken ai yet so this explanation is very vague forgive me). but combos are just preprogramed, cheap to store, so its easy for a computer to figure out. whenever it lands a given move, it can check its array to see what damaging combo it can land off of it and then go into it.

i dunno the marvel ai seems kinda tame and it’d be cool if the comp did all the cool sentinel unfly combos.

From all the SF games the only character that has a crazy hard AI is Akuma from ST (all the other SF games CPU AIs are not hard or in many cases: amazing dumb)

Think how fun it would be to mess up someone’s AI then. I mean, your kid brother/cousin/nephew just picks up MvC2. You start playing their game. Then you essentially “teach” it Magneto Infinites, Sentinel Fly/Unfly combos, IM infinite, AHVB x3 and guardbreaks all day long. They’ll be in for a surprise next time they play the game!

“Happy birthday kiddo! Here’s MvC2!”
“Wow! That’s so old-school! I can’t wait to try it!”

5 mins later…

“WHY CAN’T I BLOCK??!?!?!?”
:confused:

And MvC2- 1 Meg per character = 50-someodd megs for that game alone. GGPO, PS2 memory card.

I’m not getting the whole chess and finite memory thing.

I don’t know how chess programs are made, but I’m guessing that the reason they don’t have an array of all possible outcomes is because nobody wants to take the time to hardcode them. If anything, they probably just program the functionality of each piece and use recursion to check whatever possibilities they need.

For fighting games combos, you’d just have an index of moves, and when a move connects you check for moves that could be combo’ed.

And learning AI is never the answer. First of all, it’s too idealistic. It’s too much trouble for something that can easily be replaced by just having a friend. Second of all, the AI shouldn’t be the one learning. The player should be learning while the AI teaches.

Yeah,I think something should be done about that too man. It piss me off that the computer just simply reads my imput and parries like 3 or four variously time different variety attacks on 3rd Strike. It pisses me off when i’m fighting Ratio #3 Guile and he decides to Parry a s.mk into a Lv 3 Super Flash Kick.

Or even worse, in Third Strike, sometimes I’ll fend off a block string while crouching, wait there like 4-6 frames, try to jump away with a makeshift masterful comeback plan only to get tripped as soon as I let go of crouch because the CPU read that it was able to trip me. What the hell, there wasn’t even enough time to Parry that crap man.

Gil is cheap. Blocking an unparryable SA that fills the whole screen and still takes down about 1/4 of a Ken size life bar while still blocking is not going to teach anyone. Pfff.

Other than that, I love these games. I just wished I could get better training without wasting so much money!

well as far as inputs are concerned i don’t think the input would be the problem it would be the set up.

Just look at how small play backs on 3s is because it just records inputs.

All it would have to do is let’s say the person playing uses iron man and then let’s have a hidden trigger (i dont’ write code but bare with me)

let’s say that 60 is the damage that for iron man’s max combo.

let’s say that there is a temporary memory slot and it keeps track of all the inputs of a combo… if the combo meter stops it erases the inputs in the temporary memory slot but let’s say it has something like a trigger that after a combo does more than 60 damage it replaces the current combo (however if the person dhcs or something it will disreguard the combo since team members are situational obviously) anyways after you break 60 damage it copies the combo and replaces the combo that uses the same starter (let’s say the starter is s. rh) then it replaces the launcher combo with say… launch, down + hp, a/d down ect.

Really a much better idea would be to have a mode where you can teach it comboes and see the AI’s patterns and stuff and replace them and add your own (Record) and then play back to make sure it is doing it right… i know that 3s input play back system is flawed but if it is done right who knows that might be a decent idea.

Also look at mugen i think it takes pixels into consideration such as if the opponent is this much distance away or more it’s best to use this attack ect. for the AI.

the “learning” ai is a great idea.

whoever said ST’s AI is right.

You are simplifying things a little bit too much. Unlike chess, creating a search tree for the best outcome given the current state is not that simple, since you need other information besides what cancels what and what move can be linked with what move.

Why? A lot of things don’t just work that way. Some links can only happen under certain circumstances, including how meaty they are, if you got hit out of the first attack (cancelling recovery), the distance you are stepping on, character independent combos, etc.

Example: Chun Li’s meaty close standing fierce into crouching roundhouse in ST/Alpha. Close fierce normally cannot combo, but it will if you make it meaty enough. So in that case you would need to program the computer so it can do meaties. But then how do you know what meaties are good are not? How do you know that X move is a good meaty attack and Y is not? Maybe X has more priority (and therefore a better meaty), but maybe Y puts you in a better position if it hits. There are too many factors to consider other than frame data and hit box information.

This kind of things could be more doable using patches, but with consoles (assuming the XBox 2 won’t have a hard drive) and arcades that is not possible to do. Learning AI? You would need to create a whole routine that keeps track of what brances of the search tree are used the most, and then you would need a way to store the information you find out, and that needs writable storage, and that means added costs to get both the game and provide maintenance (since you now got an unusual component in your hardware)

Games have already had computers learn combinations. If you played Tekken 5 in the arcade, it would record the combinations you used if you had a card, and your ghost would use them when it juggled. It was very satisfying, and yet another reason the home version of Tekken 5 was such a dissapointment.

GGX2#R AI is annoying, too. It’ll block the quickest, most unpredictable high/low mixups, it’ll never fall for a crossup, and yet if you’re in the middle of a pressure string it’ll just decide to stop blocking and you’ll get a free combo. Or suddenly when you whip out your super, THAT’S when it decides to run towards you and it takes 25% damage… Not even the stupidest n00b would do that. Stupid AI!

You want frustrating A.I.? Art of Fighting 2. Worse than SSF2T.

The computer rolls dice to determine if it will block or charge in to your attacks.

Chess doesn’t record all moves because there’s too much to calculate/store…

It uses three things basically:

  1. Opening table (for very beginning, can go 20 or so moves deep depending on which lines are being played)
  2. Endgame table (for when there’s 6 or less pieces on the board, I think)
  3. Calculates out every possible move for both sides in flowchart style, ranks each position according to white/black advantage, and picks the move that yields the computer the best worst possible case. It’s more complicated than that, because it can be difficult for the AI to rank positions accurately according to all factors, and it also does alot of pruning in order to save time and calculate other paths deeper instead, but that’s basically it.

All this has nothing to with fighting games, because there’s no reason why the CPU can’t store a database of which combos work on which characters :stuck_out_tongue: And yeah, GGXX#R is annoying, especially since dusts never work on it even if it’s visually difficult to detect. Other problems involve the fact you can just rush at it and use the exact same block string on it in a row, since it’ll forget to block eventually, so there’s no point in varying your attacks. It also makes throws pointless, unless the AI just jumps next to you :stuck_out_tongue:

#R AI is indeed stupid. You can win it by standing still and mashing P, it just keeps dashing into it (Ky vs Sol).

(I tried the same in X2 and lost. :xeye:)

Mortal Kombat 2

Worst AI in a Fighting game is Mortal Kombat 2 for the SNES. I swear the only thing the computer could do is walk up and do Lft.P’s and maybe a sweep, crouching uppercuts if you descide to jump.

I just wish they would put online modes in the ps2 fighting games. If they can do it with Champions of Norath and Ratchet and Clank, surely they can do it with a two player fighting game. Even if it has to be broadband only. I don’t wanna pay the extra fee for x-box live and shouldn’t have to. That way we wouldn’t have to fight the stupid comp.

If by respectable you mean cheap as hell on anything other than normal, then yes. .Soul Calibur was very much that.

I never got around to the Tekken 5 arcade machine but I do know that if it was anything like the Soul Calibur II machine it recorded a few combinations and setups you used, but in no way was it a “copy” of the person playing.

And why would you be dissapointed? You expected namco to. . .somehow magically bring the arcade machine to your room so yo could play your Ai?