This was pretty insightful. I've programmed AI for action games, but now I'm doing some for a turn based game... It's a totally different beast. But I'm confident I'll get it working.
I've had the opportunity to work on the AI of three kart racing games, and here are my lessons: • Players will always think they cheat when they don't, and will think they do things on purpose when they don't, so don't worry too much about that. • Make them as good and as human as you can be, and then introduce errors such as the delay reaction mentioned here. • Focus on making them do human-like behavior. This is what players will remember, even if they don't see it often. If a good player saves their shield for a projectile, or saves a boost to take a shortcut, make them to exactly that, and you'll be amazed at the players' reactions.
As just a Player, not a dev yet, I feel like Racing game AI would be some of the hardest to make feel good. There's a difference in how players treat other Human Racers, and AI Racers, because when a Human beats you and gets 1st place, it's fine, because they're another person. They either raced better than you, or got luckier than you. You can just try and beat them next time. But when it's an AI that swipes 1st place, it's way more frustrating, because it's *not* another person. And players know that "rubberbanding" is a common trick devs use to try and make the AI seem like it's racing better than it actually is. It no longer feels earned that the AI was able to beat you in the race. Having unlock mechanics tied to doing well will also making losing to the AI sting that much more. Need for Speed: Undercover was the first game that I outright hated the AI, because that game had a "Domination" mechanic, where if you beat races in under a par time, you got a permanent stat upgrade for every single car for the rest of the game. The problem is, the AI racer's rubberbanding was so strong, that even if I was beating the par time by a full 30 seconds or more, the guy behind me could still end up passing me, and stealing 1st place right at the end, meaning I don't even get credit for the fact that I beat the par time.
What do you think of rubberbanding? For me, the presence of rubberbanding kind of kills the experience because it makes me feel like my performance doesn't matter in the end-that if I do exceptionally well my opponents wouldn't be much further behind than if I'd only been doing alright.
I really appreciate the adjustments made to CPU opponents in Ultimate, compared to previous games. Their added "reflex" time, for example, is very noticeable if you look for it, especially since they also seem to "anticipate" to an extent. For example, when a CPU player is trying to land from a great height (like after being launched straight up), you can jump in and threaten to intercept, and they might air-dodge as you come near, *before* you actually input any attack at all. In other words, you can bait them sometimes. Having them not just respond flawlessly the instant you actually make the input to attack, and potentially even being able to bait them by creating that threat is a detail I really enjoyed once I picked up on it. Serious props to whoever on the team contributed to making that happen! They won't always get baited, they may instead choose to attack in that moment, or they may not even do anything at all, but the fact they could opt for the committal defensive action in that situation very much emulates a human feeling pressure. I really like that. The point of aggression, too. In previous games, the CPU is very passive by comparison and combined with their instant reactions, they tended to perfect shield and dodge roll or spot-dodge excessively. There also wasn't a mechanic in place to punish that behaviour, so spamming defensive actions was fair game. That was never all that enjoyable to deal with. It felt very unnatural. The gist is, Ultimate's CPU behaviour is just really impressive and well-considered, in my opinion.
It was good bringing up the A.I acting confused by reversed controls in Smash Ultimate. I know that A.I aren't deterred by visual impairments, such as blackouts, like we are. So it feels like it's cheating, unless it's programmed to act like it can't see where it's going. Advance Wars is another good example of this when it comes to Fog of War. Human players have to see their targets first before they can attack them, but in the past titles, the A.I could see and shoot them as if it were clear weather. Thankfully, Advance Wars: Days of Ruin programmed the AI with Fog of War in mind, so they now need visual on the enemy units before attacking, and they may even bump into them just like a human player could.
It's why I hated fog of war in the older titles. The enemy knew exactly where I was... and could attack me freely with me going: "But there's no recons nearby!?" Of course these days I exploit the AI. But younger me hated it.
I notice that in Mario Kart (at least from Mario Kart 7 onwards if memory serves) that the AI slides left and right when they're effected by the Blooper item. Since the AI doesn't need to see to drive, the Blooper effect wouldn't do anything to them otherwise.
Wargroove didn't learn this about Fog of War and lets the AI cheat, with atrocious results... Days of Ruin was an amazing strategy game, and I'm sad it passed mostly under the radar.
what he says at 3:22 is absolutely true. i have fought hundreds of hours against cpus and more than once, when they die in a very specific or strange way, like a failed command grab or a gimp, they just stay in the spawn platform for a few seconds before jumping into fight
After the nightmare of trying to figure out how to make code for an RPG enemy that doesn't rely on RNG to make strategic moves, I can't imagine the insanity that goes into programming a fighting game CPU.
Thank you for the insights, Mr. Sakurai! I'm not a developer but QA, and this week while working on a bug report I also made some suggestions based on what I learned from your content. I super appreciate your contributions and lessons!
It is a shame that you are commonly not referred to as a developer. The software industry is relatively young but has grown so much and quickly yet manages to retain this weird tendency. 65+ years ago, if you used a computer, you were called a programmer, because that was the required interface. Please stop perpetuating these archaic ideals. How we "use" a computer has changed dramatically. How we "develop" software has changed dramatically. Programmers and testers are software developers with different skill sets and both are essential for *modern* software development.
This is definitely one of my favorite areas in terms of programming. To me it really does feel like bringing a character to life, giving it its own autonomy in a way, programming exactly how its supposed to react in any given situation.
Its true cause KOF 94 and 95, the AI tends to be smarter...and also cheat to make you lose. Same with Art of Fighting 2...the CPU is BRUTAL, even with the first opponent.
I LOVE the fact that this video Started with some old school KOF AI. I'm still an SNK/NeoGeo fan, it was Ruthless in taking your lunch/arcade money. But then again KOF 95' was one of Sakurai's main influences for making Smash if I remember correctly.
I highly recommend the 2002 GDC talk by the designers Chris Butcher and Jaime Griesemer, who worked at Bungie Studios on the Halo games on the matter of building believable and engaging artificial intelligence for NPCs/enemies in video games. The talk is called "The Illusion of Intelligence: The Integration and Level Design in Halo", and you can find it here on TH-cam.
The CPU's for Smash Ultimate in particular always fascinated me, they are the ones that feel the closest to real players compared to the last few titles from these small interactions or conditions. It makes them pretty entertaining to watch on their own, even when you have 7 of them with you in a match just seeing what they'll do. However, I'm more interested in how the Amiibo CPU works then. Without giving them upgrades, they're shown to be a bit more advanced going above most level 9s and performing actions expected from a player more convincingly. Though even with learning still enabled once they've reached level 50, I've noticed a level 9 Kazuya specifically tends to give them a bit of trouble lol
Thanks for sharing this Mr Sakurai! I know this issues well cause I noticed them in my games. Therefore I deliberately add delay and recovery time for enemies and bosses to give time for player to react and break.
Funnily enough, the point about CPUs not being great against players who sit and wait for them to approach is actually true for most real players as well.
Very true! Every time you are the one making the first move, your opponent (provided they recognize the move in time) gets the first opportunity to respond to it (while you are still in animation lock executing said move).
If you're the one fighting someone who's just standing still, the best option is usually to Grab or Throw them, since that goes through guards. Though of course, if you do it a lot, your opponent might start to catch on and attack you as you run in, instead.
@@TheMultiTasker3 Waiting for the other person to approach means less just standing around shielding, and more so moving, staying unpredictable and keeping your options open, sticking just beyond the opponent's range, and then hitting them when they try to come hit or grab you and miss. That's actually way safer counterplay to grabs than just attacking the other player before they grab you most of the time, though mixing it up there is crucial as well, of course.
I remember when I was a kid, I had a CPU tourney set up in Brawl, and as a joke I set one of them to LV1 difficulty and somehow the LV9 Donkey Kong could not handle the single braincell the Ness had and just kept killing itself and lost to a LV1 CPU.
With old arcade fighting games, the computer was made to imput read and perfect counter the player after some point, but they would get weaker when players put in more coins after losing
I think the craziest A.I. i ever witnessed was without a doubt, Godzilla Unleashed in story mode, the way the faction system is integrated with the A.I. is honestly insane, monsters know friend from foe thanks to this mechanic and it can change mid match depending on what we do and everything carries on to the following days, to thd point some monsters will even ignore mission objectives in situations where two monsters of different factions are supposed to work together, if one has a beef with another from something that happened in a previous mission he will attack it on the spot and completely ignore the mission objective. It's also very easy to communicate with the A.I. through body language. If you wanna tell a monster "i'm friend, help" all you have to do is perform a actions they percieve as friendly, for instance the Mechas of the global defense force will dislike you if you attack buildings and the military, but if you encounter them during a mission, helping him and fighting along side your faction points with them will go up. Even going down during a battle affects how factions see you and their overall behaviour, because the game doesn't always sees it as a loss but rather a no winners situation and it moves you to the next day. Such a cool concept. It's a shame the game was so broken when it launched, i really wanted to see a fixed, finished version of it to see how crazy everything would be.
It's things like this that make me really appreciate amiibo, in Smash Ultimate the different ways they can behave gives us a better idea of how the AI works.
I like to say there are (fundamentally) only two ways to implement a cpu player: 1 - The cpu player can only perform "controller"-level actions 2 - The cpu player can perform an action in an abstract/direct form To explain the difference, consider Ryu from Street Fighter 2: In the first example, the cpu must effectively *simulate the same inputs as a human player* would -- if it decides now's a good time for a Shoryuken, the cpu must transmit a valid sequence of "forward, down, down-forward, punch" through the game's internal input handler to initiate the action. This enables the rest of the game engine to verify that these are in fact valid inputs for the current gamestate, based on the rules of the game. But it's also a lot more complicated to implement... In the second example, the cpu can initiate an action simply by *setting the appropriate internal status* on their character, for the rest of the game engine to process normally. The problem with this approach is that by skipping the inputs required for a human to perform a given action, the cpu _may also_ be bypassing some of the rules governing when certain actions can even be performed at all. Imagine Ryu being able to Shoryuken _through blockstun_ because the cpu isn't programmed to "know" (or worse in some cases, care) that blockstun precludes a (human-controlled) character from performing actions. As pointed out by Sakurai's KOF footage, this can enable a cpu character to perform various actions under circumstances that would be outright impossible for a human player.
Thank you Sakurai San! I enjoy studying how the CPUs fight in smash and have even made my own systems inspired by them. I would love to be able to someday talk directly with the engineers about ideas of how to make things even more fun or realistic "feeling" - such as adding adaptive capabilities based on position and patterns alongside the data stored within attacks. I love how they perform in Smash Ultimate - they're extremely dynamic and fun to watch, even if I'm not playing!
Early Mortal Kombat games used to have extremely annoying CPUs to play against. You had to find what works and spam that or else you'd be destroyed. It used to be a very unpleasant experience.
I saw a video discussing the cpu's AI and they actually had decompiled (or source) code to analyze, and pointed out several _very_ hard-wired instructions in its set which would trigger based on a hidden "difficulty" value.
I think AI was what turned me off Bomberman. They always seemed to be perfectly aware of each bomb's position and exactly how big the explosion would be, making them feel impossible to beat.
It didn't have perfect dodging, it just seemed that way because a lot of us just sucked at ultimate, the cpu can actually get baited to dodge even if you throw no attacks
@@superbeta1716 ^^^ You can easily bait out an airdodge from the CPU's if you do something like an Uthrow and chase them in the air and quickly land they will air dodge EVERY SINGLE TIME the AI's in ultimate are seemingly trained to just airdodge all the time
Many years ago I read an article where the guy was talking about his system on how to get better at fighting games and would categorize the skill needed with DKART (Dexterity, knowledge, adaptation, reflex and timing). I think it would be a very good basis to design computer control characters.
One thing I appreciated about Starcraft 2 was when you set the difficulty for the AI, you could also allow it to cheat with things like letting it see the whole map
a pitfall I've seen in some shooters is that the team may sometimes create smart and realistic AI that uses advancing cover, covering fire, and proper flanking techniques in tandem to surround the player effectively... but for most players this is not fun to fight because they feel the AI is cheating, spawning right behind them, etc. Sometimes smart and realistic is not the way to go - fun comes first.
One of the more interesting solutions i've seen for this kind of thing is a per-agent decision table that was most famously used in the Original Wing Commander. Every AI had a weight assigned to certain actions, so when you got into a situation the game would effectivlet pull those values and roll weighted dice to determine what the Agent would do (for example, theres a class of fighters that almost always turns left when tailed, the game actually tells you this if you interact with your wingmen at Shotglass's bar!) This extended to your wingmen as well and would determine if they followed your orders or not. My favorite example is in the last mission I was trying to get my wingman to cover me but instead he gunned for the objective which turned out to be the right call! I actually wasnt mad when I realized I was actually covering him thr whole tome and it blew my mind that I was the Han solo to the AI's Luke Skywalker and it happened 100% organically That was one of the more "Human" feeling AI's i've played with, especually for a game that came out in 1990. Artistically its one of my favorites! (On a technical end its a tie vs F.E.A.R and an ARMA mod that I cant remember the name of that simulates a commander in the background which coordinates units logistics and the like to form a battle plan based on information his units are feeding him. F.E.A.R of course for its elegant "three steps and a plan" method, audio feedback, and level design) Not saying a decision table (or a commander or even "Three steps and a plan") can work in every project, remember there's no silver bullet! But these worked very well for their respective projects!
I remember watching an old Halo vidoc, and when it comes to enemy AI, one of the developers summed it up really well; "It's easy to make good AI, but it's hard to make fun AI." I'm not sure if that's the exact quote, but it was something akin to that. As Sakurai says at the end, Smash Ultimate could easily have perfect AI that reacts instantly with a perfect option everytime, but that doesn't make for a fun game, so you have to put in work to make the AI more fun and fair to fight against.
1:30 & 4:40 Just for fun, sometimes I do wish games had a perfect AI setting as some secret unlockable, just to mess around with and marvel at, as it utterly demolishes you and manipulates any instance of randomness to its advantage (like always getting the roll it needs in a Mario Party game) x) But yeah, I'm very glad the games I'm interested in making are relatively simple when it comes to their expected AI behaviors, like single-player, turn-based RPGs. Phases, simple conditions like "Oh, I'm below 50% HP, in 3 turns, I'll use the instant Game Over attack." x)
Perfect Dark has the DarkSim intelligence level. They always get headshots, they always move on a diagonal for extra speed and if you manage to catch them unarmed or with slow weapons they'll rapid fire punch and knock you unconscious. In Beta they were so fast they would emerge for cover for 1 frame, shoot you, and then retreat behind cover before you could counter attack. My friends and I would do 3 v 1 DarkSim coop games for "fun".
Might actually be interesting for one of those anti-piracy gimmicks, have a CPU which you literally cannot fight back because it'll always perfect-read you.
Ultimately, the CPUs are what a lot of players will be playing, and they need to be fun. However… If there was an optional, “level 10” CPU, I’m sure many would appreciate a computer opponent that also uses evasion and good defense like a human to win the match, even if it may seem less fun.
Honestly I think the CPU in Ultimate is really well made. I've noticed the human-like reaction time and depending on the level their tech chance is lower/higher. And they still can perform combos and set up spikes outside of the stage. In Smash 4 they always airdodged frame one, which made it super boring, but in Ultimate you can bait out an air dodge, and they'll even mix up with an airial too.
Funny how in Ultimate, CPUs actually do go crazy with dodging sometimes. If they're low HP and lives, I find that sometimes they'll just hop up and airdodge constantly, refusing to fight, just trying to survive...
I wouldn't mind a Cruel Smash that it's you against an invincible CPU, with the records being how long can you last against an invincible CPU rather than actually beating it. It would be so hyped to have an infinite symbol next to the 9 in the difficulty select. After 100% the game or something like that.
For attract mode demos, a common thing to do is to script or prerecord inputs so it feels like a human played the given situation; Super Mario World does this, for example, and IIRC I'm pretty sure Chrono Trigger scripts the intro sequence too. As for CPU control during game, I'm a fan of how the Fire Pro Wrestling series lets you set fine-grained action logic in the form of probability percentages during given situations - if in a strong front grapple, there's a 60% chance the CPU chooses to do a bear hug submission, for example - and Final Fantasy 12 was ahead of its time with the Gambit logic system.
I always found AI companions facinating for action/rpg games. you would have to program the players ally in a way where they can help you in situations, not completely overpowered to the point the game gets soloed without your help, but also not so weak that it would of been better if they wernt there. its even more daunting when the CPU ally is your partner in an RPG game. in miitopia, outside of yourself all your allies are CPU controlled, so the game has to be designed in a way where the CPU doesnt completely wall every enemy they fight, but not so stupid that its hindering a players enjoyment. I love seeing how developers impliment cpu allies. as it feels different per game.
Fighting game AI is one of the hardest things to do because making it better than a human player is trivially easy to do (as opposed to a game like chess or go where it took decades of study), because you can just give it perfect reflexes and have it counter everything a human does. But scaling back from "perfect" becomes a very hard problem since you want them to be beatable without it feeling like the computer just "let you win". They need to be flawed in a way that a human opponent would be and that's so much more complicated than just making the AI good at the game.
Optimal defense just needs to be possible to pierce. Of course, I was expecting this to be about CPU ALLIES, for which I have a game to bring up: Secret of Evermore for the SNES. Here's the list of things the CPU ally in Secret of Evermore can do that the human-controlled character absolutely can't: -Run without the Jaguar Ring being obtained -Run without any fatigue, instead continuing to recover/chargeup as if they weren't running -Start chargeup without throwing out an additional attack -Keep chargeup exactly at the desired level attack's required amount when reached even when a higher level attack is available All of these are actually good because it may be clear that the computer is not subject to control sanctions that we humans have to work around, but these are design points that involve gameplay with the effectiveness possible for human players to reasonably replicate with enough skill. This is on top of the CPU ally also having reliable reaction for some crazy passive ability, but I can tell you what we human players have: *creativity.* Secret of Evermore has the Dog excel at being the CPU ally, as he avoids the Boy's mission critical status and he has the stats to take on the more clearly dangerous threats like Raptors, and as the CPU ally, he's solid at using the chargeup attacks' pseudo intangibility that have limitations that conveniently get worked around. Your primary role when controlling the Boy ends up being to pick off targets like Carniflowers and Widowmakers who can wreck him with their utility methods. The brilliant part is when setting up these matchups isn't even strictly enforced for getting through the game, but IS still encouraged by healthy gameplay. You can see the Designing For Opportunity there. There's another game, called Battalion Wars, that also emphasizes player creativity, in the sense of giving power to the player in command of a military force rather than displaced with a canine companion in a foreign world. It does help that the game is more clearly built around directing your people with your orders and having their capability work with power in numbers, but even then, you can actually maneuver directly against key enemy defenses to highly disruptive effect. Secret of Evermore reminds you that you're doing what you can to survive, while Battalion Wars has you be playful against the goliaths you're up against. What they have in common is that you're still doing things that the CPU won't recognize to do unless the CPU is some supercomputer like Deep Blue, or more likely one that makes Deep Blue look like an elementary school project. I especially make these points because I can state in regard to the CPU in Kid Icarus Uprising multiplayer that as long as the perfect dodging issue is addressed, I think it would be acceptable for the CPU to have an extra Power for free, and that free Power can go ahead and potentially be something like Mega Laser or Super Speed even on setups with Slip Shot L2+ or Aries Armor. Against the CPU, I am not given reason to care what they have on their Power Grid. A human player is far more capable of making me glad that Mega Laser's long range attack, Super Speed's panic button capability, Slip Shot's terrain ignore buff, and Aries Armor's immense division defense are all involving a full line cost to clearly restrict what can be placed with them at all at the same time. Kid Icarus Uprising still has a lategame boss in single player (Pseudo Palutena) be susceptible enough to Joseph Joestarring as I've proven on multiple occasions. This sort of thing that the CPU isn't going to be entirely smart and thorough, which it doesn't have to be. It just has to fulfill an active role and we're good.
Nice overview. I always wondered why attract modes showed poor computer playing, lol. Or why some cpu's did feel like cheating. The last part about how to make an effective cpu was nice. I sometimes like to set my smash to cpy vs cpu and just watch
Ultimate Mortal Kombat 3. You get ripped to shreds when you get to the third CPU and then they take it easy on you. Even Shao Kahn and Motaro at the end were like this after you lost to them enough times.
I wish one of these fighting games would have a special "impossible" AI that you can choose that could instantly react and counter everything you do. Would be fun to see if a player could ever find an exploit to beat it.
I remember watching a video some time ago where they talked about how the CPU for the arcade version of Mortal Kombat 2 was specifically programmed to be almost impossible to beat once you got past a certain number of fighters no matter how good you were. For example, being able to interrupt the player's attacks and respond much faster than a human player could to retaliate against various special attacks. This was done intentionally because the developers wanted people to keep putting more quarters in the machine so they could make more money. After losing a match and putting another quarter in the machine, the CPU would reset to a more reasonable difficulty, but would gradually get harder to beat again. This would continue indefinitely. I hated this and it's one of the reasons Mortal Kombat 2 was my least favorite game up to that point, even though I didn't know the specifics of why, I could tell something was up because after winning three of four fights, the difficulty would spike and I would lose the next match almost every time. I understand they wanted their machines to make money, but this felt like cheating. Thank you for the informative video and stay safe out there!
Playing against a cpu is so much fun! I don't see much of a difference in a lvl 9 cpu in Ultimate, but I definitely do see it in a lvl 1. Lvl 1's are more annoying now.
I’ve seen a few people try to create AI in their games through Deep Learning techniques, but the result is often janky. You can achieve a rather “intelligent” seeming AI by creating a system that follows a few logical rules. Basically, you try to define the actions the AI needs to perform and arrange the rules in a hierarchy. You might think that “self-preservation” would be at the top of this list, but as Sakurai says, it’s more about creating a fun experience for the player, so usually the initial goal for the AI is to set itself up in a position where it can attack the player, but the player can also attack it. Generally speaking, the player should be able to outrun enemies, both so they can flee or chase down a foe as necessary. For example, I created a simple 2D combat AI for a Zelda 2 style game which follows these rules; 1 - If you are too far from the player to hit them, move towards them. 2 - If you are too close to the player, back up, or run past them to the other side, whichever is closer. 3 - If you are within optimal range of the player, initiate an attack. There is a telegraph on this attack which gives the player the opportunity to avoid damage as well as a vulnerability window afterwards which affords the player a chance to counterattack. 4 - If you detect an impending attack (and aren’t frozen by your vulnerability window), try to leave the bounds of the hitbox before you take damage. These simple rules encourage a defensive strategy from the player to get close enough to bait an enemy attack, then initiate a counterattack. However, this won’t always be so easy to perform, because I also added an “enraged” state once the enemy goes below half health which reduces their reaction time. If you’re curious to try the game, it’s on my Itchio profile under the name “Goat Boss”.
When Ultimate came out, people where getting destroyed by the new challengers CPU 😅 Also with some newer DLC characters liky Pyra/Mythra and Kazuya the cpu had some combos people did not expect
When I play games, 95% of the time it's against the AI. This includes all of the Super Smash Bros. games and Mario sports/party titles. One can say that playing against computer-controlled opponents doesn't make a player "great" at a video game; even on the highest level, AI opponents have exploits that human players can decipher. Fortunately, I don't play videogames all that seriously. When playing against AI, I typically like to keep the difficulty at an average level. In Smash, that means I usually fight against Level 3 CPUs. Now and again, I might test my skill against Level 9 opponents with no items on Omega form stages. Otherwise, I just like goofing around with mildly simple opponents for the sake of gaming amusement. Insightful video, Mr. Sakurai.
Making working cpus must be really hard. on the other side lvl9 cpus sometimes feels like they parry any attack and sometimes just sd themself. An they doing irrational choicess. lvl 10 would be interesting what could really be a broken.
This reminds me of Mortal Kombat 2, and how bullshit that game's CPU could be. The second you pressed any button, they would immediately react. It made for some truly frustrating single player experiences.
What always made me rage playing against CPU was the fact that any time I would win, I realized they COULD play perfectly, but they are programmed to give me a chance.
I'm pretty sure the FGC characters have higher parry rates than normal level 9 CPUs. I'd like to be able to fight some super unfair CPU that has perfect parries all the time just for the shock factor
Anybody ever hold all three buttons on sonic 1's title screen to make him play worse in the demo? Some people call it the drunk sonic glitch, which I think sums it up pretty well. It's surreal to see him lose rings or even die before you even boot into the game lmao.
Would it be possible using machine learning for future titles so that the CPU will not know an opponent's capabilities until they're actually used and then adapt? I feel like that would make the most sense for things like RTS or fighting games, where strategy can change on the fly. Would even the most simplest engine take up too many resources?
Considering I come from playing a racing game made by some Sonic fans... yeah... they need to work on the AI cause' it just doesn't end up being fun at all when the CPU players just cheat and sometimes obtain better items than they would be allowed to get normally.
This was insight into how amiibo work. They’re so bad at movement and I can beta them easily by playing passively. I always wondered why but now I understand how the machine processes data. It doesn’t even have eyes! I wonder how one would even begin to refine the AI to make it truly engaging for highly skilled smash players b
Este video me recordó las palizas que puedes recibir de la CPU si juegas al KOF 95 en la dificultad más alta. Lo bueno es que su versión de PSX es más fácil, divertida y menos frustrante. 😅
Sakurai-san, I would love to see you cover a feature at Fire Pro Wrestling games where we can design CPU logic when our created wrestler behaves according to set of CPU logic we adjust as a feature. Because, well, it is so much fun to see CPU vs CPU in FPW games.
This was pretty insightful. I've programmed AI for action games, but now I'm doing some for a turn based game... It's a totally different beast. But I'm confident I'll get it working.
Have you considered making Paperboy RPG?
I've had the opportunity to work on the AI of three kart racing games, and here are my lessons:
• Players will always think they cheat when they don't, and will think they do things on purpose when they don't, so don't worry too much about that.
• Make them as good and as human as you can be, and then introduce errors such as the delay reaction mentioned here.
• Focus on making them do human-like behavior. This is what players will remember, even if they don't see it often. If a good player saves their shield for a projectile, or saves a boost to take a shortcut, make them to exactly that, and you'll be amazed at the players' reactions.
As just a Player, not a dev yet, I feel like Racing game AI would be some of the hardest to make feel good. There's a difference in how players treat other Human Racers, and AI Racers, because when a Human beats you and gets 1st place, it's fine, because they're another person. They either raced better than you, or got luckier than you. You can just try and beat them next time.
But when it's an AI that swipes 1st place, it's way more frustrating, because it's *not* another person. And players know that "rubberbanding" is a common trick devs use to try and make the AI seem like it's racing better than it actually is. It no longer feels earned that the AI was able to beat you in the race.
Having unlock mechanics tied to doing well will also making losing to the AI sting that much more. Need for Speed: Undercover was the first game that I outright hated the AI, because that game had a "Domination" mechanic, where if you beat races in under a par time, you got a permanent stat upgrade for every single car for the rest of the game. The problem is, the AI racer's rubberbanding was so strong, that even if I was beating the par time by a full 30 seconds or more, the guy behind me could still end up passing me, and stealing 1st place right at the end, meaning I don't even get credit for the fact that I beat the par time.
That's really cool! Are you able to say any of the games you worked on? I'd love to play a kart racer with such detailed AI. :)
What do you think of rubberbanding? For me, the presence of rubberbanding kind of kills the experience because it makes me feel like my performance doesn't matter in the end-that if I do exceptionally well my opponents wouldn't be much further behind than if I'd only been doing alright.
I really appreciate the adjustments made to CPU opponents in Ultimate, compared to previous games. Their added "reflex" time, for example, is very noticeable if you look for it, especially since they also seem to "anticipate" to an extent. For example, when a CPU player is trying to land from a great height (like after being launched straight up), you can jump in and threaten to intercept, and they might air-dodge as you come near, *before* you actually input any attack at all. In other words, you can bait them sometimes. Having them not just respond flawlessly the instant you actually make the input to attack, and potentially even being able to bait them by creating that threat is a detail I really enjoyed once I picked up on it. Serious props to whoever on the team contributed to making that happen!
They won't always get baited, they may instead choose to attack in that moment, or they may not even do anything at all, but the fact they could opt for the committal defensive action in that situation very much emulates a human feeling pressure. I really like that.
The point of aggression, too. In previous games, the CPU is very passive by comparison and combined with their instant reactions, they tended to perfect shield and dodge roll or spot-dodge excessively. There also wasn't a mechanic in place to punish that behaviour, so spamming defensive actions was fair game. That was never all that enjoyable to deal with. It felt very unnatural. The gist is, Ultimate's CPU behaviour is just really impressive and well-considered, in my opinion.
It was good bringing up the A.I acting confused by reversed controls in Smash Ultimate. I know that A.I aren't deterred by visual impairments, such as blackouts, like we are. So it feels like it's cheating, unless it's programmed to act like it can't see where it's going.
Advance Wars is another good example of this when it comes to Fog of War. Human players have to see their targets first before they can attack them, but in the past titles, the A.I could see and shoot them as if it were clear weather. Thankfully, Advance Wars: Days of Ruin programmed the AI with Fog of War in mind, so they now need visual on the enemy units before attacking, and they may even bump into them just like a human player could.
It's why I hated fog of war in the older titles. The enemy knew exactly where I was... and could attack me freely with me going: "But there's no recons nearby!?"
Of course these days I exploit the AI. But younger me hated it.
I notice that in Mario Kart (at least from Mario Kart 7 onwards if memory serves) that the AI slides left and right when they're effected by the Blooper item. Since the AI doesn't need to see to drive, the Blooper effect wouldn't do anything to them otherwise.
@@flarestorm9417Ironically making Bloopers more useful against AI than most players.
Wargroove didn't learn this about Fog of War and lets the AI cheat, with atrocious results... Days of Ruin was an amazing strategy game, and I'm sad it passed mostly under the radar.
@@nekkowe Yeah, Days of Ruin is criminally underrated. It's probably the best Advance Wars game.
what he says at 3:22 is absolutely true. i have fought hundreds of hours against cpus and more than once, when they die in a very specific or strange way, like a failed command grab or a gimp, they just stay in the spawn platform for a few seconds before jumping into fight
hilariously humans do this too
Sometimes they dashdance after a kill, that always makes me laugh
I've noticed the CPUs almost always do the wait when they died at the same time as the human player!
After the nightmare of trying to figure out how to make code for an RPG enemy that doesn't rely on RNG to make strategic moves, I can't imagine the insanity that goes into programming a fighting game CPU.
I bet the Radical Red rom hack was a nightmare to reprogramming the AI choice.
Thank you for the insights, Mr. Sakurai! I'm not a developer but QA, and this week while working on a bug report I also made some suggestions based on what I learned from your content. I super appreciate your contributions and lessons!
It is a shame that you are commonly not referred to as a developer. The software industry is relatively young but has grown so much and quickly yet manages to retain this weird tendency. 65+ years ago, if you used a computer, you were called a programmer, because that was the required interface. Please stop perpetuating these archaic ideals. How we "use" a computer has changed dramatically. How we "develop" software has changed dramatically. Programmers and testers are software developers with different skill sets and both are essential for *modern* software development.
This is definitely one of my favorite areas in terms of programming. To me it really does feel like bringing a character to life, giving it its own autonomy in a way, programming exactly how its supposed to react in any given situation.
The KOF example had me laughing
Its true cause KOF 94 and 95, the AI tends to be smarter...and also cheat to make you lose.
Same with Art of Fighting 2...the CPU is BRUTAL, even with the first opponent.
@@FarstarloverFor REAL
such is the old school fighting game single player arcade experience... these games are designed to drain you of Quarters hahahaha!
KOF is for good boys and girls
I LOVE the fact that this video Started with some old school KOF AI. I'm still an SNK/NeoGeo fan, it was Ruthless in taking your lunch/arcade money. But then again KOF 95' was one of Sakurai's main influences for making Smash if I remember correctly.
I highly recommend the 2002 GDC talk by the designers Chris Butcher and Jaime Griesemer, who worked at Bungie Studios on the Halo games on the matter of building believable and engaging artificial intelligence for NPCs/enemies in video games. The talk is called "The Illusion of Intelligence: The Integration and Level Design in Halo", and you can find it here on TH-cam.
What a good way to start a morning
Deadass, it's 6:07 over here, Even if college is on My shoulders, i'm enjoying life rn haha
It’s 1 pm
EST gang having a good morning i see
The CPU's for Smash Ultimate in particular always fascinated me, they are the ones that feel the closest to real players compared to the last few titles from these small interactions or conditions. It makes them pretty entertaining to watch on their own, even when you have 7 of them with you in a match just seeing what they'll do.
However, I'm more interested in how the Amiibo CPU works then. Without giving them upgrades, they're shown to be a bit more advanced going above most level 9s and performing actions expected from a player more convincingly. Though even with learning still enabled once they've reached level 50, I've noticed a level 9 Kazuya specifically tends to give them a bit of trouble lol
Thanks for sharing this Mr Sakurai! I know this issues well cause I noticed them in my games. Therefore I deliberately add delay and recovery time for enemies and bosses to give time for player to react and break.
So that's how the CPUCS Tournaments were entertaining as they were
Glad to know I wasn't the only one doing that.
@@TheOrian34 Good series
Funnily enough, the point about CPUs not being great against players who sit and wait for them to approach is actually true for most real players as well.
Very true! Every time you are the one making the first move, your opponent (provided they recognize the move in time) gets the first opportunity to respond to it (while you are still in animation lock executing said move).
If you're the one fighting someone who's just standing still, the best option is usually to Grab or Throw them, since that goes through guards.
Though of course, if you do it a lot, your opponent might start to catch on and attack you as you run in, instead.
@@TheMultiTasker3 Waiting for the other person to approach means less just standing around shielding, and more so moving, staying unpredictable and keeping your options open, sticking just beyond the opponent's range, and then hitting them when they try to come hit or grab you and miss. That's actually way safer counterplay to grabs than just attacking the other player before they grab you most of the time, though mixing it up there is crucial as well, of course.
I remember when I was a kid, I had a CPU tourney set up in Brawl, and as a joke I set one of them to LV1 difficulty and somehow the LV9 Donkey Kong could not handle the single braincell the Ness had and just kept killing itself and lost to a LV1 CPU.
With old arcade fighting games, the computer was made to imput read and perfect counter the player after some point, but they would get weaker when players put in more coins after losing
So that's why Ultimate CPUs are so crazy. Love it. More Smash info! They should have added a level 10 though.
Don't give them ideas please. I hate losing on videogames 😩
I think the craziest A.I. i ever witnessed was without a doubt, Godzilla Unleashed in story mode, the way the faction system is integrated with the A.I. is honestly insane, monsters know friend from foe thanks to this mechanic and it can change mid match depending on what we do and everything carries on to the following days, to thd point some monsters will even ignore mission objectives in situations where two monsters of different factions are supposed to work together, if one has a beef with another from something that happened in a previous mission he will attack it on the spot and completely ignore the mission objective.
It's also very easy to communicate with the A.I. through body language. If you wanna tell a monster "i'm friend, help" all you have to do is perform a actions they percieve as friendly, for instance the Mechas of the global defense force will dislike you if you attack buildings and the military, but if you encounter them during a mission, helping him and fighting along side your faction points with them will go up. Even going down during a battle affects how factions see you and their overall behaviour, because the game doesn't always sees it as a loss but rather a no winners situation and it moves you to the next day.
Such a cool concept. It's a shame the game was so broken when it launched, i really wanted to see a fixed, finished version of it to see how crazy everything would be.
It's things like this that make me really appreciate amiibo, in Smash Ultimate the different ways they can behave gives us a better idea of how the AI works.
I like to say there are (fundamentally) only two ways to implement a cpu player:
1 - The cpu player can only perform "controller"-level actions
2 - The cpu player can perform an action in an abstract/direct form
To explain the difference, consider Ryu from Street Fighter 2:
In the first example, the cpu must effectively *simulate the same inputs as a human player* would -- if it decides now's a good time for a Shoryuken, the cpu must transmit a valid sequence of "forward, down, down-forward, punch" through the game's internal input handler to initiate the action. This enables the rest of the game engine to verify that these are in fact valid inputs for the current gamestate, based on the rules of the game. But it's also a lot more complicated to implement...
In the second example, the cpu can initiate an action simply by *setting the appropriate internal status* on their character, for the rest of the game engine to process normally. The problem with this approach is that by skipping the inputs required for a human to perform a given action, the cpu _may also_ be bypassing some of the rules governing when certain actions can even be performed at all. Imagine Ryu being able to Shoryuken _through blockstun_ because the cpu isn't programmed to "know" (or worse in some cases, care) that blockstun precludes a (human-controlled) character from performing actions. As pointed out by Sakurai's KOF footage, this can enable a cpu character to perform various actions under circumstances that would be outright impossible for a human player.
Thank you Sakurai San! I enjoy studying how the CPUs fight in smash and have even made my own systems inspired by them. I would love to be able to someday talk directly with the engineers about ideas of how to make things even more fun or realistic "feeling" - such as adding adaptive capabilities based on position and patterns alongside the data stored within attacks. I love how they perform in Smash Ultimate - they're extremely dynamic and fun to watch, even if I'm not playing!
Ah, CPUs... what would we do without you?
All that aside, this is genuinely insightful in regards to how CPUs work!
Early Mortal Kombat games used to have extremely annoying CPUs to play against. You had to find what works and spam that or else you'd be destroyed. It used to be a very unpleasant experience.
I saw a video discussing the cpu's AI and they actually had decompiled (or source) code to analyze, and pointed out several _very_ hard-wired instructions in its set which would trigger based on a hidden "difficulty" value.
I think AI was what turned me off Bomberman. They always seemed to be perfectly aware of each bomb's position and exactly how big the explosion would be, making them feel impossible to beat.
I remember when Smash Ultimate came out, the CPU had an insane skill level comboing and perfect dodging lol
I am pretty sure it is still the same CPU I just think they nerfed what level the challenger approaching CPU's are
It didn't have perfect dodging, it just seemed that way because a lot of us just sucked at ultimate, the cpu can actually get baited to dodge even if you throw no attacks
@@superbeta1716 ^^^
You can easily bait out an airdodge from the CPU's if you do something like an Uthrow and chase them in the air and quickly land they will air dodge EVERY SINGLE TIME the AI's in ultimate are seemingly trained to just airdodge all the time
Many years ago I read an article where the guy was talking about his system on how to get better at fighting games and would categorize the skill needed with DKART (Dexterity, knowledge, adaptation, reflex and timing). I think it would be a very good basis to design computer control characters.
Sakurai’s love for KoF seems so apparent in hindsight, I’m surprised no one saw it sooner.
One thing I appreciated about Starcraft 2 was when you set the difficulty for the AI, you could also allow it to cheat with things like letting it see the whole map
a pitfall I've seen in some shooters is that the team may sometimes create smart and realistic AI that uses advancing cover, covering fire, and proper flanking techniques in tandem to surround the player effectively... but for most players this is not fun to fight because they feel the AI is cheating, spawning right behind them, etc.
Sometimes smart and realistic is not the way to go - fun comes first.
One of the more interesting solutions i've seen for this kind of thing is a per-agent decision table that was most famously used in the Original Wing Commander. Every AI had a weight assigned to certain actions, so when you got into a situation the game would effectivlet pull those values and roll weighted dice to determine what the Agent would do (for example, theres a class of fighters that almost always turns left when tailed, the game actually tells you this if you interact with your wingmen at Shotglass's bar!) This extended to your wingmen as well and would determine if they followed your orders or not.
My favorite example is in the last mission I was trying to get my wingman to cover me but instead he gunned for the objective which turned out to be the right call! I actually wasnt mad when I realized I was actually covering him thr whole tome and it blew my mind that I was the Han solo to the AI's Luke Skywalker and it happened 100% organically
That was one of the more "Human" feeling AI's i've played with, especually for a game that came out in 1990. Artistically its one of my favorites! (On a technical end its a tie vs F.E.A.R and an ARMA mod that I cant remember the name of that simulates a commander in the background which coordinates units logistics and the like to form a battle plan based on information his units are feeding him. F.E.A.R of course for its elegant "three steps and a plan" method, audio feedback, and level design)
Not saying a decision table (or a commander or even "Three steps and a plan") can work in every project, remember there's no silver bullet! But these worked very well for their respective projects!
Personally, the CPUs in SSBU have always seemed very well done to me, great work !
Really nice getting some insight on this.
I remember watching an old Halo vidoc, and when it comes to enemy AI, one of the developers summed it up really well; "It's easy to make good AI, but it's hard to make fun AI." I'm not sure if that's the exact quote, but it was something akin to that. As Sakurai says at the end, Smash Ultimate could easily have perfect AI that reacts instantly with a perfect option everytime, but that doesn't make for a fun game, so you have to put in work to make the AI more fun and fair to fight against.
1:30 & 4:40
Just for fun, sometimes I do wish games had a perfect AI setting as some secret unlockable, just to mess around with and marvel at, as it utterly demolishes you and manipulates any instance of randomness to its advantage (like always getting the roll it needs in a Mario Party game) x)
But yeah, I'm very glad the games I'm interested in making are relatively simple when it comes to their expected AI behaviors, like single-player, turn-based RPGs. Phases, simple conditions like "Oh, I'm below 50% HP, in 3 turns, I'll use the instant Game Over attack." x)
Perfect Dark has the DarkSim intelligence level. They always get headshots, they always move on a diagonal for extra speed and if you manage to catch them unarmed or with slow weapons they'll rapid fire punch and knock you unconscious. In Beta they were so fast they would emerge for cover for 1 frame, shoot you, and then retreat behind cover before you could counter attack. My friends and I would do 3 v 1 DarkSim coop games for "fun".
Might actually be interesting for one of those anti-piracy gimmicks, have a CPU which you literally cannot fight back because it'll always perfect-read you.
Or you could go full Doom Bots of Doom and give the AI broken attacks on top of the perfect awareness
Wow, first Pchal puts out a video on A.I. and now this. Synchronicity
Ultimately, the CPUs are what a lot of players will be playing, and they need to be fun. However…
If there was an optional, “level 10” CPU, I’m sure many would appreciate a computer opponent that also uses evasion and good defense like a human to win the match, even if it may seem less fun.
Having CPUs that fight more like humans would only be MORE fun, don't you think?
Honestly I think the CPU in Ultimate is really well made. I've noticed the human-like reaction time and depending on the level their tech chance is lower/higher. And they still can perform combos and set up spikes outside of the stage. In Smash 4 they always airdodged frame one, which made it super boring, but in Ultimate you can bait out an air dodge, and they'll even mix up with an airial too.
I hope we get more on this topic!
Funny how in Ultimate, CPUs actually do go crazy with dodging sometimes. If they're low HP and lives, I find that sometimes they'll just hop up and airdodge constantly, refusing to fight, just trying to survive...
I wouldn't mind a Cruel Smash that it's you against an invincible CPU, with the records being how long can you last against an invincible CPU rather than actually beating it.
It would be so hyped to have an infinite symbol next to the 9 in the difficulty select. After 100% the game or something like that.
For attract mode demos, a common thing to do is to script or prerecord inputs so it feels like a human played the given situation; Super Mario World does this, for example, and IIRC I'm pretty sure Chrono Trigger scripts the intro sequence too.
As for CPU control during game, I'm a fan of how the Fire Pro Wrestling series lets you set fine-grained action logic in the form of probability percentages during given situations - if in a strong front grapple, there's a 60% chance the CPU chooses to do a bear hug submission, for example - and Final Fantasy 12 was ahead of its time with the Gambit logic system.
Sakurai has just given us the keys to defeat all Smash Bros AI foes!!! THANK YOU DADDY SAKURAI!!!
I always found AI companions facinating for action/rpg games. you would have to program the players ally in a way where they can help you in situations, not completely overpowered to the point the game gets soloed without your help, but also not so weak that it would of been better if they wernt there.
its even more daunting when the CPU ally is your partner in an RPG game. in miitopia, outside of yourself all your allies are CPU controlled, so the game has to be designed in a way where the CPU doesnt completely wall every enemy they fight, but not so stupid that its hindering a players enjoyment.
I love seeing how developers impliment cpu allies. as it feels different per game.
Fighting game AI is one of the hardest things to do because making it better than a human player is trivially easy to do (as opposed to a game like chess or go where it took decades of study), because you can just give it perfect reflexes and have it counter everything a human does. But scaling back from "perfect" becomes a very hard problem since you want them to be beatable without it feeling like the computer just "let you win". They need to be flawed in a way that a human opponent would be and that's so much more complicated than just making the AI good at the game.
Whenever I think of advanced AI in gaming, the soilders in F.E.A.R. come immediately to mind.
My favorite weird Smash AI thing is how Melee Pikachu always taunts you after you KO it.
Optimal defense just needs to be possible to pierce. Of course, I was expecting this to be about CPU ALLIES, for which I have a game to bring up: Secret of Evermore for the SNES.
Here's the list of things the CPU ally in Secret of Evermore can do that the human-controlled character absolutely can't:
-Run without the Jaguar Ring being obtained
-Run without any fatigue, instead continuing to recover/chargeup as if they weren't running
-Start chargeup without throwing out an additional attack
-Keep chargeup exactly at the desired level attack's required amount when reached even when a higher level attack is available
All of these are actually good because it may be clear that the computer is not subject to control sanctions that we humans have to work around, but these are design points that involve gameplay with the effectiveness possible for human players to reasonably replicate with enough skill. This is on top of the CPU ally also having reliable reaction for some crazy passive ability, but I can tell you what we human players have: *creativity.*
Secret of Evermore has the Dog excel at being the CPU ally, as he avoids the Boy's mission critical status and he has the stats to take on the more clearly dangerous threats like Raptors, and as the CPU ally, he's solid at using the chargeup attacks' pseudo intangibility that have limitations that conveniently get worked around. Your primary role when controlling the Boy ends up being to pick off targets like Carniflowers and Widowmakers who can wreck him with their utility methods. The brilliant part is when setting up these matchups isn't even strictly enforced for getting through the game, but IS still encouraged by healthy gameplay. You can see the Designing For Opportunity there.
There's another game, called Battalion Wars, that also emphasizes player creativity, in the sense of giving power to the player in command of a military force rather than displaced with a canine companion in a foreign world. It does help that the game is more clearly built around directing your people with your orders and having their capability work with power in numbers, but even then, you can actually maneuver directly against key enemy defenses to highly disruptive effect. Secret of Evermore reminds you that you're doing what you can to survive, while Battalion Wars has you be playful against the goliaths you're up against. What they have in common is that you're still doing things that the CPU won't recognize to do unless the CPU is some supercomputer like Deep Blue, or more likely one that makes Deep Blue look like an elementary school project.
I especially make these points because I can state in regard to the CPU in Kid Icarus Uprising multiplayer that as long as the perfect dodging issue is addressed, I think it would be acceptable for the CPU to have an extra Power for free, and that free Power can go ahead and potentially be something like Mega Laser or Super Speed even on setups with Slip Shot L2+ or Aries Armor. Against the CPU, I am not given reason to care what they have on their Power Grid. A human player is far more capable of making me glad that Mega Laser's long range attack, Super Speed's panic button capability, Slip Shot's terrain ignore buff, and Aries Armor's immense division defense are all involving a full line cost to clearly restrict what can be placed with them at all at the same time. Kid Icarus Uprising still has a lategame boss in single player (Pseudo Palutena) be susceptible enough to Joseph Joestarring as I've proven on multiple occasions. This sort of thing that the CPU isn't going to be entirely smart and thorough, which it doesn't have to be. It just has to fulfill an active role and we're good.
The most important aspect is that, a good AI, is not a smart AI. It's an entertaining one.
Nice overview. I always wondered why attract modes showed poor computer playing, lol. Or why some cpu's did feel like cheating. The last part about how to make an effective cpu was nice. I sometimes like to set my smash to cpy vs cpu and just watch
Ultimate Mortal Kombat 3. You get ripped to shreds when you get to the third CPU and then they take it easy on you. Even Shao Kahn and Motaro at the end were like this after you lost to them enough times.
Indeed, if the CPUs always used perfect shields and perfect counters, it just wouldn't be fun. Indeed!
-glares at my lvl50 amiibos
I wish one of these fighting games would have a special "impossible" AI that you can choose that could instantly react and counter everything you do. Would be fun to see if a player could ever find an exploit to beat it.
I wonder if the AIs during the later DLCs were improved with hard-coded combos or if it's just something they evolved to do
Famous yt clip 2 years ago of samus tas dash dancing explained
Very insightful as always ❤
great knowledge, thanks sakurai!
Tool assisted speedrun is the closest to a perfect CPU nowadays
I remember watching a video some time ago where they talked about how the CPU for the arcade version of Mortal Kombat 2 was specifically programmed to be almost impossible to beat once you got past a certain number of fighters no matter how good you were. For example, being able to interrupt the player's attacks and respond much faster than a human player could to retaliate against various special attacks. This was done intentionally because the developers wanted people to keep putting more quarters in the machine so they could make more money. After losing a match and putting another quarter in the machine, the CPU would reset to a more reasonable difficulty, but would gradually get harder to beat again. This would continue indefinitely. I hated this and it's one of the reasons Mortal Kombat 2 was my least favorite game up to that point, even though I didn't know the specifics of why, I could tell something was up because after winning three of four fights, the difficulty would spike and I would lose the next match almost every time. I understand they wanted their machines to make money, but this felt like cheating. Thank you for the informative video and stay safe out there!
Sakurai games have always had excellent CPU players, going all the way back to Kirby Superstar.
It can't be overstated that CPUs aren't intelligent. They're just following a massive and very complicated decision tree extremely quickly.
I think it would be interesting if we at least had the OPTION to make CPU opponents play in ways that are "unfair" or "boring"
Playing against a cpu is so much fun! I don't see much of a difference in a lvl 9 cpu in Ultimate, but I definitely do see it in a lvl 1. Lvl 1's are more annoying now.
One more day of work and then ill have three days off. But first this sakurai video
I've always wondered how CPU players are programmed. I feel it hasn't been talked about so much.
I can't tell if sakurai actually adjusted the CPU at the end or if he just got lucky in that little Mac fight
I’ve seen a few people try to create AI in their games through Deep Learning techniques, but the result is often janky. You can achieve a rather “intelligent” seeming AI by creating a system that follows a few logical rules. Basically, you try to define the actions the AI needs to perform and arrange the rules in a hierarchy. You might think that “self-preservation” would be at the top of this list, but as Sakurai says, it’s more about creating a fun experience for the player, so usually the initial goal for the AI is to set itself up in a position where it can attack the player, but the player can also attack it. Generally speaking, the player should be able to outrun enemies, both so they can flee or chase down a foe as necessary.
For example, I created a simple 2D combat AI for a Zelda 2 style game which follows these rules;
1 - If you are too far from the player to hit them, move towards them.
2 - If you are too close to the player, back up, or run past them to the other side, whichever is closer.
3 - If you are within optimal range of the player, initiate an attack. There is a telegraph on this attack which gives the player the opportunity to avoid damage as well as a vulnerability window afterwards which affords the player a chance to counterattack.
4 - If you detect an impending attack (and aren’t frozen by your vulnerability window), try to leave the bounds of the hitbox before you take damage.
These simple rules encourage a defensive strategy from the player to get close enough to bait an enemy attack, then initiate a counterattack. However, this won’t always be so easy to perform, because I also added an “enraged” state once the enemy goes below half health which reduces their reaction time.
If you’re curious to try the game, it’s on my Itchio profile under the name “Goat Boss”.
When Ultimate came out, people where getting destroyed by the new challengers CPU 😅
Also with some newer DLC characters liky Pyra/Mythra and Kazuya the cpu had some combos people did not expect
What a good way to start the day
All things considered, the level 9's are more competent than most online players lol
1:24 Poofesure has entered the chat
It is so dang true with fighting games.
😯😊 The computer can be kind of funny too sometimes Like it can just go the other way and you can't control it.😊
When I play games, 95% of the time it's against the AI. This includes all of the Super Smash Bros. games and Mario sports/party titles.
One can say that playing against computer-controlled opponents doesn't make a player "great" at a video game; even on the highest level, AI opponents have exploits that human players can decipher.
Fortunately, I don't play videogames all that seriously. When playing against AI, I typically like to keep the difficulty at an average level. In Smash, that means I usually fight against Level 3 CPUs. Now and again, I might test my skill against Level 9 opponents with no items on Omega form stages. Otherwise, I just like goofing around with mildly simple opponents for the sake of gaming amusement.
Insightful video, Mr. Sakurai.
Video game AI is so hard, everybody who does it ought to be proud!
Sometimes, CPUs can be REALLY annoying
Making working cpus must be really hard. on the other side lvl9 cpus sometimes feels like they parry any attack and sometimes just sd themself. An they doing irrational choicess. lvl 10 would be interesting what could really be a broken.
This reminds me of Mortal Kombat 2, and how bullshit that game's CPU could be. The second you pressed any button, they would immediately react. It made for some truly frustrating single player experiences.
What always made me rage playing against CPU was the fact that any time I would win, I realized they COULD play perfectly, but they are programmed to give me a chance.
nice but, what about the cpu level 10's as the community named it early on. that couldve been a fun subject to tackle
I'm pretty sure the FGC characters have higher parry rates than normal level 9 CPUs.
I'd like to be able to fight some super unfair CPU that has perfect parries all the time just for the shock factor
KOF example is just the discombobulate scene from Sherlock Holmes lol
0:47 agreed!
“The ins of cpu and the outs players “
Crazy controllers!
Anybody ever hold all three buttons on sonic 1's title screen to make him play worse in the demo? Some people call it the drunk sonic glitch, which I think sums it up pretty well. It's surreal to see him lose rings or even die before you even boot into the game lmao.
Fatal Fury is nice.
He was playing king of fighters
Would it be possible using machine learning for future titles so that the CPU will not know an opponent's capabilities until they're actually used and then adapt? I feel like that would make the most sense for things like RTS or fighting games, where strategy can change on the fly. Would even the most simplest engine take up too many resources?
It definitely feels like Mario Party CPU's are cheating sometimes
Considering I come from playing a racing game made by some Sonic fans... yeah... they need to work on the AI cause' it just doesn't end up being fun at all when the CPU players just cheat and sometimes obtain better items than they would be allowed to get normally.
0:55 what happens when you’ve only put in 2 quarters.
i thought they just werent affected by the evil mushroom
This was insight into how amiibo work. They’re so bad at movement and I can beta them easily by playing passively. I always wondered why but now I understand how the machine processes data. It doesn’t even have eyes! I wonder how one would even begin to refine the AI to make it truly engaging for highly skilled smash players b
AI in MKDD literally go faster than your kart can and at specific parts of the map. I wonder why they did this.
awesome
💖
0:51 I see this video is not for good boys and girls :p
Este video me recordó las palizas que puedes recibir de la CPU si juegas al KOF 95 en la dificultad más alta. Lo bueno es que su versión de PSX es más fácil, divertida y menos frustrante. 😅
Sakurai-san, I would love to see you cover a feature at Fire Pro Wrestling games where we can design CPU logic when our created wrestler behaves according to set of CPU logic we adjust as a feature. Because, well, it is so much fun to see CPU vs CPU in FPW games.
😊