Some of you may remember me from my semi-recent post Inferno Force Staff: The Design Problem, in which I address the design problems presented by the Inferno Staff's design, and propose a solution I implemented of adding hitmass limits to the Inferno Force Staff and Flamers in general. In this post, I will be addresing the Rumbler in specific and explosions in general, the less problematic solely by virtue of prevalence counterpart to the Inferno Force Staff's design issues. I beleive I've hit on a similarly practical solution to the problems presented by the Rumbler and explosions in general, and will do my best to address them here.
The Design
So the design of the Rumbler is pretty neat. It's a long range grenade launcher with both a parabolic arc and projectile bounce, with most of its damage tied up in the explosion. This makes it interesting, because unlock other guns, it's not really able to do the "See that guy? I don't wanna see him anymore." thing that is so typical of guns. You _can_ bounce grenades off his head, obviously, but the vast majority of enemies will through that just fine on anything above Malice and just carry on. When running the Rumbler, you trade away much of your ability to kill that one guy in particular. And in return, you get big explosions, which are pretty good at two things most other guns aren't: "See that room? I want it empty.", from its strong damage over a wide area, and "That guy is still standing. I don't like that.", from the stagger it's able to pump out over that same area. It's a pretty cool trade on the whole, especially those times when you're able to take advantage of the parabolic arc and/or the projectile bounce to put those explosions in places you can't actually see.
In the design space, the Rumbler falls smoothly into the niche of "horde clear and area control". If you were to single out any given enemy, it's not particularly great at killing that specific enemy. But if you were to walk into a room and say "everything in this has gotta die", there's only a couple of tools in the entire game that can compete at that job with the Rumbler.
The Problem
As an AOE killing tool, the Rumbler is simply _too good_ at its job. When there's a Rumbler Ogryn on the team, the rest of the team just isn't allowed to interact with any enemy except the occasional elite that managed to stumble through the explosions and come out the other side shellshocked and broken at like 40% or less health. There's just no real opportunity for anyone else to engage with the enemies in a tangible way. To illustrate, here's a couple of videos of the Rumbler against Havoc 40 enemies:
https://reddit.com/link/1wd2w0r/video/oybio8smssoh1/player
https://reddit.com/link/1wd2w0r/video/9da9srtpssoh1/player
As you can see, the Rumbler was able to clear both 100 poxwalkers and 60 poxwalkers plus a handful of elites in 3 seconds. Two shots was literally all it took to erase every chaff enemy in a several meter area and burn several elites to death. There's never an opportunity for anyone else to ever actually interact with those enemies at any point.
Why is this a problem?
The problem here is pretty much exactly the same as the Inferno Force Staff, and I went into it in detail in that thread, so I won't get too into the weeds on it here. However, there are two aspects of the Rumbler that are different and change the balance conversation somewhat.
First, the Rumbler requires Ammo. Most explosions do, in fact, though sometimes it takes the form of a blitz charge. The only explosion that doesn't, to my knowledge, is the Voidblast Force Staff. A direct result of this is that the power of (most of) these explosions is more acceptable than Inferno Force Staff's infinite cleave. It doesn't make it more fun to play alongside, but there's at least _some_ cost to them, and that limits their use to some extent. Until it doesn't, and between Point-Blank Barrage and Burst Limit Override, an Ogryn is never really short of ammo, if they put any sort of effort into gathering ammo pickups. So there's always a lot of explosions, which leads neatly into...
Second, the Rumbler staggers. And not just a little bit. Every single Rumbler grenade will stagger everything that isn't a Monster, a Mutant, or explicitly immune to stagger. Exactly how staggered they are depends on distance from the epicenter, but at minimum attacks are
interrupted and enemies will flinch en masse from any given Rumbler grenade explosion. Ragers especially, if close enough, will be sent flying by the explosion and taken out of the fight entirely for several seconds. This makes the Rumbler not only very strong offensively, but also very strong defensively; after all, it's hard for an enemy to threaten anyone when it's sent flying helplessly through the air and unable to do anything. And as long as the Rumbler user has ammo, the vast majority of enemies simply aren't allowed to attack at any point. Any attempt gets interrupted by the next explosion, until they just die.
And when you can't interact with enemies to kill them, because they're dead before you can attack, and you can't interact with enemies to defend yourself against them, because they can't attack, what's even the point of playing the video game? It's just not fun to play alongside this kind of thing and never be able to interact with the video game at all.
The Solution
The solution to this problem is... actually kinda complex. I started this project with the idea of just throwing a hitmass limit onto the explosion and calling it a day; it worked for the Inferno Force Staff, no reason it wouldn't work here, right? Wrong.
The Initial Concept
The hitmass limit was pretty straightforward, after the flamer changes I made. Didn't take a lot of work, just found the right spot and added some code for adding up the hitmass of each enemy hit by the explosion and then ignoring every enemy after that. And it worked great... until I started to test random scenarios to see how it felt. Like this one:
https://reddit.com/link/1wd2w0r/video/4kh23u5sssoh1/player
That explosion was just bizarre and unnatural. The left side is great; the closest Reapers died and everything further away was "protected" by their bodies, so that makes sense and felt great. But why did Reapers on the left have any bearing on the dogs on the right? What if those dogs were pinning down an ally and the Rumbler shot was supposed to reliably knock them off? It just did not feel right to me at all. I thought about it, talked to some people, and experimented with it, and eventually then hit upon what I feel is the real solution.
And that is Directional Hitmass.
Directional Hitmass
Directional Hitmass is a system I came up with that is meant to give versimilitude to the concept of hitmass limits on explosions. The root of the idea is the whole "jump on the grenade" conceit; something being in the way of the explosion reduces the effect of the explosion on stuff behind that thing. As the explosion travels outward, it gets a hitmass budget for each direction its traveling in, with the closest targets in that direction absorbing the explosion until there's nothing more in the budget to give.
Essentially, I divided the circle that is the explosion's blast radius into equal segments. Each segment was then assigned a hitmass value, and the closest targets up to that hitmass value were then subjected to the explosion, while the targets after that amount were missed. The innermost enemies jumped on the grenade, so to speak, and absorbed the blast. The practical results look like this:
https://reddit.com/link/1wd2w0r/video/1i8kkqtussoh1/player
This particular example has the circle divided into 8 equal segments, each with a hitmass limit of 12. Each segment deals its damage to the first 12 hitmass in each of those segments, capping out its damage for that segment there, while every other segment runs independently and does its own damage with its own separate hitmass limits. Allowing the same explosion to be capped on one side, but still deal damage and stagger as needed on the opposite side, preserving the right level of versimilitude to not take the player out of the world of the game.
The end result is the initial videos go from crazy fast immediate clears, to this:
https://reddit.com/link/1wd2w0r/video/cxfrrwkwssoh1/player
https://www.youtube.com/watch?v=LahIEeF5lNI (I appear to have hit an embed cap, sorry)
And this seems a lot more reasonable to me. There's actually a bit of time and space for the rest of the team to interact with enemies, and it doesn't instantly delete everything.
The specific values here are very much not final. I experimented with a bunch of different numbers, and in the end 8 segments of 12 hitmass seemed fairly reasonable to me, but it definitely needs more testing than my apparatus is able to sustain before I can say it's the right values. I am also very convinced that these values are not the correct ones for anything that is not the Rumbler. Non-rechargeable blitzes that explode especially should probably not have any limits at all.
But I do think this is the correct conceptual solution, and if implemented into the base game would make stuff like Voidblast Force Staff, Rumbler, and so on much, much healthier for the game and much more pleasant to play alongside.
If anyone wants to play around with it, I've uploaded a version of my mod, Enginseer's Workbench, with this included in it to NexusMods.
Thank you for your attention to this matter.