Jump to content

Dev Diary - Knock, Knock...

Number Six

Recommended Posts

  • Homecoming Team
10 hours ago, BillyMailman said:

Okay, I know the answer is probably completely useless, but the power math nerd in my heart has to ask: Why 38 distance 7 - - 19 / dup dup * * and not 45 distance - 19 / dup dup * * ? Is there some magic where the - operator is removing non-negatives and resulting in distance 7 - being a minimum of zero, and that's what stops the magnitude from going off to infinity? Because if so, that's both terrible that it clamps out negatives that way, and also a fantastic hack to prevent infinite magnitudes, even though the inner radius 7 should do that anyway. And if not, that just seems like a really odd way to do the subtraction.


Nothing quite so interesting. That expression is the result of several iterations of development to try out different rates of pull and find something that felt right. It started out with distance 7 -, using an assumption that the inner radius should be the starting point of the calculation, and everything was built up around that but left separate so it could be easily tweaked. By pure chance the final version of it ended up using a construct that made the outer radius be the starting point and ignored the inner entirely, but I didn't bother to simplify the expression.


The CoD parser tries to reformat it, but it's partly hampered by not being written to handle things like exponents. I not sure if UberGuy even knew the dup keyword was a thing until this power went in.


10 hours ago, BillyMailman said:

I look forward to the day when you're hopefully able to have the KB-to-KD IOs just change the vector stuff, so a KD-ified power doesn't still knock Clockwork backwards. Because that would be amazing if you could eventually make it happen


You might be interested to know that I speculated about this possibility when writing up the design for vectored knock. This is one of the extra notes or 'useful tricks':



KB -> KD enhancements like Overwhelming Force and Sudden Acceleration can be reimagined as zero-magnitude Knock procs that have a high priority. This has the advantage of always working regardless if other unehancable KB or KU procs apply on the same tick and cause magnitude stacking.
Effect {
        Tag "Knock"
        AttribMod {
                Attrib kKnock
                Aspect kCur
                Target kTarget
                Table "Melee_Ones"
                Scale 0
                StackType kReplace
                Flags IgnoreStrength IgnoreResistance
                Params Knock {
                    VecEnd Down
                    Priority 10
                    Vel 0
                    VelMag 0
                    Height 0
                    HeightMag 0


The way that works is by adding a proc to every activation of the power the enhancement is slotted in that does a mag 0 knock. That will normally do nothing at all, but because it has a Priority 10 downwards vector, the one thing it does is to override any other knock from that source entity on the same server tick and replace it with the higher priority down vector.


After some thought I came to the conclusion that while it's a neat trick, that wouldn't actually work for every case because some powers deal the knockback on a delay timer rather than right when the power hits, so this trick would miss converting those. Doing it properly will require some mechanism to override effect parameters of another power at activation time.

  • Like 2
Link to comment
Share on other sites

Ahhh, yeah. See, I was thinking something like what's in Bonfire/Whirlwind/Tornado/etc. with the ReduceIfKD tag, where knock powers would have one component at 100% chance with ReduceIfKD and the normal vector, and another component at a 0% chance with the same magnitude, tagged IncreaseIfKD and set to vector downwards. Then the KB-to-KD IO becomes purely the tag chance changes. It would mean KD-ifying things wouldn't actually change the magnitude, and a six-piece Sudden Acceleration wouldn't be a massive contradiction. And Bonfire/etc. just need their KD component set to something like -60% starting chance, or whatever, to still have the lower chance when KD'd.


I realize the crazy amount of work that would be needed to get that rigged up in every single player-usable power, of course, and hoped there was a less ridiculous way I wasn't seeing. Unfortunately, while you might be able to automate some of the changes, a lot of knockback powers also have complicated crap, have two knockback effects for PvE/PvP, etc., so probably a lot of it would need manual adjusting.


Ah, well. All of this is still damn awesome. Thanks again, Six!

Pinnacle refugee. Powers and math guy.

Link to comment
Share on other sites

  • 1 month later

Were any existing KB mechanics updated to use repel in either page3 or the Winter update?  Sneak preview?  Testing? "See if anyone notices?"


I noticed some odd / different behavior while exemping lower level content over the Christmas and New Year's holidays.  Two details I recall:


1) In the Posi (2?) mission with clockwork and CoT, I seemed to be repelled/knocked by a Force Mage under the stairs into another group of clockwork.  I was on my warshade in black dwarf form at the time, which has like mag 200 knockback protection.  The first time it happened I wondered if I accidentally jumped and it was stuck, but it happened a second time in that battle.  Mids doesn't list any repel protection for Dwarf form.  Is this intended for a massive object that stumps around the map with Thud Thud Thud?


2) In the badge mission for "Spirit Warrior", the three destructible objects seemed to use repel instead of KB.  My KB defense (on my /shield scrapper now) seemed to have no effect, and I was held against the wall for a noticeable second or two.  As I look into Mids, the "Active Defense" power should have mag 10 Repel protection, yet it seemed like I was knocked around with every explosion.  It's *possible* that it wore off, though, as I as exemped down and was playing with debuffs and/or without enhancements for Ouro badges.  Still, it seemed different.


Link to comment
Share on other sites

I have a question for @Number Six about the actual mez effects of this vectored knock system.


My understanding (which may be wrong) is that while you're being repelled, you can still use powers as normal, while if you're knocked, you can't use powers until the "stand back up" animation has finished playing.  Is that just "magic" in the code?  Like, there's not a switch for it in a power effect?  You mentioned replacing repel with the vectored knock system, how does that interact with the mez effect of knocks versus repels?  Is there technology for keeping people mezzed while they're being moved around in a slower-than-usual way?  Ki Push does this by combining a repel with a hold and then a knockdown at the end, but, while it's cool when it works, the fact that these are three totally separate effects ends up being clumsy (like, a character with hold resistance may be unmezzed for the latter part of the repel, and then re-mezzed by the knock).

Link to comment
Share on other sites

  • 1 month later

Very interesting, a thought about Force Move and as I have no programing knowledge what so ever feel free to immediately discard this. . . . 


Force Move seems like an interesting basis for a control power.  Imagine a power, call it, Gather, that has a large AoE that causes foes to be compelled to move from their scattered group into the proverbial 'Fireball Formation'.  So many times in missions, enemies are scattered on the set up, not as Covid social distancing, but to avoid AoEs.  There are complaints from melee and AoE blasters when Controlers us an immobilize power early and the enemies stay scattered.  In a way it is a control power because when an enemy is moving it is not attacking.  (In that way the knock powers are damage mitigation powers, it the enemy is getting up it is not using that time to attack.)  


Thematically, forcing an enemy to walk and gather in a spot is different from a power drawing them in (which can be fun too). 


Just a thought, and Thank you for all that you do!

Link to comment
Share on other sites

Thank you @Number Six, what an interesting read! I am also so impressed by this and everything the HC team are doing, and I don’t impress easily! 

This seems to have great potential application for Telekinesis and Gravity Control. As well as other sets potentially, such as Energy Blast.



Retired, October 2022.

Fallout Engineer Rad/AR Defender || Peacemoon Empathy/Psi Defender || Svarteir Dark/Dark Controller

Everlasting || UK Timezone

Link to comment
Share on other sites

  • 4 weeks later

I've been playing my water/ice blaster for the last few days and was thinking that the 'gravity' effect described might be a good fit for dehydrate. All the water in an enemy's body is getting forcibly drained. It's going to drag them towards you, just a little, or even knock them forward.

Link to comment
Share on other sites

  • 2 months later
On 11/17/2021 at 9:31 PM, Number Six said:

Afterward - What about ForceMove?


Some of you reading this may have dug around enough to be familiar with an unused special attribute in the code called kForceMove, and are thinking ‘Hey, wait a minute, why not just use that?’ For those who haven’t, ForceMove is a special attribute that does what it says on the tin and forces an entity to move to a specific location.


After about 15 minutes of looking at the ForceMove implementation it was clear that it would be a bad idea to use it for anything, ever. It’s obviously a very early work in progress meant only to test the idea.


How ForceMove works is:

If the target is a critter (NPC), it instructs the AI to move to that location. The AI constructs a path and walks there. It doesn’t even use wire movement, it just walks along the path.


Worse, if the target is a player - doesn’t matter if we’re talking PVP or a power you use on yourself - it sends a network packet to the client that tells the client to lock autofollow on the destination coordinates. Then the client tries to move there just like you had click-to-move turned on. The latency alone between the client and server’s view of the world makes this a bad idea, and I’m sure anyone who’s used autofollow while multiboxing is shuddering right now just because of how unreliable it can be.


There’s also the issue of targeting the ForceMove. The test powers that use it make use of another new feature called kPosition targeting which is a good idea, but also was still fairly early in the design process and there are a number of issues with the implementation. The biggest one is that the target location is resolved not at power activation, but rather at the moment the power is queued. For NPCs that’s not really a problem, but players queue powers all the time while they’re out of range or out of endurance or otherwise in a situation where it won’t actually activate for a long time. In that case, the location used for the power would be relative to the place where the player queued the power rather than where they were when it became able to activate.


TL;DR: The idea of ForceMove is interesting, and its best use case would probably be something like a “Charge” power that runs toward a target. However before that could happen the implementation needs to be scrapped and rethought.


Ah, Hello No.6.


A very intriguing dev' diary.


A friend introduced me to Sonic Manipulation.  The 1st thing he sent me?  A screen shot of the sonic 'fist'  (which works similar to Power Thrust from Energy Manipulation...) sending a mob flying in the tutorial zone.  He said, 'Have you seen this?  Yes, he's zooming along the floor...'


The amount of Council Vampires that I've 'bowled' using that power...


That sold me on Sonic Manipulation.  L50.  1 billion in influence.  Tier 3 incarnates.  All in short order.  That one power sold me on Sonic Manipulation.  I'm a big fan of knockback/down/across/up.  It's iconic.  It's superhero iconic.  I'm glad HC devs get that.


I take it Sonic Manipulation Tier 1 Sonic 'Thrust' uses this new vector mechanic?





Edited by Golden Azrael
  • Thumbs Up 1
Link to comment
Share on other sites

14 hours ago, Panthonca7034 said:

@Number Six


We really love and appreciate all you guys are doing for us, and can't wait to see the new stuff coming up in the new pages. 😉




And is it 'just me' or do the mobs now 'bounce off walls' when you clobber them/blast them against the walls?  I never noticed them bouncing off the walls before.



Link to comment
Share on other sites

On 11/18/2021 at 3:23 PM, Proteus50 said:



 Can we please please have WHIRPOOL have the power to "SUCK IN" just the way SINGULARITY does it.  
WE all know it makes sense and it is the way a WHIRPOOL should do. 

Link to comment
Share on other sites


"kKnockUp was deprecated. Now that powers can specify what direction they want to knock something, having a separate attribute for it became wholly redundant. It still exists for compatibility reasons, but will eventually be fully replaced by kKnock effects and removed"


First Question(s) For clarification and me trying to understand this- Does this mean that The KnockUp that is currently used with the animation/power on my dual blades melee tanker- even though it says knock"back" it doesn't knock"backwards" flinging them outwards, it knocks them up  into the air and they fall down, it's nice it works well, I don't have to chase the bad guys on my tanker a lot when engaged in keeping aggro, this is on my dual blade powers that she has where she whacks someone up into the air and they fall down, is that now going to be knock back as it will put them a further distance away? Or has this already been subtly changed and nothing will happen differently?

The powers I'm inquiring about on this dual blades melee are

Vengeful slice




One Thousand cuts

Veng Slice 1




Second question - I play on storm character/controller/corrupter/defender - and use the KB powers defensively for my character and team, I don't want the bad guys near me when I play a storm character, i like that things are knocked back away from my character or who I may be defending.  Will this now not keep the things I"m fighting away from me on a storm power character?



Other random questions: I love meteor on seismic and what it does for KB I use it defensively sometimes and offensively other times,  depending on how I"m playing.  Would this still knock them back to the outer limits because it's awesome & I immensely enjoy when I use it that way.

Mind powers: Telekinesis power - currently listed as "repel" in the description - useful in PvP and in PvE is that going to be changing?

ForceField powers - Force Bubble - listed with both Repel and Knockdown

Also repulsion bubble in FF is listed with Knockback will it still be able to do that?  

The Grenade in AR - I use it to knock back the bad guys away from me defensively as well as keep them off the squishies who are on my team who are getting aggro when that's needed, am I still going to be able to do that?



Last Edit: Or are these going to be independent choices that we can make per character? Like do we want to have the current build of KB or KU or KD feature still or whatever you may be adding to just plain knock? whatever that knock looks like, with all the numbers that I don't currently comprehend.


Edited by Zappalina
adding question at the end

Buddy the Elf makes debut for HUB Late Night


Link to comment
Share on other sites

Vengeful Slice and 1,000 Cuts both do knock"down," which is to say low-magnitude (0.67, in this case) knockback.  Basically it's knockback with no actual distance, so they immediately cut to the end-of-knockback animation where they fall down and then get back up again.


Knockup is a relatively rare power effect.  The power that immediately comes to mind that has it is Air Superiority from the Flight powerpool.  Superstrength's Knockout Blow has it as well, plus Crushing Uppercut from Street Justice and Jawbreaker from War Mace.  I'm sure there are other examples, but most knocks in the game are back/down.


What the dev in this thread is talking about should be basically unchanged in terms of the effects that you see on screen.  Maybe very subtle differences.  But they aren't talking about removing knock effects from powers, they're talking about making changes in the way that the game represents the same or very similar effects.

Edited by aethereal
  • Thumbs Up 2
Link to comment
Share on other sites


  • Create New...