That's pretty fun, thanks for sharing ;) Actually with a machine learning approach it's not immediately obvious to me how to incorporate it. I suppose an RNN or reinforcement learning could be used, in principle, to learn good reactions to a given sequence from the opponent, but it would take so many failures to train it, which would have to be generated more or less manually. I don't see how it could be done easily,…
Colin McRae Rally 2.0 was released back in 2000 and used offline learning to train a driving model. Here's an interview with the engineer that made it: http://www.ai-junkie.com/misc/hannan/hannan.html In this modern day and age grabbing telemetry from multiplayer matches might be a good way of getting training data. Particularly for games that already measure player skill. For example creating AI for Hearthstone that…
Street Fighter II's AI Engine
61–70 of 88 posts
Re: Street Fighter II's AI Engine
#62> These days, when most people talk about AI they’re talking about machine learning. There’s not any of that in SF2. Actually, AI for games is pretty much never equivalent to AI for non-games. The end goal is different - games want to provide a non-optimal set of instructions, so that it's challenging but not impossible to win. The goals are entirely different. If you're making a game, this is probably at least a use…
Completely agree. Games are typically only "fun" when you feel challenged. Most people do not find "fun" in losing.
It's a complete misconception that "real AI" needs to be super hard. Give it realistic constraints like slow reaction times or noisy input. You can handicap it in many ways to control the difficulty. Modern chess engines can easily beat even the best players in the world. But by limiting the number of moves they search, you can set one up that new players can beat.
My favorite game AI is from age of empires 2. All other RTSes just let the AI cheat like crazy to provide challenge. For AoE2 they went to a lot of work to design an expert system and a custom scripting language for it. Tons of features were implemented to make it easy to write relatively sophisticated AI strategies. And they documented it well and made it easy for modders to write even better AI scripts.
As a result the AI on hardest can beat all but skilled competitive players without cheating at all (at least the current AI shipped with the steam version.) It's actually fun to play against and isn't a terrible substitute for a real human player.
Re: Street Fighter II's AI Engine
#63I wonder if knowing the different strategies would make pro-humans better at playing the game. I feel like they might already have internalized the different strategies the computer uses, but still pretty surprising to see how simple the source code is. Also cool to think about would be AI-vs-AI street fighter competitions. Or SF AI that learns from live matches currently being played online.
> AI-vs-AI street fighter competitions http://www.saltybet.com/ does just that.
Re: Street Fighter II's AI Engine
#64> These days, when most people talk about AI they’re talking about machine learning. There’s not any of that in SF2. Actually, AI for games is pretty much never equivalent to AI for non-games. The end goal is different - games want to provide a non-optimal set of instructions, so that it's challenging but not impossible to win. The goals are entirely different. If you're making a game, this is probably at least a use…
When I play a game I want the AI to be as close to another human as possible. That's why many AIs are laughed at for being tricked by really simple tactics (circling around a pilar so the AI follows you, putting something between you and the AI so they can't see you like in Skyrim's buckets, etc.).
Re: Street Fighter II's AI Engine
#65Earlier quoted context omitted.
Completely agree. Games are typically only "fun" when you feel challenged. Most people do not find "fun" in losing.
> Most people do not find "fun" in losing. Allow me to introduce you to a developer named https://en.wikipedia.org/wiki/FromSoftware ...
Re: Street Fighter II's AI Engine
#66Earlier quoted context omitted.
> Most people do not find "fun" in losing. Allow me to introduce you to a developer named https://en.wikipedia.org/wiki/FromSoftware ...
And if that's not good enough, there's the one whose game basically opens with 'Losing is fun!': http://dwarffortresswiki.org/index.php/DF2014:Losing
Although I understand Souls doesn't have permadeath, therefore it's probably only half the fun of Nethack.
__________
Re: Street Fighter II's AI Engine
#67> These days, when most people talk about AI they’re talking about machine learning. There’s not any of that in SF2. Actually, AI for games is pretty much never equivalent to AI for non-games. The end goal is different - games want to provide a non-optimal set of instructions, so that it's challenging but not impossible to win. The goals are entirely different. If you're making a game, this is probably at least a use…
Re: Street Fighter II's AI Engine
#68I 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 whic…
Re: Street Fighter II's AI Engine
#69I 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 whic…
Yeah, the MK2 AI isn't much fun. It's designed to eat quarters, not to provide a fair fight. :-/