AI talk


I was wondering: being that Street Fighter is a game which is basically a bunch of rules and the “answers” to every attack are more or less the same (basically, if a blocked attack has a recovery of 10 the enemy can attack with attacks which have a startup time of 10 or less or just keep blocking) why is that we don’t have a good AI?
I mean, it shouldn’t be so difficult to create a learning algoritm, feed it with the rules of the game and make it play on live until it learns the best ways to fight.
Then take the AI now experienced and put it in the next game (aka, use SF4’s online to build the AI and put the builded AI in SSF4) while still keeping the AI at work to learn and get better and put it everytime in the next game.
If you think about it, this would also limit a lot the cost of developing, being that the AI would basically “write itself”.


Because AIs which always make optimal decisions are not fun to play against.


An AI which stays there and gets raped easily at the highest difficulty isn’t fun either…
Anyway, what would be the difference between the optimal decision made by the AI and the optimal decision made by a pro gamer? Yet most of us love to play against pro gamers, because we can learn from them.
Why wouldn’t we want to play against an AI, then? It’s sure easier to learn at 60fps on your screen that on a video 320x240@24fps registered by a webcam and put on youtube…


Pro gamers don’t always play optimally. They make mistakes and take risks too. There’s a reason no two professional matches look exactly the same. A perfectly optimal AI would not have to do either.


Yet the optimal play is the thing at which the progamers aim and for which they train.
This would be “the perfect progamer”, and probably the best training ground for every player.


Except that the AI cheats… it KNOWS your inputs. Not only does it know what move you did, it knows the exact frame you do it and can react on that exact frame. If it acts optimally it will never drop a link combo. It will always know exactly what hitbox it can use to avoid your attack and hit you in return. It will never get baited or do something safe. It will always play on reaction and will still lack any sort of mind game. The biggest difference between playing the AI and playing a person is that the AI works purely on reaction while people work with mind games and setting moves up earlier in a match. You can condition people to block all day and then catch them with a tick throw. Against the sort of AI you want to build, it would ALWAYS tech the throw “on reaction”. It’s a fundamentally different way of playing.
Now, you could program the AI to mimic the behavior of top players. And I believe some games actually have that kind of system in place. I think that is mor worthwhile than just having a learning algorithm that optimizes its play.


3 possibilities:

  1. Then, what about setting some more rules on the basement over which the AI will self-learn? This way on one side we would have the advantages of the continuous self-optimization of the AI and on the other the mindgames of the human player.

  2. Set the learn algoritm and make it learn from the videos or replay’s of pro gamers. This way it would start learning from their way of playing.

  3. Set the learning algoritm in an agressive way, thus telling it “your purpose should be winning faster, the fastest you can”. This would lead the algoritm to start using long combos to do most damage possible and using safe attacks to attack you, because if it uses unsafe attacks gets punished.


Up. :slight_smile:


You obviously have no grasp of how to write an AI algorithm let alone a learning one. :clown:


We might might not have a good AI but we have a gay AI in Super Street Fighter 4. If you set it to the hard difficulties the computers that can do a shoryuken will instantly shoryuken you. All them shotos and more. Sometimes they are dumb and don’t DP you but most of the time you will. You can’t react to it as well and yes I know you’re going to be saying like, don’t jump then scrub and etc… But whatever. Making an insane AI is probably super hard. They might as well make it super hard until you can play to its level, but even this would be bad cause even pros sometimes would do some scrub tactics to get the advantage. By doing this it would catch their opponent off guard or such.


I, indeed, have no idea at all on how to write an AI.
That’s why I opened the thread and asked for your opinion. :slight_smile:

That’s why I proposed the idea of a self-learning, self-writing AI. You write the basis, and the rest is written by the AI itself, by playing. :slight_smile:


AI is a huge topic alone in software development (and many other things besides sw), is not easy to make, is not easy to reproduce and it takes a very long time to create one.
A learning AI, is another field much more complex, and for a video game is not even worth it yet.


We’re talking about games selling milions of copies here. Are you really sure it would not be worth spending a few milions for a learning AI which could be used in the future on every fighting game the company will create?


You have to factor in that no console can handle such an AI and I’d posit that no system ever built today can. You might as well find a way to clone and wire Daigo’s brain to your console (barring the fact that cloning doesn’t cary over memories/experience).


Ken on hardest is hilarious, all he does is SRKs… like mash dat shit out to whatever you do.