Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Suggestion/theorycraft] Condensing and rethinking controls for better fluency #166

Open
D3SL opened this issue Apr 30, 2023 · 6 comments
Open
Labels
enhancement New feature or request

Comments

@D3SL
Copy link

D3SL commented Apr 30, 2023

I'm running ParCool with Project War Dance and Better Combat and the three feel fantastic together. The one thing really holding me back is the controls. There's two main issues crippling the mod imho. The first is that combined with stock movement controls you wind up with 11 total keybinds, and the second is doing even fairly simple things requires way too many separate inputs.

Say I want to cat jump across a gap, wall run a bit, wall jump, slide to the edge of a platform, and then hang off the end. With the current control scheme that will take eight separate keybinds, several of which need to be held in sets: Two for directional movement, a third for sprint/fastrun, fourth to tap sneak, fifth to hold for wallrun, sixth to tap walljump while holding wallrun, seventh to hold with sprint for the slide, eighth to hold for the ledge hang at the end. Keyboard rollover might even make this impossible for some people depending on their bindings.

I think Warframe and Mirror's Edge are good inspirations to draw from. In Warframe you only need jump, crouch, sprint, and wallhangs are done using your aim-down-sights key. Mirror's Edge made it even simpler by analogizing all movements to "up" and "down" controls plus movement.

What I would suggest is following that tradition:
Sprint and fast-run officially become the same thing
Sliding becomes sneaking while sprinting instead of a separate crawl bind
Cat Jumping becomes sneak+jump during a sprint
Horizontal Wall Running becomes sprinting while in the air against a wall instead of a separate bind
Wall Jumping is just jumping (already works)
Wall Sliding becomes sneaking against a wall (more or less already works)

That leaves Hang and Ledge Cling. I thought about the default RMB binding, removing the conflict that overrides block interaction so you could do both, but that could cause a lot of heartache by opening a block UI when what you want to do is catch the ledge you're hurtling past. Having these as the only mandatory unique separate binding wouldn't be too bad at all though.

@D3SL D3SL added the bug Something isn't working label Apr 30, 2023
@alRex-U
Copy link
Owner

alRex-U commented Apr 30, 2023

First, I need to say thanks to you for playing this mod and posting such long text.

However, I am not so willing to follow your suggestion.
I also am thinking this mod's keybindings are too many. Of course, when less keybindings exist, it will be easier to maintain mods.

Then why I don't remove them. This is because some players want to bind input of different action to each keys.
Maybe you don't know but for example in the past, wall-jump keybind didn't exist. The reason is obvious, right? It is just "jump", so that its input was "jump" key(space), should have been natural.

Can you image? One day a player said to me, "I want to re-bind wall-jump key to other keys so please add it as a new keybind." Not only wall-jump, but also one of fast-run, cling-to-cliff, dodge was requested too.
By the way, recently I received a request to add new keybind for Diving action. haha

One of this mod's characteristics is high customizablity. Even if players thought to use those keybind with one key, what is needed would be just to bind all of them to one key. There ware no obstacles to do it, except implementation cost. Why don't do it?
Of course, actually those key isn't binded to each ones as you know. it's opt-in.

It is same about integration of Fast-Run and Sprint. Some players want that they are separated. I know the other players want to integrate them, so there are some configs for it.

These are all separated bacause there are reason why they should be separated. Even if so, should I integate them?

@alRex-U alRex-U added enhancement New feature or request and removed bug Something isn't working labels Apr 30, 2023
@D3SL
Copy link
Author

D3SL commented Apr 30, 2023

I don't disagree at all with giving people the choice to have a distinct bind, my issue was that currently it's not possible to double-up on several of them. For example I can't put sprint and wall-run on the same key even though the two would physically never conflict since one only works on the ground and one only works in the air adjacent to a wall.

@alRex-U
Copy link
Owner

alRex-U commented May 2, 2023

Why cannot you put sprint and wall run input on same keys?
Is it cause unnatural behaviors?

@D3SL
Copy link
Author

D3SL commented May 2, 2023

Yes, if I put them on the same key they block each other and only sprint works. The same with putting hang/grab on the same key as "use block" (RMB by default), they also block each other and only grab/hang will work while interacting with entities is blocked.

@Darkmega18
Copy link

Darkmega18 commented May 14, 2023

I'm running ParCool with Project War Dance and Better Combat and the three feel fantastic together.

oh! a war dance user! :O
D3SL I think you might be having some keybind issues or might be missing some keybind improving mods that I'm using? Not sure what, but I've got a number of mobility changing mods myself. Controlling and keyboard wizard come to mind for keybinds.

I've got keybinds roughly set up to:

Dodges are handled by elenai dodge and feathers on alt. however alt needs to be clear of all other non-combination keybinds otherwise dodge fails to activate.

a+d together is flip. don't use a dedicated keybind.

Ctrl wall runs. ctrl is also default control for starting a sprint without double tapping.

fast sprint is set to always be when sprinting. Vaulting just requires a little bit of space first before it starts triggering. Unsure if you gotta keep holding control in my setup to do them.

Ctrl+Shift is prone but also slide which combines with war dance's to give you i-frames in combat mode. Ctrl has to be held first, followed by shift to slide with war dance and parcool combined.

rightclick grabs onto ledges and hangs from stuff.

Shift is actually wall grab from wall jump mod with it's usual controls, with wall slide turned off from this because wall sliding comes after the wall grabs in wall jump.
Parcool wall jump remains on space so you can kick off from a wall run. However sometimes you might do it by accident when jumping near wall faces in caves and such resulting in slightly diagonal jumps when you don't want to...

Shift also continues to work for sneak, on quick tap to do catleaps while sprinting and is also my control for fall breaking rolls. they all work.

I don't use quick turn.
parcool dodges are turned off cause the double tap trigger can get you killed and elenai dodge exists with damage resistance (not full i-frames, you still get flinched and launched but can take no damage from a warden sonic blast cause it's treated like resistance 5 I think) .

Give those controls a try perhaps? They're mostly condensed into the movement key areas. it just takes some time to remember to use and also to get the muscle memory going. Since I used to use move plus for ledge climbing etc. and I still sometimes end up holding control to climb ledges now instead of rightclick to grab then pull up. >_<

@BlaineMarlow
Copy link

These keybinds have streamlined ParCool controls for me a lot.
Most notable are changing default sneak to left alt solves many many conflicts with other mods
and setting a lot of the ParCool controls to simply W makes it a no brainer.
Love this mod.

key_key.sneak:key.keyboard.left.alt

key_key.parcool.Enable:key.keyboard.p:CONTROL
key_key.parcool.Crawl:key.keyboard.c
key_key.parcool.ClingToCliff:key.keyboard.w
key_key.parcool.Breakfall:key.keyboard.w
key_key.parcool.FastRun:key.keyboard.left.control
key_key.parcool.Dodge:key.keyboard.left.shift
key_key.parcool.WallSlide:key.keyboard.w
key_key.parcool.WallJump:key.keyboard.left.alt
key_key.parcool.Vault:key.keyboard.unknown
key_key.parcool.HorizontalWallRun:key.keyboard.left.shift
key_key.parcool.openSetting:key.keyboard.p:ALT
key_key.parcool.QuickTurn:key.keyboard.x
key_key.parcool.Flipping:key.keyboard.v
key_key.parcool.HangDown:key.keyboard.left.shift

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants