The Future of Video Game AI

Do you think that AI in competitive vidya will ever get better at simulating playing against a human opponent? Is that even something that should be strived for? I’ve been getting into fighting games and am really realizing how entirely different it is playing against the CPU and other players.

That’s tough. I think it depends on the game. For fighting games, I think it’s hard to say if it will ever reach that point.

Sethbling did an interesting proof of concept here with neural networks being trained to copy his style of play, with the fitness criteria being how closely it matched the actions he’d take in a given scenario, so you end up with an AI that plays very similarly to a human player.

Of course this is a lot easier because Mario Kart is what I call an “Efficiency Race”. It’s a game about efficiency, more than a game about Rock Paper Scissors. There’s a tiny bit of RPS in the use of items and passing opponents, but not much.

I doubt the ability of AI to play like a human in that they can really play RPS in a complex game with multiple RPS loops and we the same way a human would. Or to be able to learn and adapt to a player over the course of a few games. I feel more like it would just have an expert policy and do the best thing each time, rather than play with the mentality of a human player. Also it’s hard to say if AI trained on imitating human behavior would really be capable of being “read” the same way as a human.

It would probably work pretty okay for FPS games, racing games, maybe RTS?

It’s hard to really say how this stuff will turn out, whether AI will develop patterns that can be read, and attempt to read your patterns in turn, or whether it could be programmed to play with a personality, like intentionally repeating the same move that the opponent loses to a lot.

Then again, there was Killer Instinct, which gave this a real shot with its Shadow AI System, which I haven’t personally tried, despite owning the game, but apparently it worked really well.

This isn’t a pure machine learning solution, a lot of the structure of the AI, and the tweaking of various variables was done by hand (essentially, the structure the AI learns by was designed by people who knew what it should look like), but still, it’s really impressive the types of results they got. It took very observant players to know all the tendencies they should copy for this. If we got this in more games, if these replaced the standard fighting game AI, then I think fighting games would be a lot better for it. I don’t know how hard that is, but this sounds from the talk like it was thrown into KI unceremoniously, as a cheap side-mode instead of a major developmental focus.

AI like this could theoretically be deployed to train new players. Imagine training an AI to do nothing but move forward and sweep at different ranges to teach players to punish on block? Or only throw fireballs and anti-air to teach them to beat that? Or only jump in to teach them to anti-air?

There’s a big potential here, but it’s hard to say if we’ll ever see a feature like this ever again.

Kingdom Hearts 2 Revenge Value

What do you think about the Revenge Value System on KH2?

Kay, so, Revenge Value is super simple. It’s a system that exists to prevent infinite combos, by allowing enemies to break your combos after being hit a certain number of times.

So how many times do they need to be hit to trigger this combo-breaker attack? It varies based on what you hit them with. Each type of attack has a hardcoded number that adds up when you attack the enemy, documented here:
And each boss has a hardcoded value that determines how much revenge damage is required to trigger their combo breaker attack.

So basically, you’re allowed to stunlock the boss for a set period of time more or less, and once that’s up, they get to attack you. Thereby you can’t just stunlock the boss forever and actually have to deal with threats every so often.

There’s actually a lot of systems similar to this in various games. The most obvious is Poise from Dark Souls, where bosses need to take a certain amount of poise damage. Or Yokai Ki in Nioh, where, once expended, you can stunlock the enemy, but it has a Ki Regenerating combo breaker attack that triggers after a bit, which has super armor.In fighting games, they just build the combo system so combos naturally end eventually. Skullgirls actually has a similar system to Kingdom Hearts, called Drama. Drama is built up every time a move hits in a combos, dealing more drama based on whether the attack is light, medium, heavy, or special.

By having values tied to attack type in this way, it means that combos in skullgirls and kingdom hearts can be optimized by trying to hit with moves based on their damage relative to combo breaker buildup. Each attack can be evaluated for efficiency by calculating damage/revenge value, then it’s a matter of building a combo that hits as many of the highest efficiency attacks as possible, and in Kingdom Hearts’ case, having a followup to hit the boss when revenge is triggered.

Kind of the issue with Revenge Value, relative to Drama, is that it’s totally opaque. There’s no feedback telling you how much revenge value you’re dealing with each attack, or how much the boss will take before they retaliate. So it’s a matter of trial and error with each attack on each boss, then once you’ve mined all the values, it’s a matter of memorization. Drama in Skullgirls is a visible meter on the screen, and you are told the drama values of each attack outright in the tutorial.

So yeah, it’s a pretty cute system. It lets you have combos, gives you an optimization pressure, and keeps it somewhat challenging. I’d personally have designed the combo system to allow for shorter combos instead with more varied revenge attacks to make things more interesting. Probably also would have added additional constraints on what moves in combos link to make combo optimization harder, and vary combos based on their starter, so you have a more complex neutral game, but whatever. (also God Hand did it better)


Good Enemy Placement

What do you think makes for good enemy placement?

There’s a lot of factors that go into this. In abstract, it’s about placing the enemies in spots where it is tough for the player to deal with them, but where the player has a variety of options for dealing with them, without allowing the player an easy way out.

This means also building the level around what the enemy can do. If the enemy is good at pushing, put them next to a cliff. If they toss projectiles that drop down, put them up high. If they require the player to jump, put down something dangerous to land on. Continue reading

Good FPS Map Design

What do you think constitues good map design in a multiplayer Fps game? I hear the term “this is a good map” but very few people go in depth as to what that actually means.

That’s not totally my forte, but I’ll give it a shot.


Here’s a picture from Robert Yang, which I think is a good depiction of FPS level design in a nutshell.

Apart from that, a big concept in FPS level design is “Loops”. In FPS, your position determines your line of sight to other people. Line of sight is a connection to other people, a capability to attack them. In this way, use of cover is like blocking or dodging in a fighting game, so the ability to block or dodge enemy shots is dependent on level design. In a hallway, you don’t have many options for approaching an opponent, there’s only one line of sight. To make a level where both people can choose to move around one another and position effectively versus one another, you need to introduce loops.

Take a look at de_dust2, the best known FPS map of all time. Draw a line along all the central paths through the level. There’s a number of loops created. Only one path crosses over another path on the Z-axis, and it tastefully adds another way to access


Now compare that to de_dust. This has loops too, but they’re much smaller, and more detached from one another, the middle area of the map is more like a chokepoint, while dust2 doesn’t have any absolute chokepoints.


Good maps are very conscious of how they control line of sight, and how they allow players to move through the level, as well as where they offer cover. Given how important positioning is in FPS games, it’s important to give the player many different possible paths they can take through the level. A trend to notice with popular Counter Strike maps is, they’re usually 3 big circular loops overlaid on each other, with a few smaller loops inbetween.

Stealth games rely on this principle of loops too, you can’t have stealth in a single hallway.

And on the opposite extreme, if you offer too many paths, then you end up with maps that the Quake community call, “Guess maps” where someone could pop up from any angle and there’s too many options to reasonably predict any particular one. This is why the 3 circles pattern tends to work pretty well in CS.

Other effective paradigms and tricks are out there too, such as in classic maps like Halo’s Blood Gulch, which has a curving hilly landscape to obscure far-off combatants, and high-up side-paths that people can try to sneak along. This blog post has further elaboration and its own ideas for how to design FPS maps.

When you encounter a good map, think about how games tend to play out on it, and whether the layout of the map contributes to fun sessions or not.

Join my discord to discuss this and other game design related topics:94db9c3c1eba8a38a1fcf4f223294185

Mario Odyssey Review

Mario Odyssey is 3d Mario’s return to the sandbox style of scavenger-hunt play featured in Mario 64 and Mario Sunshine. It features many hundreds of collectibles, called Moons, to collect through its levels (called Kingdoms), allowing you to progress from each level to the next after collecting a certain number of that level’s moons.

There are only 3 functional buttons, jump, hat, crouch. They can perform a range of actions based on context. Like crouch does a ground pound in the air, and then pressing hat throw will dive or roll depending if you’re in the air or ground respectively. Crouch and jump will perform a backflip on the ground. It’s interesting that they were able to condense the functionality of the game this much, but it’s kind of a shame that they didn’t use their excess buttons to more directly access functions like diving, even if it feels nice to groundpound into a dive. It can lead to pressing Y too soon after ZR, causing no dive to occur. Continue reading

Critique of Super Smash Brothers Melee Review and Analysis

The slowness of the switch between Zelda and Sheik is not an engine limitation. Both characters have their files loaded when the game begins, so that they’re both in memory and switching happens as fast or slow as the actual animation. This is not true in Brawl however, where the other character is loaded on the spot.

The example of mewtwo’s up throw killing captain falcon sooner than fox is a bad one, because throws do not differ their level of knockback based on character weight. Weight only affects the length of the throw animation. For mewtwo’s up throw, the only character-specific factor that affects how far the character goes is their gravity, not their weight. A more accurate example would have been a move like fox’s up smash, where both weight and gravity can affect it. Continue reading

(Lack of) Level Design in Stylish Action Games

What do you think of the level design in action game arenas? Specifically how most fights that occur in games like DMC/Bayo are pretty barren. I get that fights should be engaging regardless of the level but I don’t see why arenas like this aren’t more common.

I mean, those games just don’t work with level design very well. Have you played the platforming sections in DMC3 and 4? They’re pretty awful. Platforming in Bayo and MGR is pretty bad too. All these games have character motion that makes characters very difficult to line up on a specific spot in comparison to platformer games like mario. All these games have jumpsquat animations and jumps that lock you in specific directions and don’t give you much air control, if any. This works really well in combat, it means you need to commit and choose options relative to your opponents, and you barely notice it there because all your actions are deliberate and straightforward, but for navigating geometry, it’s hell. Have you tried playing a fighting game which didn’t design its jumps this way? Like Super Smash Flash 1, which used more conventional jumping controls? In Super Smash Flash 1, unlike real smash bros games, when you press jump, you jump instantly, and you can switch your facing direction at any time during your jump. Continue reading

Making a Fair Doppelganger Fight

What sets Devil Hand apart from the other kinds of doppelganger fights? (i.e. Dante) Or does it just show how good God Hands moveset is that it can also work for a Boss?

Well here’s the trick, God Hand doesn’t use Gene’s actual moveset on Azel or the Double God Hand Gene at the end of the arena. All of their attacks are reactable, and unlike you, they have the ability to block like common enemies, and even have a few new attacks. When you use roulette wheel moves, they’re effectively instantaneous because time slows for the cinematics. When they use it, it’s all in real-time. Continue reading

Leveling the Playing Field for Unskilled Players

Is it possible or necessary to level the playing field in fighting games between skilled and not skilled players?

Nope to both.

The only way you can level the playing field is by making skill less influential on the outcome of the game. You can do this either by reducing how difficult the optimal outcome is to produce, or by reducing the amount of advantage conferred by the optimal outcome relative to the least optimal outcome. Or you can do this by having randomness be a much stronger determiner of who actually wins the game.

Of course, all of these things will piss off skilled players. You might have some limited measure of success depending on the implementation though. I’ve been arguing that randomized bullet spread has been bad for years and should be replaced with damage dropoff relative to distance to get the same effect and I don’t think anyone agrees with me on that. Continue reading

The Pain of PC Fighting Games

What do you think of this? Should fighting games move to PC to get the sponsorship bucks and move out of the kiddie pool?


There’s an additional issue he didn’t address, the difficulty of setting up controllers on PC. Individual users don’t tend to notice it, because they’ve set up their PCs to run their controllers just fine, they’re not having a conga line of people over to each individually plug in their controller of choice and somehow make it work with the operating system and then with the game. Continue reading