DFU Melee Animation Speed Feedback

Discuss Daggerfall Unity and Daggerfall Tools for Unity.
Post Reply
User avatar
Interkarma
Posts: 6519
Joined: Sun Mar 22, 2015 1:51 am

DFU Melee Animation Speed Feedback

Post by Interkarma »

Initiated by Pango based on some feedback from Twitter. I'd rather open this up to a new topic than continue in an older, unrelated topic.

The speed at which a weapon swing animates is managed by FormulaHelper.GetMeleeWeaponAnimTime() (which is overridable by mods). This does the following work, which I understand is reverse engineered from classic by Allofich.

Code: Select all

float speed = 3 * (115 - player.Stats.LiveSpeed);
return speed / classicFrameUpdate;
The classicFrameUpdate value is a best approximation of classic's internal weapon frame time, which is going to be subject to differences based on CPU speed in classic. There's no "correct" value here and it's fairly subjective. The classicFrameUpdate value is also used to compute bow cooldown time between shots.

Then there's the matter of gesture sensitivity to trigger/retrigger an attack animation. Gesture initiation is measured based on percent of mouse travel over screen area. This is tuned by AttackThreshold in settings. This is going to be highly variable based on user's selected resolution and whether DFU is running in exclusive fullscreen or borderless fullscreen over desktop.

The default AttackThreshold value is intended to trigger after a small amount of mouse travel at 1080p (default is 0.03), but I find that I need a much more sensitive value (about 0.0075 - 0.015) to feel good on my 4K/UHD display. Classic never had this issue as it was tuned on a fixed 320x200 area for measuring mouse travel. Classic never had to contend with varying resolutions and aspect ratios.

It's really up to the user to configure this based on their personal environment to whatever feels good to them. A value that is too high relative to the user's display area is going to feel a lot more sluggish than when this is properly tuned. There's also the option to enable click-to-attack which eliminates gesture initiation delay altogether.

I am open to feedback and tuning this further in DFU, with a focus on animation speed specifically for now (not gesture initiation). Please keep feedback grounded in a numerical basis to work from and I'll sort through comments into an outcome before 1.0.

Cheers!

User avatar
King of Worms
Posts: 4211
Joined: Mon Oct 17, 2016 11:18 pm
Location: Scourg Barrow (CZ)
Contact:

Re: DFU Melee Animation Speed Feedback

Post by King of Worms »

Just a note towards Weapon attack treshold from the user perspective:

The default 0.03 feels good on my 1920x1200 setup with a standard Logitech mouse which does not even have a DPI setting.
The way this value is tuned in Options is not really smooth and friendly. Click it, write other number (which the user has no clue what it means and what increasing or decreasing it will do, than you need to press Close on the whole mod settings which all feels too strange)

SO

Make it LOW, DEFAULT, HIGH slider. Set the LOW to your preferred settings for 4k so 0.015 I guess, HIGH to 2x default. Maybe enable CUSTOM for ppl who know what they are doing.
(most likely not what u wanted to hear :lol: )

Ad the weapon speed, to me it feels the way I was used to in 1996, so personally, I would not change anything there.

User avatar
Interkarma
Posts: 6519
Joined: Sun Mar 22, 2015 1:51 am

Re: DFU Melee Animation Speed Feedback

Post by Interkarma »

Thanks for feedback KoW. I agree the setting for attack threshold is not intuitive and an easier scale like Low > High is going to be more user friendly.

Thanks also for feedback on animation speed more-or-less matching your memories. :)

User avatar
Jay_H
Posts: 3664
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: DFU Melee Animation Speed Feedback

Post by Jay_H »

I believe weapon speed on a Pentium was a little faster than what DFU does, and in DOSBOX it's significantly faster. However, I do not support changing it. Making the swinging as fast as in DOSBOX turns your character into a living Cuisinart, mowing down enemies before they can even approach you. (I ran a hardcore Daggerfall warrior before, and 100 speed was all I needed to murder anything in my path).

For the sake of balance, I think it's fine the way it is. 100 Speed is still very good in DFU, but not unbalanced. At the very most, maybe a 10% max increase if needed, but no more than that.

User avatar
King of Worms
Posts: 4211
Joined: Mon Oct 17, 2016 11:18 pm
Location: Scourg Barrow (CZ)
Contact:

Re: DFU Melee Animation Speed Feedback

Post by King of Worms »

Yup, got some saves in a dream bug reports with characters with very high speed, and they were FAST. So judging by that, I would not increase the speed any more. If ppl want, they can have blazing fast chars already IMO. My average chars feel normal to me.

User avatar
pango
Posts: 3048
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: DFU Melee Animation Speed Feedback

Post by pango »

I also suspect that it's a bias from players that only played Daggerfall thru DOSBox (no hard feelings, that's my case too). Even at 50k cycles/ms which is the default for DaggerfallSetup (don't know about others, but since it's about optimal I guess they're in the same ballpark) attacks in DOSBox are like 40% faster than DFU for the same speed ability, so it's very noticeable.

But like Jay_H I also fear that if weapon attacks were sped up, 100% Speed would be ludicrous (except changing weapon attack formula, but that's not something we want for plain DFU).

They've been barely any critics against weapon attack speed before, so it doesn't seem urgent to change anything.
Maybe that's just something to remember (and maybe document, say "weapon attack speed is similar to classic in DOSBox at 35k cycles/ms").
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

l3lessed
Posts: 1142
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: DFU Melee Animation Speed Feedback

Post by l3lessed »

Well, if it is that big of an issue for certain users, it would be an easy option to add into ambidexterity mod.

I use a fixed update loop with a timer tied to a lerp calculator to track attack times and current frame. I prefer to have a set base speed via fixed updates to ensure they are not highly subjective based on FPS or CPU cycles; Personal choice, as I don't want users confused when they start noticing differing attack speeds and assume it is my mod causing it.

I could easily put in a single property and tie it to the mod settings so players can choose their preference for base speed modification, and players with this issue can adjust it to match what they feel is a classic speed.

and I agree, attack speeds at 100% are already insane. I couldn't imagine them sped up more.
My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

User avatar
Hazelnut
Posts: 2867
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: DFU Melee Animation Speed Feedback

Post by Hazelnut »

FYI Blessed, both the roleplay & realism mods tune down the attack speeds as speed stat increases so the player doesn't turn into a blender. The items implementation is superior and is based on player speed, strength, as well as the weapon weight.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

Post Reply