There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

MossyFeathers ,

It’s not automation though. It’s just changing the way A and D interact. Like, it’s not sending any extra commands, if anything it’s sending fewer commands.

sp3tr4l ,

The title is more general, and not incorrect.

In CS2, Valve is going to be banning Snap Tap / Simultaneous Opposing Cardinal Directions in addition to any kind of bind that allows one key to execute multiple game inputs, like jump throws, which is automation, or a macro.

While the exact definition of ‘automation’ can be argued to death, its clear (to many players and also Valve) that having a specific fancy keyboard that compensates for a players low dexterity to allow them to perform as if they have much higher dexterity constitutes cheating in a game where a whole lot of the trained skill … is dexterity.

MossyFeathers ,

It doesn’t require a fancy keyboard though. If anything, that’s how keyboards usually work, it takes conscious effort to stop them from working that way. Personally I had to learn how to program character controllers so they wouldn’t function like snap tap.

Even so though, I’m 90% sure you could use a macro to do the same exact thing so long as you have a keyboard with n-key rollover (afaik most keyboards have it nowadays)

sp3tr4l , (edited )

Ive outlined something at least 90% accurate to how this works in another post I just made.

We are talking about the keyboard itself intelligently adjusting its sensitivity thresholds for keys conditionally, and also intelligently cancelling keyboard input signals, all according to software/hardware on the keyboard itself.

Its happening at a lower level than the program receiving the inputs from the keyboard.

The differences are in 10s of ms, but this becomes a huge advantage of artificially granted, reduced reaction time in extremely fast paced twitchy games.

Also, a macro usually refers to a situation where a key is bound to give the input of multiple inputs simultaneously (jump+grenade), or, a set, timed recording of specific key presses, all initiated by pushing one specific key.

Sure, you could make a macro for strafe left then right then left then right for 3 seconds… but this keyboard tech makes it so you can have a faster reaction time and have the ability to do the equivalent of making up such a ‘dodge dance’ on the fly, customized to your exact situation at the time.

Chained command macros really only make sense in MMOs or fighting games, they don’t usually make much sense in FPSs.

MossyFeathers ,

I understand how it works (or at least I think I do) and why people consider it cheating; what I’m saying is that that’s just how keyboards usually work and the reason why they don’t always work that way in games is an intentional decision.

Don’t believe me? Open up a word processor. Hold the A key. Notice how it starts entering a line of As? Now, while holding the A key, press and hold the D key. It should start entering a line of Ds. Then, when you release the D key but keep holding the A key, it should start entering a line of As again (at least that’s what used to happen). This is the most likely to work if your keyboard has true n-key rollover, but it may still work regardless.

If that doesn’t work, try a different key combo, your keyboard may be losing inputs due to conflicting inputs (or word processors may have changed how they deal with simultaneous keypresses). Cheap keyboards will combine sets of keys to cut down on complexity and cost, however it can result in some key combos becoming impossible to input. That’s why n-key rollover is awesome.

So why does holding strafe left/right (and forward/back) result in null combinations?

I suspect that it’s due to controller support. Instead of having a series of if-then statements which directly translate a keypress into movement (something a lot of new game developers do), they’re likely translating keypresses into a 2d vector which gets applied to your character’s movement speed. An “A” press would correspond to “1”, a “D” press would result in “-1”. These get combined and become “0”.

Why do it that way?

Because controllers use analog input, so you aren’t going to get a “1” or “-1” without fully tilting the stick. However, a half-tilt shouldn’t result in a “1”, it should result in a “(-)0.5”. That “0.5” is then multiplied by the player’s move speed and (optionally) the player’s current vector gets interpolated to the new vector.

So what is the keyboard doing that stops the null state from occurring?

It’s basically overriding the A key when the D key is pressed (not sure if it’s actually “lifting” the A key or just throwing away the input, either works) or vice versa; and then pressing the A key again when the D key is released (assuming the A key is still being held). You can make a macro to simulate this behavior.

As far as sensitivity thresholds go, so what? People have been able to do that with analog sticks (and sometimes analog triggers, depending on the game) for like, forever. Hell, you used to be able to mix controller, keyboard and mouse controls to get analog movement and mouse control (like those standalone “macro/num pads” with the thumb stick). I dunno if it’s still possible or if driver changes have nullified it, but regardless, imo analog keyboards are overdue. Getting mad about it is like someone getting mad about mouse-look in the 90s.

sp3tr4l ,

In the Source engine and for many other shooters, A+D and W+S do not result in a null input, they are two registered inputs that by engine and game design cancel each other out and result in a null output.

It is as you say in that 1 and -1 result in 0, but this is done in the game’s movement code, intentionally, to force players to learn to only press one of the two opposing keys at once, as a skill.

Theres a reason many pc FPS players consider the source engine to be the gold standard for control responsiveness and player movement design/feel, and this is one of them.

Its not from an inability of the game or engine to handle too many inputs.

Also I am fairly sure the macro set up you are describing to allow for the strafe cancelling is a null bind, which Valve has also banned.

Either way, you are not understanding the entire concept of intelligent, dynamically sensitive key switches in the keyboard itself, resulting in dramatically (for a twitch shooter) decreased reaction times from the same actions done on a different keyboard…

This is different than just setting your mouse dpi to be more sensitive, or your analog sticks to be more sensitive, or your whole keyboard to have less travel time.

Having a hyper sensitive keyboard basically always results in a lower skill/dexterity player accidentally doing even more w/s or a/d nullification or unintended movements. This new tech is different.

It reduces the skill and dexterity required to play like a seasoned pro by intelligently changing the travel threshold dynamically depending on how far pressed the keys are and whether they are being released or being pressed down.

You say its like getting mad about mouse look in the 90s, and Valve is saying, no, its not, in fact, its so bullshit we are banning it.

FFS, the companies that are marketing these keyboards are themselves saying it either is cheating or is basically cheating.

And yes, while it has been technically possible for a long time to do weird things with inputs, most games and communities that take themselves seriously view certain forms of this as cheating.

Its getting banned now because now we have keyboard manufacturers just straight up releasing keyboards with features that exceed in speed what used to only be done by a handful of people with too much time on their hands.

catloaf ,

The article doesn’t explain it, but it sounds like the keyboards are detecting a transition from A to D and making it happen faster, instead of having a momentary dead zone while both are pressed. That’s definitely getting an advantage from something out-of-game, which is cheating.

nekusoul ,
@nekusoul@lemmy.nekusoul.de avatar

While being able to do this from outside the game is definitely cheating, I’d personally say that being able to decide what happens with conflicting inputs should be an option in any game where that matters.

Whenever I start pressing A while I’m still holding D it should be obvious that I now intend to go left, so the game should interpret it that way.

catloaf ,

Yes, but the game doesn’t necessarily even see those inputs. What a keyboard transmits, and how the OS handles it, is a complicated process with a bunch of legacy handling code. Often, if you’re pressing more than one key, the keyboard might send only one of them.

I remember in one game I used to play, I would hold W to go forward, and shift to boost, but if I wanted to turn left or right, only adding D would be recognized. Pressing A would do nothing at all, no turning left.

nekusoul ,
@nekusoul@lemmy.nekusoul.de avatar

Isn’t the issue you’re describing less about the OS and more about cheap keyboards with awful or nonexistent NKRO? On my keyboard with full NKRO I can press as many keys as I want and the OS will recognize all of them being pressed without fail.

Also, if I’m in a text editorand hold down one key, then start holding down another one, the new one is immediately picked up, which is pretty much identical to this situation.

MossyFeathers ,

Afaik it should see both inputs simultaneously if you have n-key rollover, which is a pretty common feature now. I think the last time I was looking for a keyboard, they all advertised n-key rollover. As such, it’d be on the game, not the OS.

You can actually test this in the Unity editor if you have some programming experience (or I assume any other engine for that matter). It’s very easy to write a character controller in which A+D results in the game using the last input instead of adding the inputs together. I actually had to learn how to make a game not do that. It wouldn’t function exactly like the keyboards currently under fire, but it would function very similarly.

I’m pretty sure you can also do this very easily with a macro (assuming you have a keyboard with n-key rollover), no special keyboard required as well.

Edit: your specific example is an example of a cheap keyboard losing inputs, which n-key rollover fixes. Ironically, find the right cheap keyboard and you might be able to partially reproduce the effect they’re talking about (having one key override another other).

sp3tr4l , (edited )

So, keys on a board normally have a specific travel distance (depending on switch type) that they must be pressed to flip between ‘pressed’ and ‘not pressed’.

This tech uses fancy keyboards with fancy switches and fancy software (on the keyboard) to change the required travel distance of one key to register, dependant on the travel distance of another key, and then also alter the output state of the other key.

So, if normally you needed 80% travel to register a key… lets say it takes a player 100 ms to push D to 100% then another 100 ms to fully release D and fully push A to 100%, simultaneously.

Timeline:

0 to 80ms of nothing.

At 80ms, D is registered, strafing right

80 to 120ms, or 40ms of strafing right.

At 120ms, D is unregistered.

120ms to 180ms of no movement.

At 180ms, A is registered, strafing left.

180ms onward of left strafing.

An initial delay of 80ms, 60ms of nothing, then leftward movement after 180ms.

Thrown on fancy bullshit, and the software say, changes A to need only a 20% travel to register while D is past 80%, and this also cancels D once A gets past 20%.

Also, this software says that if no strafing inputs are being received, and then one is, that input only needs 20% to register.

New timeline:

0 to 20 ms of nothing.

At 20ms, D is registered, right strafing.

20 to 120 ms of right strafing.

At 120 ms, D is unregistered and A is registered, left strafing.

120ms onward of left strafing.

Now you have an initial 20ms delay, absolutely no non strafing time, and you get to left strafing after only 120ms.

So, you’ve now initially started moving 4x faster, totally eliminated your non strafing time, and gotten to your end desired strafe direction in 33% (60ms) faster than before.

This is a huge crutch in a fast paced twitchy competitive game.

I have seen videos of these keyboard being used with floating/flying characters in OW2 and it basically allows you to jitter your character 2 meters to the right and left almost instantly, such that it looks like you are fighting against someone with movement hacks. Nearly impossible to hit someone doing this… without an aimbot, lol.

RightHandOfIkaros ,

Good. If the skill is humanly possible, let the human learn it. Otherwise don’t allow it. Easy stance to take.

shnizmuffin ,
@shnizmuffin@lemmy.inbutts.lol avatar

An eternity ago, I got really good at manually strafe-hopping in Team Fortress Classic. I got banned from a few pubs for “scripting” anyway.

I don’t like banning users because of the devices they use or the technical knowledge they have. I feel like the onus should be on the development team to make hardware or software macros impossible or unnecessary. Like, maybe the switch from left to right has a random interval that would instantly nerf a script. Or maybe the apex of a player’s jump is also a little variable or random - or deeply tied to their momentum in a weird way.

Barely noticeable changes for natural players, kryptonite to script kiddies and Mad Katz Turbo Mode, but still accessible to people with disabilities who legitimately need macros or weird hardware because they only have 2 fingers or whatever.

sp3tr4l ,

I feel like the onus should be on the development team to make hardware or software macros impossible or unnecessary.

This is what they are doing.

They like the mechanic of jump tossing, which was previously often done with macros, so they’re altering the game to make it easier to do, making macros unnecessary.

They do not like … augmented strafing, as they feel it gives an unfair advantage to those with more expensive kit, so they are implementing server side detection methods to make it impossible.

shnizmuffin ,
@shnizmuffin@lemmy.inbutts.lol avatar

Yeah, I know. I was speaking in general terms.

mindbleach ,

Some skills are obnoxious to learn but grant immense advantage. It’s bad design. If a simple keyboard macro is such a big deal, the game should do it for all players, as a quality-of-life feature. It should be how the game works.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines