Hi, I'm a game dev interested in all sorts of action games but primarily shmups and beat 'em ups right now.

Working on Armed Decobot, beat 'em up/shmup hybrid atm. Was the game designer on Gunvein & Mechanical Star Astra (on hold).

This is my blog, a low-stakes space where I can sort out messy thoughts without worrying too much about verifying anything. You shouldn't trust me about statistical claims or even specific examples, in fact don't trust me about anything, take it in and think for yourself 😎

Most posts are general but if I'm posting about something, it probably relates to my own gamedev in one way or another.


🕹️ My Games
boghog.itch.io/
🎙️ Game Design Vids & Streams
www.youtube.com/@boghogSTG
☠️ Small Updates + Dumb Takes
twitter.com/boghogooo

Cohost is being quite positive and nostalgic so I think it's time for me to bring in some hater energy. As a farewell post I'll do something very important - talk shit about inertia in shmups.

When people say "inertia" they mean movement accel and decel that gets applied after you press/release a directional input. These 2 usually go hand in hand, but even the presence of just 1 will make people go "inertia!" The basic idea is that, instead of just having immediate, responsive controls, they get run through an additional, automatic "post processing filter" which adds a delay.

It also tends to be applied to cases where you accelerate from a standstill. Gradually going from speed 4 to speed 6 when you hold the focus shot button isn't as much of a problem because you still get an instant response when you need to move, you can just modulate it manually. It also rarely gets applied to special states - people won't complain if a linear, locked in dash has inertia, just your basic movement. Games need a responsive, reliable base layer.

Also, since some people get this confused, inertia has nothing to do with analog controls. You can have analog controls without inertia, and inertia without analog controls. Analog controls, similar to focus shots, simply let players manually modulate speeds.

Another 2 points to keep in mind :

  1. The biggest problem people who defend inertia are gonna face is decoupling the presence/absence inertia from overall game quality. Some good games have inertia. Are they good because of inertia, or is it in spite of it? Would they be worse if you removed inertia but beefed up patterns/etc. to preserve the difficulty? That's the big question.
  2. "Inertia is bad" is prescriptive in the same way as "your anatomy is wrong" is prescriptive in art - the rules are important because they're primarily broken by newbies out of ignorance, and overwhelmingly lead to either shitty games, or games that could be better without inertia. Egon Schiele's experiments with human anatomy are not the same as some crappy middle school doodles.

[PREDICTIVE GAMEPLAY]

The simplest goal of inertia is to make dodging harder. It makes it harder to do micro-dodging because you now have to work around an acceleration curve you have no control over. On top of that, it makes reactive dodging less viable - you can't use your reflexes to quickly adjust, because every movement no matter how tiny has startup lag. This inability to use your reflexes makes dodging subtly harder across the board, not just in niche cases.

To me, the most obvious argument for the addition of inertia would be that it shifts the gameplay away from being reactive and towards being predictive. Players will have to think ahead, which could potentially be more engaging than more reactive dodging. The idea is that it could do what Dustforce does to precision platformers.

Here are some problems with that :

  1. Shmups, especially bullet hell shmups, are already centered around predictive gameplay. The entire core skill being tested is your ability to predict the movement of independent objects over time. The simplest example of this is streaming bullets - there's a lot of delay between when they shoot and when they reach you, you have to anticipate where the bullets will be and move in a kind of whip-like motion.
  2. These sorta mechanical layers aren't additive - they clash & fight each other all the time. If you add inertia, it'll push you into making balancing decisions that minimize the complexity of patterns, which will simplify the already existing predictive gameplay.
  3. The same exact argument can be used in defense of extreme levels of input lag. If you wouldn't make it for input lag, ask yourself why you'd make it for inertia. In general, "it's more challenging" isn't a good answer because it can be said of anything.

If you want more predictive elements then simply add more predictive elements. Add more homing bullets that track the player in interesting ways, play around with that stuff. There is no reason to fuck with the player's controls just - everything you need is already there. You can genuinely get the best of both worlds, projectiles which test the player's prediction skills but also instant, twitchy on-the-fly adjustment.

[RACING GAMES & PLATFORMERS]

A common comparison you'll hear is to racing games. If inertia's bad, how come entire genres like racing games depend on it? This comparison is bullshit. Adding inertia to a shmup brings over maybe 1% of a racing game's dynamics. Into a genre whose "native" dynamics pull in a completely opposite direction. It reduces what's a tight interconnected system into a shitty post-processing filter.

Racing games are about building and maintaining momentum. Movement isn't done for other purposes like dodging, misdirecting or attacking, it's done for its own sake. Any forward movement is the player moving closer to a victory condition, no matter how tiny. Because of this alone, momentum stops being a burden, it's a skill the mastery of which the game directly evaluates in an extremely granular manner. But really, this is only the beginning.

On top of being based around forward movement, racing games also try to add as much control and interactivity within that framework as they can. The inertia isn't merely a filter. Your accel pedal will usually be fully analog, and how you press it will matter because it'll affect the traction of your wheels, which in turn will affect your steering, which will change your car's weight distribution, which will make it easier or harder to turn, which interacts with the terrain.

Every mechanic communicates with each other, every input sends ripple effects, it's something players have to always adjust & react to. It's not just an automated, linear curve. This level of interaction between mechanics allows for both interesting challenges, AND dynamics that can benefit the player such as the scandinavian flick - something inertia based shmups lack.

There is nothing you can do in the average inertia ridden euroshmup that you couldn't do better in an arcade shmup. There are no ways of playing with inertia besides just accelerating in a different direction, your accel and speed don't vary based on terrain, there are no ways to use inertia to your advantage, and even if there were none of this would be rewarded.

[STATE BASED GAMES]

State-based games are stuff like action platformers, beat 'em ups, fighting games, etc. Games where you commit to an action on button press, and have to see it through (or cancel it into another state).

The relationship between inertia & state-based games is interesting. Unlike shmups and most racers where movement is continuous and uninterrupted, state-based games typically lock you in place during things like attacks. Games with inertia, however, can actually bypass this lock by letting you carry momentum between different states. Instead of being a limitation which players will always have to work around, it frees the player up to do things that wouldn't have been possible in a purely state-based game.

Just like racing games, state-based games tend to play with indepth momentum control - certain states let you carry momentum, certain states let you build it, certain states slow you down or outright cancel momentum. There is opportunity for control at every step. This control can then be given meaning and weight through different pros & cons of different states - maybe a jump would preserve momentum but cannot be controlled, making you vulnerable. A backstep could break momentum but make you retreat. There's a lot of ways this stuff can be balanced.

Needless to say, none of these dynamics are captured by inerta heavy euroshmups - there are no states, no interplay, no tradeoffs. Once again, it's just a filter.

[MOUSE ACCEL]

FPS games have their own inertia - mouse acceleration settings. Here, inertia doesn't exist to "make the controls more challenging/engaging", it exists to give player more control by trying to address a really unique problem - depth. Because your proximity to a bunch of independent, unpredictable, often quickly moving targets changes constantly, a single static mouse sensitivity setting will have a hard time dealing with the huge range of situations that pop up. It's like if shmups had bullets & hitboxes that constantly changed speed & size in real time, unpredictably - it'd be insanely hard to find the right ship speed to deal with all that crazy variation. In FPS games the problem is even more tricky than in shmups. Because in the latter, you're aiming for negative space, areas where the bullets aren't. In FPS games you're aiming at small moving targets, so the room for error is vastly smaller.

Even so, FPS games offer a range of customization for different player types that inertia-driven shmups do not. People even tend to prefer external tools like Raw Accel that lets them fully tweak & customize the acceleration curve to their liking. Inertia-based shmups don't bother with this, because they aren't adding inertia to solve a concrete problem.

ALSO (shoutouts to Edvard for pointing this out) mouse acceleration is more like modulation than inertia, because it simply adjusts speed of cursor based on the motion of your mouse, rather than applying a post-processing filter. Smoothing is like inertia, and smoothing sucks ass since it just applies accel and decel without player input.

Then, of course, there's the more vague, subjective consideration - what is the game about? FPS games are usually testing the player's ability to track a target visually & having the reflexes + hand-eye coordination to precisely aim and shoot. That's why they tend to be so flexible regarding their crosshair speed, and why the inconsistency in aiming based on distance is seen as a problem to be fixed via inputs rather than an inherent limitation of the game design. In shmups, ship speeds tend to define the style of gameplay, and different speeds have different impacts on the feel of gameplay & player strategy, trying to make that as flexible as possible would just homogenize the games. Unless other drastic changes are made.

[VIRTUAL SENSATION]

Another argument for inertia is that it looks/feels good, because similar techniques work in animation. Or because when testing it in an empty room of grey boxes it feels less stiff than 1:1 movement. This isn't completely wrong because if you're looking at a single ship in a grey room, it will appear to move smoother.

The thing is, players perceive movement not by looking at the ship (because they're looking at enemies/empty spots in patterns!), but rather by looking at the secondary elements surrounding the ship. Dense player shots, for example, allow players to get a sense of their own movement because they create bendy lines that follow the ship - they create secondary motion. Floating options (which do often have inertia), trails, and other appendages can also be seen via peripheral vision and give a sensation of smooth movement. Even when looking at the ship itself, well done turning/banking animations will add just as much if not more than inertia. Combine that with a spin if players change direction too quickly and other animations/appendages, and you've got some really awesome feeling games.

There are many many many ways to improve a game's feel without damaging the player's controls. Igavania games are nearly universally praised for their smooth controls, and they have no inertia at all - it's all handled with primary and secondary animations.

[DEVELOPMENT DOMINO EFFECT]

This section can basically just be filled up with Mark's explanation of the phenomenon. Basically mechanical choices don't happen in a vacuum - they vastly change what sorta game you will make, or can make. Adding inertia into Mushihimesama Futari Ultra is possible on paper, but in practice as soon as devs add lag to movement, it'll become harder to justify really complex, tight patterns. They'll have to simplify, and with that they'll simplify the more interesting, granular, prediction-based dynamics of shmups.

Take for example micro vs macro dodging. If you remove emphasis on micro-dodging (because it's too slippery & frustrating) and focus on the macro, you'll potentially make macro-dodging itself boring by being afraid to make macro-able attacks spread out enough that they'll sometimes force players into micro-dodges. It'll be a more binary dodging game.

The more fundamental the mechanic is to a game's design, the more it'll ripple across the entire game. And there is nothing more fundamental than movement.

[BUT THE BEGINNERS!]

Probably the strongest argument is to simply accept & double down on the simplification. Developers can say "so what if it simplifies the genre's other elements? The harder movement but simpler patterns are easier for players to understand, and thus get into! They can start playing with intention right away, physics are intuitive after all!"

I think this argument's more or less correct. Simplifying patterns on its own would make for a boring shmup, so devs can add a little more challenge by complicating the movement. I'd just say that, once again, there are a lot of ways to achieve this. Simply having bigger hitboxes and focusing on more discrete single attacks like homing projectiles, melee attacks, etc. will allow devs to make dodging more complicated while keeping everything snappy & responsive. Adding more movement mechanics is another good one - players tend to not only tolerate complex mechanics more than complex dynamics, they even welcome it because it provides a very clear set of things to learn & improve on.

There are other issues as well - inertia control isn't a transferable skill, so newbies become trapped. Not just that, but acceleration means that moving is less risky than strategically slowing down since you won't have to deal with the lag. This builds the opposite skill of the one you'd want newbies to learn - in traditional shmups standing still is really good when you can get away with it since it helps you control bullets.

This problem can be attacked from so many different angles that it's suspicious that inertia would be what developers focus on.

[NOW IT'S PERSONAL]

It's time to talk about something a little uncomfortable - developer psychological profiles. Devs who add inertia often follow predictable thought patterns and make choices for a small set of reasons.

  1. Inertia As Programmer Art. When starting games, devs tend to play around with really basic assets. Sometimes it's static sprites/models, sometimes it's just boxes. In an environment like that, game feel is created through code. This is where adding inertia makes sense as a decision - it combats the stiff feel of movement. Don't fall into this trap, try even the simplest animations before doing this, or reference other games with great animations but no inertia and see what they do.*
  2. A Lack of Respect. Many developers approaching shmups think of them as a lesser genre that can be improved by copypasting mechanics from more popular genres. Devs don't take the time to internalize shmup gameplay, nor do they consider that a well developed genre might have a useful set of conventions. If you're like this - change your attitude. A lack of popularity does not mean a lack of quality or refinement.
  3. Clueless & Carelessness. Many devs simply add it because it makes some intuitive sense and never question the choice and how it clashes with other mechanics because they don't play shmups much. If you're one of those devs - just make sure you get a good amount of shmup experience. Get some 1cc's, dabble in scoring, check out euroshmups & compare them to arcade ones. Just learn stuff, things tend to fall into place when devs do that.
  4. Faux Innovation Sometimes devs legitimately think they're doing something new and aren't part of a massive wave of games doing exactly the same shit and failing time and time again. Again, the best solution to this is experience.
  5. Sunk Cost & Cope. Sometimes devs will create rationalizations for inertia simply because they've already either built a decent chunk of the game around it, or because they somehow tied its presence in with their ego. I don't think anyone who's like this is gonna listen to me.

Developers need to understand that a lot of the time, they are being read like an open book so the excuses & justifications will not work. If you're an inexperienced shmup player, other players and other devs can spot that immediately. You can't really fake it in this genre.

["DESPITE EVERYTHING, I STILL LIKE INERTIA!"]

If you're a dev and truly like inertia while at the same time want to make shmups with it for god knows what reason, I think these criticisms actually provide an avenue for improving the implementation of inertia. The simplest rule of thumb is : what does it achieve that adding input lag doesn't? If you can't answer that, then don't even bother. Aside from that, there's some other criteria.

  1. Mastery of inertia should be rewarded in a granular fashion. If you're asking players to learn this skill, then reward them when they do, instead of making it a pre-requisite for engaging in the game's actually rewarding mechanics like cancels or what have you. May have to rethink scrolling. Inertia matters more if going fast lets you advance the game quicker.
  2. Make inertia two-sided. What sort of unique stuff can players who master inertia do that wouldn't be possible in other shmups, and how does it benefit them during gameplay? "You can eventually play it like a normal shmup!" isn't very compelling.
  3. Inertia should have a lot of modulation and dynamics, instead of being a post-processing filter. Let players play around with the simple physics simulation and connect everything together.
  4. Adding inertia to special states is fairly safe, if you have a strong base layer of responsive controls, you can play around with all sorts of momentum mechanics freely.
  5. Make the inertia itself feel good in ways that cannot be captured with secondary animations. If the game's based around drifting, add a car and actually have it drift.
  6. Radically rethink everything about how patterns, enemy waves & levels are designed to fit the game. Threading the needle with shitty controls may not be the best choice.

In short, if you wanna make it work, be prepared to actually do some serious design work. You can also use these criteria to evaluate whether existing implementations of inertia.


You must log in to comment.

in reply to @boghog's post:

Great read as always, I am very sad that this will be the last.

Admittedly I am not that good at shmups (I am working on it) and I have no doubts in my mind that an experienced shmup developer could make a great shmup with inertia. I still have to ask these devs considering inertia why? Like you said inertia is about building speed either to clear an obstacle or race past everyone, but what are you gonna do with all that momentum in a shmup? Fly into a wall? You are stuck on a 4:3 screen there is no where to go with the momentum so it is not really clear to me why you would even want to add it unless you have some really cool use case for it.

And to be clear I am not talking about non linear motion in general (I think that could probably be utilized more potentially), just the full acceleration only based motion, because that feels bad in most games where you want control and not speed.

I feel like (and could be wrong) that these inexperienced developers look at bullet hell games and think they look fast paced and therefore need inertia, where in reality you need to be very careful and precise.

Thanks! I'll prob post more articles somewhere, not sure where. And if not then there's still vids.

Yeah, the whole question is literally WHYYYYYYYYYYYYYYYYYYYYY
I think it's just devs running on autopilot basically. They implement movement and go oh yeah what do moving ships need, oh of course they need inertia. There's no holistic considerations of how it impacts the rest of the game, especially since "the rest of the game" doesn't exist yet and so many devs haven't played enough shmups to imagine how these design choices connect.

The only reason I can think of is literally if the devs absolutely love inertia personally and want it everywhere for some reason, and they'll do everything in their power to add

Exactly. I want to bring up another point, in the article you bring up mouse acceleration. In my mind this is slightly different from the movement inertia and closer to your analogue stick example. With the mouse there is no time involved it is just a multiplier. A very simple form of mouse accel is

x += dx * dx,

which would be similar to

x += stickDist * stickDist,

in this case it would not have a linearly distributed speed, but it would not change over time,

So in my mind inertia would be closer to mouse smoothing where you smooth out the motion over time. Which is the same feeling you get from the movement inertia.

Oooh yeah that's a good point, it's a lot closer to modulation. That's a distinction I should work on, it's a little fuzzy but it's definitely there. One's about control, the other about a lack of it.

Exactly, mouse accel and stick is instant change of speed so you get more control, but the inertia movement is over time so it will always decrease responsiveness, since it does not directly modify how fast you are going, but instead modifies how much that speed changes every frame.

Excellent. Don't just say "why inertia is bad" but also go in detail into what make inertia not work in shmup. I like the comparison between racing games and shmup; it also kinda applies to platform games, a genre a bit more "hybrid" that can work with or without inertia that also have this "each step forward is a step closer to victory" rule. (except in auto scrolling levels, that a lot of people dislike; I actually kinda like them I'll admit)

Thanks! I think I covered more or less every angle besides just a raw "I like how it feels", which is such a core disagreement that it's impossible to resolve really.

And yup I was just thinking about the branches of action platformers when playing Order of Ecclesia and Shadow of the Ninja back-to-back. The thing with the genre, and a lot of other more complex compound genres, is that they don't feel fully developed.

I play Order of Ecclesia and sometimes get this almost shmup-like hybrid of extremely responsive controls and a lot of independent targets to manage/dodge while chipping away at their health and dealing with sometimes pretty tricky terrain curves. But then it never gets developed anywhere else much, and it doesn't truly become its own subgenre. Aside from maybe doing the Koumajou Densetsu 2 thing and going (almost) full shmup. The commitment heavy, state + enemy interaction driven side is similarly under developed where even robust pushback mechanics are a rarity. Instead the genre exists in stasis where development happens by adding MORE STUFF ie metroidvanias.

That's why it has more flexibility, cause you're not losing much to begin with by breaking conventions, and hell the conventions aren't even fully there anyway.

How does Kingdom Grand Prix handle its acceleration/deceleration & racing mechanics. I haven't gotten around to playing it yet, but I was wondering if you would consider it to be a shmup with momentum?

Good question! I gotta make a distinction for games like that, something like macro-momentum. That's a type of momentum that I think is actually really cool to have in shmups cause you can have a sense of speed/movement, integration between accel & the rest of the game design (like a racing game) WHILE also letting players dodge stuff reactively and precisely. In some sense it's the best of both worlds, though it makes level design a nightmare. Super Spy Hunter is similar as well, tho iirc it has actual inertia too. Dynamic scrolling with mechanical implications is a good thing for shmups to start playing around with

Yeah I feel like at a certain point "shmup with momentum but good" probably starts to move you into a different genre. In a way, pinball is kind of a shmup with momentum. Yeah there is generally no shooting (besides Xenotilt and various pinball/rpg hybrid games) but movement and positioning are still incredibly important and there is also the emphasis on scoring. Enemy bullets in Demon's Tilt/Xenotilt even rob your ball of momentum.
I've also seen momentum play a roll in a few twin sticks/WASD+mouse games. Hammerfight and Fabular both have momentum based movement and swinging momentum based weapons. And Highfleet (also by the Hammerfight) has momentum based 2D dogfighting where smaller ships are generally faster and more nimble (though the best parts of Highfleet are everything outside of the dogfighting).
Oh and of course you have Luftrausers and similar games. Those feel to me like what if you took Asteroids and had to make more of an actual modern game beyond the novelty of a seeing an arcade game in 1979.

But yeah I do think there is something there with shmups modulating scrolling speed. You could even combine it with rank and speed running. E.g. The faster you complete the stage the higher your score. Higher rank scrolls the screen faster but get it too high and scroll speed is overwhelming so you have to manage rank Yagawa style. The better you are at speed running the more the game fights back. Heck if it gets fast enough the player might need enough screen real-estate to see what is coming that you might have a case for a 16:9/9:16 shmup that isn't just Darius trying to wow the player with multiscreen spectacle.

It's very much like a package deal - if you wanna make a good "shmup" that's built around momentum then you really do basically have to create a completely new gameplay meta like Hammerfight, or even Asteroids. It's the worst when devs think they can slap inertia into a typical shmup framework with no adjustments, it always ends up backfiring massively. The recent Nidus had inertia that felt pretty coherent with the rest of the game too, twin sticks tend to do a better job cuz they start with a clean slate

And yea! I worked on something like that in my own game at one point but it's actually really tricky to nail down the scrolling formula + stage deisgn for games like that. The idea's basically that you don't just "go fast" in an abstract sense but rather literally scroll the whole stage faster (via chaining enemy quick kills) meaning more enemy spawns and more overlap, which would eventually force players to slow down or else they'd get overwhelmed. The trick is to find some kinda really nice logarithmic-style curve where gaining initial speed is easy but then as you approach the upper ends it'd get harder and harder, otherwise you get too much of a feedback loop where building speed is hard but once you have it it's nearly impossible to slow down.

...OR games could just literally use brakes/accel for a system like that, similar to Trap15's Ketsui hack where you could manually increase rank. Perhaps bomb to stop? Anyway, this is the kinda shit devs should be thinking about if they want momentum in shmups, instead of just defaulting to inertia 😠