Bullet Bloom: An FPS Tragedy

What do you think of the “bloom” mechanic in FPS games?

I dislike randomized bullet spray in general, so naturally I don’t like Bloom either.

For those not aware, Bloom is when a gun’s bullet spread area increases over time as it’s fired, resetting when you stop firing. It’s supposed to encourage burst shots as opposed to spray fire. I don’t understand the intention of doing this, except maybe some sense of realism. It seems like whatever it accomplishes could be accomplished a different way than this.

In regards to “bloom” in FPS or randomized bullet spread, what would be your alternative? I assumed it was for skill purposes. My assumption was that instead of your gun being a laser beam, you now have to control the recoil in order to win the gun fight.

Bloom is not Recoil. It’s about the cone of fire expanding over time, not the cursor moving upwards over time.

Bloom does add a skill element, burst firing the weapon instead of holding the trigger down, but it’s questionable if adding a skill element like that is the actual intent of bloom, because that’s a pretty lame and linear skill element to add, requiring people to tap the button instead of hold it down.

My alternative would honestly be just having the gun be a laser beam, with a fall-off in damage over a range, so that you can’t use an assault rifle as a sniper weapon. Barring that (if you REALLY wanted it to look like a gun and have the bullets spray everywhere so it looks somewhat realistic), deterministic bullet spread, similar to Counter Strike, so that skilled players could functionally have the gun work like a laser beam anyway. Star Citizen is doing a neat thing with recoil based on procedural animations, but I don’t really expect that to be much different functionally than random recoil or spread.

If you wanted the minor skill element of pacing your shots, you could have damage decrease as you fire longer. There’s always a deterministic way to recreate these behaviors without introducing randomness, but for some reason I always get ridiculous amounts of pushback on removing this type of randomness. We happened to make these effects in mimicking real life weaponry, and post-hoc we’re defending the benefits of designing weapons this way. We could achieve these same benefits without invoking the random number generator, but people complain that it’s unrealistic, that players won’t like that type of behavior, that it won’t actually accomplish the same purpose, etc.

I don’t see the point in having some of your shots randomly miss, and therefore your DPS randomly being higher or lower sometimes. I don’t see the point in being able to compensate for this by pacing your clicks.

Honestly, I’d like to be able to just point the gun at people and hold down the trigger while keeping the reticule on the target. I don’t get why we need all these other things getting in the way of that. I don’t get why we need to randomly vary how much damage you do. I get that bullet spread makes shots less accurate over a distance, so you do less DPS the further they are, but you could do that just be reducing damage based on distance. It’s a very indirect method of accomplishing the objective.

Having randomized bullet spray, or bloom, or iron sights, or some such just means that you need to do some extra little thing to maximize your DPS, like burst fire depending on range, raise your sights, and it doesn’t add any significant extra layer of decision-making to the game, it just means that you need to do a slightly more complex motion to optimize your DPS, and RNG will come down and screw you over in varying amounts.

Is there a name for ‘reverse Bloom’? Weapons that gain accuracy from sustained fire? Can’t recall ever seeing it in a game.

I can’t think of any games that do that either, but it sounds like it could be cool, reward people for commitment. I still hate anything with randomized bullet spread though. Honestly, just increase the damage of the weapon over time. Don’t bother with bullet spread. There’s literally no good reason to add bullet spread to a game. There is no gameplay benefit achieved with bullet spread that cannot be achieved by deterministic means.

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)


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

Clicker Games & The Hedonic Treadmill

What do you think of “idle” games like cookie clicker? Do they offer anything of value?

They basically play on the hedonic treadmill to foster addiction. They’re like a game you can’t ultimately lose and you can’t ultimately win. I hesitate to call them games, but I think the description is appropriate, because I think they stimulate similar centers of the brain. You have an inconsistency between consistent growth and explosive growth. They’re dangerous like gambling, and only safe in that they eventually peter out.

So basically, there’s this thing called the hedonic treadmill. We have kind of a base level of happiness and it’s high or it’s low. It largely depends on genetics, I think, to a lesser degree environmental factors and upbringing. As long as our settings remain consistent, we pretty much default back to this base level of happiness no matter how good or bad things are. Before clicker games were more basic idle games, like Progress Quest, which was basically, wait a long time and stuff grows. Candy Box then was like, “Hey, what if we made it so you could buy things that increase the rate at which stuff grows?” Then Cookie Clicker took that idea and made the entire game about it.

So just clicking the cookie is kind of boring, you can click, maybe mash pretty fast, but you’re just gonna get cookies at a consistent rate, and maybe you’ll do it long enough to get a bunch of cookies, but that’s extremely boring and eventually you leave. So then you can buy things using the cookies you’ve earned that increase how many cookies you get every click. So you buy one, and suddenly your clicks earn twice as much, and you’re back to the amount you just lost way faster than you took to get there the first time, and it’s like, “Whoa. This is cool.” Then you add auto-clickers on top of that to automatically generate revenue, but clicking the cookie itself is still the most profitable thing. The whole concept of the game is growth on top of growth. You earn money, spend it on things that improve your growth, and there’s always things over the horizon that take your growth and create an even exponentially higher amount of growth on top of that in a runaway cycle of positive feedback into more positive feedback. And this is crazy addicting because you cannot acclimate to any particular level of growth, it just keeps preempting the set-in of the hedonic treadmill again and again.

Cookie clicker isn’t a particularly fun game considered in abstract, it’s just clicking a button over and over again, you’re not really developing any skills, and you’ll have explosive growth no matter what you do practically. However it hijacks the way we process rewards so heavily that if you start playing it, it’s nearly impossible to put down, even though at the back of your mind you’re not really enjoying what you’re doing.

Of course, if you know this is the case, you can get smart and choose to break the addictive cycle. It’s hard because, “oh man, I’m earning more than before, I’m making progress, lets keep doing this,” but it’s possible.

Hollowing/Embering in Souls

Any thoughts about hallowing/embering in Souls, especially how it’s handled in 2?

Okay, so, the whole system starts in Demon’s Souls of course. You have body form and soul form. In body form you have full health, in soul form you deal more damage the more white your character tendency is. Then you have the cling ring, which is kind of hidden, but it’s available in the first level, gives you 75% of your health in soul form. Body form is restricted to non-renewable resources, bosses, and stones of ephemeral eyes. How often are you really gonna kill a boss or pop an eyestone to get full health? So what’s the real default health that the game is balanced around? Realistically, the game is balanced around you having half health, and full health is a bonus. Soul form is actually easier than body form. You don’t need body form at all to beat the game.

And these forms have another effect, they control online play, limiting the ability of people to summon help for levels. The bonus to damage in soul form means that invaders are balanced out against people in body form. And then there’s another knock-on effect, deaths in body form affect the world tendency of a given area, making body form increase the difficulty even more.

So what’s the purpose of this? How does it affect the game? It means occasionally you get this bonus to health, nerf to damage. What does that do? What problem does that solve? Not really anything. Realistically, you’re gonna play most of the game in soul form anyway, and if you’re not in the know, you have the potential to use up all your eyestones, make the world tendency of every area pure black and make the game super hard for yourself. Playing around with world tendency is pretty fun for players in the know who do repeat playthroughs, but the idea behind taking your health away and giving it back sometimes doesn’t seem to have a real purpose, it’s just there for flavor.

Dark Souls dumped the concept, made humanity renewable, just had forms affect the online element.

Dark Souls 2 did basically the same thing as demon’s souls, made human effigies non-renewable, gave you a 75% health ring at some later point, and made the decrease in health extremely gradual, but still balanced the game around the 50% health mark.

Then Dark Souls 3 was like, “Okay, people don’t really get that the health is supposed to be a temporary bonus to add some variance because it looks like we took something away from them, lets show it as a bonus instead” And they made embers renewable.

The whole thing gets played up a lot as being bad game design, “punishing” players for dying, making it so bad players are punished even harder. I saw one guy call it “republican dad game design”. I mean, the exact same thing happened in WoW with the rested/unrested bonus/penalty.

And people know about this now and still say they like Dark Souls 3 better for framing it as a bonus. People are dumb, about all I can say.

What are Option Selects?

Can you define what option selects are in fighting games, what they do, and why they are useful? I looked them up on Google, but I still can’t seem to grasp the concept of them.

Sorry for answering late. An option select is when you input one thing that can have multiple possible resolutions depending on what your opponent does.

Probably the most common type of option select in fighting games is one where the move will situationally have two different effects depending on what happens. For example, in 1 button fighting games, you can either throw by pressing forward + attack, or with that same input, just get an attack. In KOF in particular, across every single KOF game, it’s always been possible to option select between throwing, and some fast close range attack, because either your C or D (KOF’s two throw buttons) has a close range version of the attack bound to that button which comes out extremely fast. So if the opponent is throwable, you get a throw, if they’re not, you get a fast and powerful attack.

Another common type of option select is inputting additional actions that will get eaten depending on whether your first input comes out or not. For example, in Guilty Gear Xrd, you’re allowed to Yellow Roman Cancel command throws, but not Red Roman Cancel them. This means if you do a command throw, you can input the cancel, and it will cancel if you miss, and not cancel if you hit. So if you can cancel them when they miss, this means you can do something else immediately after they whiff, such as jump and attempt an air throw, meaning you can run into someone’s face, and either get a grounded command throw or an air throw, you’re throwing them on the air and ground in extremely short succession, and whichever one connects will continue. This is effectively an unblockable.

Another version of this is inputting things during hitstop. Hitstop puts your character in a state where you cannot act. By inputting when this time would happen, you’re making it so you’ll get actions if you fail to hit, but won’t get actions if you successfully hit. You can use this to situationally follow up depending on whiff or hit.

Hitstop also has another function, acting as the cancel window for special moves. In some games, hitstop is actually different on block and hit. This is EXTREMELY DANGEROUS! If hitstop is longer on hit than on block, then people can precisely target that interval where hitstop is longer and try to time their cancel for right then, because on hit, they will successfully cancel, and on block, they will be inputting too late to cancel. This means you can commit to risky special moves only on hit, making your moves way more powerful without risking anything. In an earlier version of SFV, Ken had this issue. I heard it also existed in MK9.

In a way, special move canceling by itself can be viewed as an option select, since you’ll cancel on hit/block, but not on whiff. Once you realize this, you can poke with cancellable normals, and time your special move buffer on them so it’s done before the move recovers. Then you can use that special move slightly outside where your opponent is standing to catch them if they move forward and therefore cannot block.

Option selects can occur anywhere where one input or sequence of inputs can be interpreted as 2 possible outcomes. Learning to look for cases like this is very tricky.

These aren’t very common in Super Smash Bros, because there’s almost no cancels in Smash Bros, and moves tend to only have 1 consistent effect regardless of what situation they’re used in. The amount of hitstop on whiff, hit, and block are different, but this doesn’t tend to actually be useful for creating option selects in the smash series. There are cases that are very common however in smash bros where you can position yourself in such a way that regardless of what option your opponent picks, you can react to it and perform the counter option. Smash Bros fans call this option coverage. You sometimes see commentators mistakenly call it an option select, but it’s not the same series of inputs every time, it’s the person consciously changing which input they’ll use based on what they see.

One example of a true option select in Smash Bros is in Project M with G&W. Game and Watch’s throws are all identical in appearance, so you never know which way he’ll throw you. He gets his best followups off down throw, but you can defeat that easily by inputting a tech right before his throw ends. This means that regardless of whether he actually down throws you or not, you will always tech it.

Another one has to do with meteor canceling. There’s actually 2 ways to meteor cancel, jumping, and up B-ing. There is an 18 frame lockout window after being meteor’d and trying to input too soon will lock you out from canceling, but jumping and up B both count independently from each other, so you can try both instead of just one. So if you get meteored, you can input jump first, then up B immediately afterwards, and if you screw up the first one, the second one might work.

I hope this makes it more clear. Option selects can be really really varied across games. Guilty Gear Xrd used to have one where you could mash roman cancel during combos between 25% and 50% meter, and it would automatically cancel your combo if your opponent bursted out, because they were no longer counted as being in hitstun. This means if they don’t burst, your combo continues, but if they do burst, you instantly YRC, making you safe from their burst. This was later fixed.

Using Advanced AI for Single Player Games

Thoughts on all the people saying they should put OpenAI and Deepmind into single player games to make the enemies smarter? https://www.theverge.com/2017/8/11/16137388/dota-2-dendi-open-ai-elon-musk

This entire line of discussion of is stupid. You can’t compare AI beating humans at multiplayer games with AI used in singleplayer games. The two are trying to accomplish fundamentally different purposes. AI in single player games is a Game Design issue, not a Technology issue. Developing AI that will beat players every single time at a multiplayer game usually isn’t a process of making the AI smarter the same way a human opponent can improve, it’s usually a matter of the AI having better timing, reaction speed, and knowing the best decision to make for each situation. AI doesn’t play the game the same way humans do, with our slow reaction time, our ability to only keep like 9 things in our head at maximum, our limited ability to simulate and predict what the game state will be. If you want to build a perfect AI that always wins at say, street fighter, you could just make it uppercut when you attack, throw when you block, and block when you uppercut, and the game is over. There’s already a number of bots like this at the top of the SFV leaderboards and the only reason they don’t win every match is because of netplay lag. Continue reading

Contact Damage Enemies are Amazing

How come direct contact enemies are so good? Alpha Metroids in AM2R are so great, Konami slapped a sine wave motion to some faces and they are talked about to this day etc, they seem to create much better depth with character movement and abilities than a dedicated “press for iframes” dodge button

Contact damage is nice because it allows the enemy to block your way with their body. In non-contact damage games, you can hug up against enemies to run past them without much issue. It also knocks you back in the process of touching them (having no-damage knockback, accompanied by a shoving animation, might be a smart idea to make enemies better at blocking your way without contact damage) Continue reading