• Mossy Feathers (She/They)@pawb.social
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    4 months ago

    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 (horizontal movement = 0) 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.

    • sp3ctr4l@lemmy.zip
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      4 months ago

      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, the people who revolutionized online multiplayer shooters in the 90s, 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 in their marketing material and public statements.

      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.

      • Mossy Feathers (She/They)@pawb.social
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        edit-2
        4 months ago

        First, to make something clear, I’m not necessarily arguing for or against banning macros, I’m mainly addressing the snap tap/rapid movement change and saying that you could effectively reproduce it with a macro.

        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.

        What I’m saying is that I don’t think that was originally a skill choice, but done out of necessity. It may have eventually become associated with skill, but that the choice likely wasn’t originally intended to increase 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.

        They should play more gzdoom then. Source feels laggy and unresponsive in comparison. :p

        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.

        Only because valve banned it in response to hardware manufacturers.

        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.

        What about deadzones? Those are used for analog buttons and sticks so players can customize how far the player has to press the buttons or tilt the sticks to register a press.

        Valve’s own software allows you to set different deadzones for analog sticks and triggers. I mean, their software on steam deck lets you trigger different actions based on whether the trigger is a full press or partial press. You can have the sticks trigger things based on whether they’re being touched, pressed, or tilted.

        When the steam controller was released, they made a big deal about how you could chord button presses, create macros, create action sets (which change what the buttons do) and so on. Valve’s own system allows for it.

        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.

        And what I’m saying is that it doesn’t require a special keyboard, it just lowered the barrier of entry. As such, I see it as a skill issue, not a cheating issue. What? The player in front of you is wiggling too fast for you to track? Get good. That’s the entire point of the game. It’s not like they’re seeing through walls or automatically locking onto your head.

        Then, what if everyone had these keyboards, or if windows had macro support built-in? Would you still see it as cheating?

        Finally what if someone had a seemingly unnatural ability to press A/D alternating in a way that resulted in <10ms of delay/overlap between inputs, who owned a hyper-sensitive keyboard that triggers keypresses the moment a key moves? They’re able to “wiggle” almost as well as someone using one of these keyboards; except they’re just inherently that good, and their keyboard has no other special abilities except that it’s super sensitive.

        Are they cheating because their natural, unskilled ability rivals that of a so-called cheat device? Would it be more fair to handicap the player with freakish ability, or to allow other players to use devices that negate the inherent difference them?

        Again, I don’t care much about macros being banned; I brought that up simply to state that the fast-tapping, wiggle thing could be at least mostly reproduced via macros. It’s the outrage about new keyboards making it easier to wiggle effectively that annoys me. It comes off as a bunch of people crying because the game suddenly got harder and they don’t want to learn how to aim better.

        Imagine if people complained that racing wheels and peddles made racing games unfair against people using gamepads or keyboards; or that using a hotas setup was cheating in flying games.

        Like, I don’t own one of these keyboards and I don’t play highly competitive fpses anymore, yet it’s still annoying. Like, analog keyboards have a lot of potential to be really cool devices, but I’m concerned they won’t get past the “fad” stage because the analog switches will be associated with cheating.