Stellar Blade Demo: Control Issues Deep Dive
Dodging Cinematic Universe Part 3: Dodging in Stellar Blade works fine
Hello. You may remember me from such blogs as
as well as
I was originally planning on writing about dodging in Stellar Blade, but the dodging in it works fine, at least technically.
So instead I’m doing an overall evaluation of the demo, with a focus on control issues.
Evaluating Work-in-progress Builds
When joining an existing project one of first things I do is play the current build and give feedback on what needs improvement. I’m approaching the Stellar Blade demo the same way I would a work-in-progress build, though that evaluation would be a list rather than an essay.
I hope this is useful to game developers who haven’t played Stellar Blade, or those less versed in that style of game. For non-developers I hope this provides insight into the nuts-and-bolts of game development. Many people have a poor grasp of what game developers, especially designers, actually do, and even game developers often have a idealized view of design - for example the GDC “Game Design Challenge” is basically “the game idea challenge” and has little do with real game design. Day-to-day game design isn’t one big idea (though a splashy big idea can be helpful) - it’s continuous small ideas and improvements.
This isn’t a review of the game or the demo, it’s “here are some things that ideally would be fixed”, in enough detail to specifically identify the problems. Many reviews highlight “unwieldy” platforming, for example, without saying much beyond that. That’s fine for a review, but telling a team of developers tasked with movement and platforming that their implementation is “unwieldy” isn’t helpful. That’s the kind of feedback a CEO or playtester would provide, not the feedback a senior dev should provide.
I’m providing the sort of feedback a senior dev should (IMO) provide. It may come off as nitpicky, but being detail-oriented is part of the job. When working on a game I sometimes zoom in on a portion of the screen to diagnose a problem shader, run in super slow-mo to track down a one-frame animation glitch, or run at a capped low framerate to find time-dependent physics problems.
That said, offering detailed, specific (if in this case, unsolicited) feedback is different from being a dick. I’ve watched a few Twitch streams where game developers play a game and provide real-time evaluation, and in my experience those are both useless and off-putting. That format invites snap judgements and stream of consciousness babbling. And they often contain an undercurrent of “I could do this better than these idiots.” (See Jonathan Blow playing Breath of the Wild or Elden Ring, for example, if you enjoy wasting your own time)
There’s no implication here that the devs lack talent or that I could do better.
Part 1: Combat Controls
Dodging
Technically the dodging in Stellar Blade works fine. In the Lies of P demo your dodge would frequently get hung up on enemy characters, and if you queued up a dodge along with a direction the game ignored the queued direction. As far as I can tell there’s nothing like that here.
That said, the dodge seems almost totally useless by design. It has no invincibility to speak of, and it doesn’t move very fast or far either. I don’t mind the lack of i-frames - modern combat games sometimes lean too heavily on abusing invincibility windows. I like the idea of a dodge that avoids an attack with movement rather than with i-frames - something akin to Mega Man’s slide, which is quick and goes under some attacks but isn’t invulnerable. But the Stellar Blade dodge is slow and doesn’t move very far.
The balance between dodging and parrying is heavily weighted towards parrying. Parrying too early results in a block, and parrying successfully reduces enemy balance. (A stun meter, basically) If you mistime a dodge you get hit. If you succeed with a dodge…well you can’t really succeed because the dodge is so bad. The game really wants you to parry. The dodge seems only useful for avoiding unblockable attacks with a perfect dodge. Some enemies use color-coded attacks that you respond to using the dodge button, but those are more mini-QTE events than dodges.
You can dodge during most of an attack animation but not all of it - it’s more permissive than games like Monster Hunter and Dark Souls where dodges can only cancel recovery frames, but less permissive than games like Bayonetta where you can dodge at nearly any time. In Stellar Blade the rule of thumb is that you can’t dodge during the hitbox-active portion of the attack - the part where your sword can make contact and when the slashing VFX plays. (The most committed part of the animation) If you press dodge during this part of an attack the dodge is queued for later.
In practice it feels intuitive enough. I have no problem with it. That said, the game can feel unresponsive, and the fact that dodges during attacks are sometimes queued for later probably contributes to that.
General Unresponsiveness
The Stellar Blade demo has a lot of apparent input lag. It’s unclear how much of this is genuine input lag, where the engine takes multiple frames to respond to input, and how much it’s due to slow animation transitions.
Here’s a video of me trying to dodge attacks against a tutorial enemy.
Watching this video it’s hard to tell that I’m even trying to dodge, because the dodge animation takes a long time to kick in and isn’t easily recognizable. Sometimes my character slides to the side without animation - in those cases I think the dodge input has been processed and I’m technically starting a dodge, but the animation transition is slow or delayed. Other times my character plays some animation but it’s hard to tell if it’s a dodge animation or something else.
(Maybe dodging just doesn’t work at all against this tutorial enemy - but outside of this enemy it feels similarly unresponsive)
Blocking / parrying is similar. There’s a long delay between when you press block and when you character plays the block animation, and it’s unclear when in this transition you’re technically blocking. I think you count as blocking pretty quickly, so the blocking just looks slow - the animation transition lags behind the state change. You can successfully parry right before an attack lands, so at least parrying isn’t actually slow.
On the other hand, at least in the demo, attacking is genuinely unresponsive.
When you tap attack the move fires on button release rather than button press, which induces some lag as releasing takes extra time. Attacking on release makes sense for moves you hold down to charge, but these aren’t charged attacks.
Later in the game you unlock the ability to charge up basic attacks, so maybe that’s why attacks fire on button release. Typically games handle this sort of overlap (pressing a button does one thing, holding it does another) by playing the on-press animation then transitioning to the on-hold animation when needed. I believe that’s how launchers work in Spider-Man, for example: when you press attack Spider-Man starts his normal attack animation then as you hold he transitions into the launcher animation. For whatever reason here the animation doesn’t even begin to fire until you let go of the button.
Attacks also fire if you press and hold the button for long enough, but that length of time is very long. I assume that timeout also relates to the later ability to charge attacks. You’d never want to activate a standard attack this way.
(Note that this video is taken from the boss mission that unlocks after you beat the main demo area - maybe the controls in the starting area are a bit different since fewer abilities are unlocked)
Even when you tap the button as quickly as possible there’s noticeable delay on attacks. In Street Fighter 6 if I tap jab the reaction is effectively instant - I’m sure there’s technically a delay of a couple frames but it reads as instant. Tapping the button as lightly as possible in Stellar Blade still doesn’t produce anything close to an instant attack. Some people are more perceptive of this than others - to me the two games are a night and day difference.
So the general unresponsiveness of the game is a combination of issues:
There’s some level of engine-wide input lag
Sometimes your character technically enters a state like blocking or dodging but the animation doesn’t reflect that state change for a while, so it looks like your character is in the previous state (the developers have given interviews to this effect)
Attacks happen on button release and animate in slowly. It’s not clear if in this case you’ve technically swapped into attacking state and the animation is lagging behind, or if the state change itself is slow. It doesn’t matter much, since being in attack state isn’t particularly meaningful.
Dodges or blocks during certain parts of attack animations are deferred by design, to make the animations looks nicer and/or to introduce more commitment to attacking. This is a perfectly fine design choice but blends into the other issues.
Inconsistent Input Buffering
The simple explanation of an input buffer is it allows players to input moves a bit early and still have them activate, rather than forcing the player into frame-perfect inputs. Adon in Street Fighter Alpha 2 can combo two crouching strongs.1 This isn’t a “combo string” or a “chain combo” or anything fancy - you just press strong once, then press it again. If you press it too late the second attack activates but doesn’t combo. If you press it too early - while the first attack is still animating - the second attack won’t activate. Precise timing is required.
With an input buffer pressing the second attack a little early would queue it up and fire it off when it’s available. Input buffers are the norm in 3D fighting games and in action/adventure games; you don’t have to worry about tight button timing in Elden Ring. The input buffer in that game is so generous that it can cause problems like accidentally rolling twice or consuming two potions.
There are many variations on input buffers, including some that aren’t actual buffers at all, but the key point is that they make player’s lives easier by honoring their intent. The game does what the player tried to make it do, even if their timing wasn’t exact.
I’ve read complaints from players that Stellar Blade sometimes ignores their input. Some of this is surely due to the general low responsiveness, but the input buffer is also an issue. The input buffering in Stellar Blade feels ad-hoc rather than systemic, not always reflecting player intent.
First, here are the things that work how I’d expect:
During an attack string you can queue up the next attack in a combo
During an attack string you can queue up a dodge or block and it will fire off when available
You can queue up a dodge during a dodge (and a block / parry during a dodge as well I think - I left it out of my notes)
But other things don’t work as expected:
You can’t queue up an attack or jump during a dodge. So if you press dodge and then try to attack out of the dodge nothing happens if you attacked too early.
You can’t queue up a jump after an attack
You can’t queue up an attack after a jump - if you press jump and weak attack in quick succession you get a jump followed by nothing, rather than a jump followed by a quick airborne attack
While landing from a jump you can queue an attack but not a dodge
Most input buffering systems have some special cases, but those special cases try to be invisible and exist to make the system work as expected. Stellar Blade’s input buffering feels like a collection of visible special cases. Sometimes you can queue up either an attack or a dodge, sometimes you can queue up an attack but not a dodge, and sometimes vice-versa. Jumping doesn’t seem to participate in the input buffer at all.
All the things that don’t work can feel like eaten inputs - you jump, land and dodge and the game ignores your dodge input, because for some reason dodge inputs aren’t queued in that scenario. Many players will interpret that as “I pressed dodge but nothing happened.”
Part 2: Movement and Traversal
I wasn’t expecting to have so many issues with movement - character-action games tend to have simple collision geometry and limited or QTE-style movement options, so there’s a low limit on what can go wrong in them. Stellar Blade has complex geometry and movement options, with both systemic and QTE-style traversal, and the end result is ambitious but falls a bit short on execution.
Lack of Fine Movement Control
This video illustrates problems with fine movement control.
Reversing direction while running usually produces a sliding stop that keeps you moving along the same line, but sometimes you get a wider looping turn. (Presumably because while reversing direction your thumb strays a bit - skill issue)
It’s difficult to accurately move short distances when reversing direction. (Second section of video) If you quickly press the stick fully in a direction Eve does an immediate run-then-stop, which covers a fair distance. If you gently press the stick then quickly release she moves less far, but still drifts forward after you let go of the stick.
During the demo I sometimes had trouble lining up with treasure chests, keypads, doors, etc. Not a lot of trouble, but enough to be slightly annoying. The third section of the video shows one source of this problem - if you try to turn 90 degrees while your shoulder’s against a wall you can’t help but move laterally as Eve pivots on one foot rather than from her center point.
The last section of the video illustrates ledge stickiness gone wrong. If you’re near a ledge the game will helpfully make you grab it when you jump, but this help is too aggressive and kicks in even if you’re moving away from the ledge.
On their own none of these are significant problems, but together (along with other issues I’ll get to) they add up. I’ve seen reviews call out the platforming “unwieldy” and I can see why - you don’t have fine control of your character. When capturing video for this blog I noticed many places where I accidentally climbed a ledge or got momentarily hung up on an object. This is the kind of control I’d expect in a more “cinematic”, animation-driven, root-motion driven game, rather than in an action/platforming game.
A consistent issue with Stellar Blade’s movement and traversal is that the systems and level layouts don’t always mesh. Trouble lining up with interactive objects could be fixed by giving the player finer control, but it could also be fixed by making those objects more permissive in terms of required distance and angle. The more animation-centric approach isn’t necessarily bad, it just doesn’t always play nicely with level layout.
Something not in the video is that you can’t control your jump height (at least, not much?) by releasing the jump button early, and the jump steering isn’t great. The demo has a few parked cars that I tried jumping on and over - landing in the spot you want isn’t easy. Sometimes I came up short, jumped too far, or landed where I wanted then slid off. Again that would be fine in some games, but less so in this context.
Movement Inconsistencies
In the first part of this video I’m running alongside a bus while gently pressing into it. I tested this because a) I noticed that Eve sometimes plays a one-handed wall-touching animation while running next to a surface and I wanted to understand when that happened, and b) I noticed that running alongside this bus wasn’t smooth. Sometimes while running I got hung up on the bus and stopped moving until I adjusted the stick. (Presumably because the camera rotated a bit and now I was pressing too towards the bus) Sometimes Eve rapidly jittered while moving, getting stuck for a frame or two at a time. Other times I overshot the end up the bus and rounded the corner by mistake. Running alongside this bus feels rough.
I was never able to reproduce the one-handed glide consistently.
In the second part of the video I try to jump on the bus. This works the opposite of how I’d expect - if I push the stick towards the bus and jump I don’t vault onto it, but if I release the stick entirely then jump Eve grabs on and pulls herself up. The bus is tilted slightly towards the camera - maybe that has something to do with this behavior. But again, it’s unexpected.
In the third section of the video I tried to reproduce another neat animation, where Eve stops and pushes a wall with two hands. I’m sure there’s some logic to when it plays but it feels pretty random - maybe getting a running start into the wall helps a bit but I’m not sure. Intuitively this animation should play when you push directly into the wall - when the stick direction is facing the normal of the wall. In practice who knows.
This is mostly a cosmetic issue (at least in the demo) but it’s another example of inconsistency. But it’s not purely cosmetic - that animation fixes Eve in place rather than doing the normal collide-and-slide.
The last section of the video highlights issues with what I call the hard-landing animation. When you land from a jump Eve plays an animation that looks like a hard landing, but this animation typically doesn’t lock out other animations. It’s a nice cosmetic animation that sells the feeling of landing without affecting the gameplay.
Except sometimes the hard-landing animation isn’t just cosmetic, and does lock out other animations. In the video jumping into a wall forced a version of the hard-landing animation that blocked other animations. Normally you can repeatedly jump by mashing the button, but when pressing into this wall you can’t jump until the landing animation plays out.
In all these cases the game either isn’t doing what I think it should be doing based on my inputs, or what it’s doing is less predictable than I’d like.
Unclear Interactive Surfaces
In the first part of this video I notice a platform, try to jump onto it, and discover it’s surrounded by invisible walls and isn’t interactive.
In the second part of the video I test to see if I can grab a ledge. I can’t - the ledge is purely cosmetic. The lighting in this scene misleadingly highlights the ledge and draws the eye. You can also see other movement issues in this part of the video - while trying to line myself up for the jump I accidentally climb a small pillar, but while running to make the jump I don’t climb a similar pillar I bump into.
Some games have a “what you see is what you get” philosophy to geometry. In Super Mario Brothers or Dark Souls if a surface looks like real geometry it probably is - it has collision matching the shape and you can walk on it, wall jump off it, etc. On the other side of the spectrum sit most Platinum Games offerings, where complex geometry is mostly for show and blocked off by simple invisible walls. In Bayonetta if you’re in an alley with parked cars and overturned tables and brownstone door entrances you’re probably actually in a simple rectangular solid, and all those adornments are just graphics. You can debate these approaches but they’re both learnable.
Stellar Blade is less learnable. Sometimes ledges and platforms are purely cosmetic, but in other places oddly shaped junk piles have matching complex collision geometry. You can clamber up yellow-painted ledges but you can also clamber up normal unmarked ledges - sometimes. Sometimes those ledges have climbable collision geometry and other times they’re just graphics.
Complex Geometry Issues
This last video illustrates some issues with how the character controller and complex geometry interact.
In the first half of the video I jump at a ledge but don’t grab onto it. At a slightly different spot it works. Once on this junk pile Eve behaves erratically - sometimes she floats in mid-air for a while then plays a hard-landing animation. Running into the nearly vertical wall behaves poorly.
In the second half of the video I’m trying to jump around a corner from a junk pile to a walkway. (To be clear you don’t have to do this to progress, I chose to do it) As you can see the video looks awkward and unpredictable. Sometimes I float, other times I’m forced into hard-landing animations for no real reason. I fall into holes, bounce weirdly off surfaces, and get hung up on small outcroppings.
Traversal Issues Wrap Up
There are odd things going on with the character controller and with the collision geometry, but the problems arise more from how these things don’t play nicely together.
The traversal in Stellar Blade is both systemic and QTE-style. When you interact with yellow painted ledges the game uses your input as a broad suggestion to play appropriate animations, similar to games like Uncharted. If ledges aren’t lined up properly Eve will automatically do a diagonal jump. For ledges far apart she’ll do two hops. I’d call this “cinematic” traversal - the designers painted ledges with a special tool and the game plays carefully authored animations for pre-planned scenarios.
But the game also supports systemic traversal. You can vault onto and over surfaces that presumably aren’t specially marked. There are lots of nice traversal animations - Eve can hoist herself up, do a spinning jump, a fancy flip, etc. But interacting with the environment outside of the yellow-painted routes is often awkward as the character controller doesn’t handle complex surfaces well. Or maybe the surfaces are simply too complex for their own good, full of odd angles, jutting overhangs and sharp crevasses.
The end result is that Stellar Blade appears to support free-form systems-based traversal, but trying to use the systemic traversal systems on non-planned routes is less satisfying than it should be. In Breath of the Wild I can climb anything and for the most part it works pretty well; in Stellar Blade I can traverse a lot of things but I don’t want to, because it’s not fun.
It sometimes annoyed me in Bayonetta when an area looked complex but invisible walls shaped it into a cube or circular arena. In Stellar Blade areas look complex and are complex, but I construct my own invisible walls around them - “I can probably climb that junk pile but I’m not going to.”
Maybe this isn’t a huge problem - it’s a combat-focused game after all, not a rock-traversal simulator. But these are the things I’d call out if I was reviewing the work of a traversal team. (And also, apparently the final game has a fair amount of traversal that’s gotten mixed reactions)
Part 3: Odds and Ends
The first two sections were all things I’d bring up if I was brought onto a project midway through development. This last section includes less detailed observations, as well as a some more subjective and personal thoughts I wouldn’t include in that sort of review.
Combat
I was a bit disappointed by the combat system in a few ways. I’d read that the combat was halfway between a Sekiro and a Granblue Fantasy: Relink, which sounds appealing, but I don’t get that impression from playing it. The game has combo strings but these aren’t true combos and there isn’t much juggling or air combos.
Your attacks don’t induce hit stun against most enemies in most situations, so the combat is reactive - you wait for the enemy to attack then parry or do the appropriate color-coded response. But later in the game you apparently unlock more moves that hit stun reliably. So some players interpret the game as mostly reactive, and others complain that bosses can barely fight back. Either way, I was hoping for more of a fighting-game cadence - something between the “hit the enemy twice” of a Souls game and the “air juggle the floating enemy 200 times” of a button mashing ARPG. Something more like Tekken or Street Fighter or even Streets of Rage 4 where proper defense is important but you can unleash moderately fancy combos with the right setups. I can’t blame the game for my mismatched expectations - but I still had them.
I prefer when you play the game rather than what I call “playing the UI.” Avoiding the shadow of a giant meteor attack is playing the game; avoiding a giant red circle on the ground is what I’d call playing the UI - more MMO than action game. (Admittedly this is a blurry distinction)
In Stellar Blade you press towards and dodge for blue attacks, away and dodge for purple attacks, and perfect dodge out of yellow attacks. These indicators are similar to attack indicators in more recent God of War games or Gotham Knights. I prefer “you can do a special dodge through any enemy attack that looks like a forward lunge” to “you can do a special dodge for blue attacks”, as the former demands observation and learning. The latter is little too Simon Says, and a little too lock and key2, for my tastes.
My main complaints with combat, other than responsiveness issues, is that it wasn’t quite what I was looking for - which again, is more a me issue.
Plot and Theme
Maybe this is because Helldivers 2 and Starship Troopers are on my mind, but the opening of the game struck me as a farce. Fat ships deploy tiny shields that uselessly cover only their very front. When easily-shot-down drop pods manage to reach the surface they malfunction, and when they do work women without armor or ranged weapons emerge to die.
It’s not fair to judge the plot from the demo, but it didn’t grab me, either in narrative or theme. Astral Chain has a mundane plot but a cool theme, with anime space cops and a stylish, fitting UI. I have no idea what the plot of Lies of P is but it presented a moody, potentially interesting world. Playing Stellar Blade I wasn’t invested in the mystery of the Naytiba and assumed it would play out along an expected path.
Horndoggedness
I’m not particularly concerned with sexuality and horniness in games - I’m not wringing my hands while watching long video essays about problematic sexualization. (I own Rumble Roses for PS2 - no regrets) That said, while it’s a horny game it’s not a very sexy one - in particular many of the outfits are gaudy. Eve’s combat poses, particular in the legs, look ungraceful - a Chun-Li stance from someone unused to heels. Purely on aesthetics, without any moral calculus, it’s more X-Blades than Nier. It did not spark passion in me the same way some of my Tubi recently-viewed list does.
Culture War Nonsense
“This is the game that’s saving gaming” is, I get it, a silly culture war battle cry, not a serious statement. But it’s a ridiculous statement even given that. Stellar Blade embraces dominant trends, with yellow-painted ledges, a constantly-commentating Navi-style helper character, Detective Vision (every game must have that, it’s the law), familiar skill trees and upgrades and side quests, block pushing and other more-procedure-than-puzzles puzzles3. It’s a well-executed but familiar template, not a breath of fresh air. That’s fine - I’m looking forward to Earth Defense Force 6. But the idea that it’s a harbinger of change is frankly absurd. If other games take cues from Stellar Blade it will probably in the form of something modest like more elaborate combo strings than what’s typically in a Sekiro-like.
And Now, The Conclusion
I went into this expecting to write mostly about dodging. (That’s the gimmick of this series, after all) On a technical level I’m pleasantly surprised by how dodge is implemented.
The input buffering is noticeably ad-hoc but most games don’t totally nail input buffering, and while Stellar Blade’s isn’t ideal it’s not bad.
The apparent input lag - the mix of real engine-level input-lag, slow animation transitions, unclear state changes, and actions on button release rather than press - is bad. Some people might not notice it the way some people don’t notice frame rate, but like improving frame rate, improving input lag (which was reportedly done in the final version, though I’ve heard mixed impressions) would probably make the experience better for everyone.
What stands out to me most, surprisingly, is how much I noticed control quirks - once I started noticing them I couldn’t stop. (I have more footage of traversal issues I’m leaving out) One reason “waggle controls” lacked staying power was the lack of control fidelity - getting the wrong move in Mad World 5% of the time is incredibly frustrating, even if 5% sounds low. Too often in the Stellar Blade demo I found my character stopping too slowly, climbing something I didn’t want to climb, jumping too far, moving to the side when I wanted to move straight ahead, etc. In a game like Uncharted that would be fine, but I draw a distinction between a cinematic adventure game and an action game with more manual platforming. It’s not awful and traversal isn’t the star of the show, so it’s hardly a deal breaker. It’s not dodging in Callisto Protocol, which for me genuinely did sour the experience as whole. It’s just not ideal.
Again this isn’t a review - the point here isn’t to deduct points or “prove” that the game is bad. It could use work but every shipped game could use work. These are simply the small craft issues that stand out to me, especially from the perspective of game feel. Making the best game you can involves working through thousands of small issues like these as best you can.
(And sometimes, knowing when to ignore these issues entirely and move on, but that’s a topic for another time)
What zoomers would term “medium punch”
Where scenarios have a clearly designated response
Some of these are things I didn’t encounter myself in demo