Cracking Open Combat

Discuss modding questions and implementation details.
Post Reply
User avatar
DigitalMonk
Posts: 111
Joined: Sun Nov 10, 2019 8:01 pm

Re: Cracking Open Combat

Post by DigitalMonk »

Hopefully I'm not stumbling into something and missing the point entirely -- I scrolled back one page, but didn't dig back all the way to the start...

Based on a response here: http://www.gamesas.com/sneaking-daggerfall-t52652.html

I have a guess about "base player speed". The response talks about using the old cursor method of movement (argh). At the top of the screen, you're moving at "base player speed". At halfway between center and top, you're moving at "half base speed". At center, you're stopped. Now, for those of us who prefer our sanity and can't live without mouselook, the keyboard mapping (I believe) is:

Shift-Forward == Run == Base Player Speed
Forward == Walk == Half Base Player Speed
Crouch or Sneak == Slow == Quarter Base Player Speed (definitely don't quote me on that "quarter" part)

This lines up with a discussion I read somewhere in the last few weeks (though I think it was from a Daggerfall Beginner's Guide or some such from way back) that says you can practice your sneak skill just fine walking normally. That jibes with walk==half-speed, which is still OK as long as you haven't been detected yet. So, you don't need crouch or sneak until AFTER the enemy has triggered -- then you need those modes to hide from their heightened alertness.

User avatar
DigitalMonk
Posts: 111
Joined: Sun Nov 10, 2019 8:01 pm

Re: Cracking Open Combat

Post by DigitalMonk »

DigitalMonk wrote: Fri Dec 13, 2019 4:01 am Based on a response here: http://www.gamesas.com/sneaking-daggerfall-t52652.html
I've got to work on my patience... A little further down on that page is more confirmation:
It's true. Sneaking only slows your movement speed because there is no "stealth mode". Stealth is always being checked, and it's a function of your skill as well as how fast you are moving. So you *can* sneak up on someone by just walking, but it's much easier if you sneak or crouch.
And I found the guide I was talking about:
https://gamefaqs.gamespot.com/pc/29065- ... faqs/31443. It describes stealth:
Stealth is one of those skills that develops on its own, but there are some
things you can do to speed up the process. First, stick to darker areas.
Critters have a harder time detecting you in the dark than in broad daylight.
For this reason, dungeons and crypts are good places to practice. Second,
move slow. Although the game has a 'Sneak mode' button, (which you get into
by pressing Alt IIRC) it is not needed to actually sneak. Just plain walking
will do the job fine. This skill raises when you are undetected near a
monster. If you manage to get the drop on an enemy, don't attack right away.
Walk around a bit. The longer you are undetected, the more the skill is
checked.
It says 'Walk around a bit.' Personal experience suggests that you only get a stealth nudge each time your character moves without failing a stealth check (which implies there must be something that is making those checks). Just crouching in a dark corner and watching an enemy wander ignorantly around doesn't seem to gain any stealth credits.
Last edited by DigitalMonk on Fri Dec 13, 2019 4:15 am, edited 1 time in total.

User avatar
mikeprichard
Posts: 1037
Joined: Sun Feb 19, 2017 6:49 pm

Re: Cracking Open Combat

Post by mikeprichard »

DigitalMonk, thank you for the input - that does also jibe with what I've read before and (re: walking = half base speed) with what Jay_H said in my linked topic earlier. (Why DF considers running and not walking to be "base" speed, I have no idea... it just likes to troll us.) You also reference another point I wasn't going to wade into with Blessed because he'd probably ban me from his topics, but it would also make sense if the slower "crouch-walking" and "sneak-walking" are "better" than default walking speed in terms of your success in avoiding detection, though I'm not sure where exactly that comes from in the code. Anyway, I think I'm very close to finally putting the UESP page text in a better state!

EDIT: Now what is still unclear (yes, I am still talking for some reason) is whether you need to be "under" "half base speed" (walking speed), or "equal to or under" "half base speed" in the relevant scenario to avoid detection. If the former, then walking would kick you out of stealth; if the latter, it wouldn't. I'm still seeing contradicting statements on this between your notes, within Blessed's own notes, and Jay's earlier post... sorry guys.

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

Re: Cracking Open Combat

Post by Jay_H »

I still consider my past remarks to be highly suspect, so take those with care :D

User avatar
mikeprichard
Posts: 1037
Joined: Sun Feb 19, 2017 6:49 pm

Re: Cracking Open Combat

Post by mikeprichard »

I dunno, Jay - you've been right very often before when you said you were probably wrong. I'm usually the opposite.

User avatar
DigitalMonk
Posts: 111
Joined: Sun Nov 10, 2019 8:01 pm

Re: Cracking Open Combat

Post by DigitalMonk »

mikeprichard wrote: Fri Dec 13, 2019 4:15 amit would also make sense if the slower "crouch-walking" and "sneak-walking" are "better" than default walking speed in terms of your success in avoiding detection
I was gonna write something else, but it would have been a rehash, and along the way I thought of something that could confuse everything again -- so, of course, I had to share :D

There seem to be mixed opinions about the benefits of "slower than walk" -- the guy talking about cursor mode movement claimed better luck when moving extremely slowly, while the Character Guide says it doesn't much matter... Hmmm. The cursor guy is talking about actual success at sneaking, while the Character Guide guy is talking about "practicing sneaking", so there could still be a difference when it comes down to serious. For practice, I don't care as much about success as about not going insane while I gather experience, so walking may be a better tradeoff.

All of which is relevant to classic. If we're revising this for DFU, I'd definitely be in favor of:
  • Confusing any references to current code by instead using WALK as the BASE PLAYER SPEED, because it makes it easier to discuss modifier keys. (Just don't try to fit any of this into existing logic)
  • Slower motion equates to higher stealth success, both for detecting and locating. Whether linear or quadratic I have no idea, but it might be worth some playtesting...
  • Perhaps detecting-vs-locating is just a matter of different pass/fail thresholds, rather than any hard-and-fast "you can't possibly succeed if you're doing X"? That's mostly how it works in real life. The sneaky person is doing the same thing and generating the same indicators regardless of what the guard is doing. If the guard is just having a cigarette, his threshold for alerting is somewhat sloppy. But once he's heard something, it tightens up quite a bit.
  • Run doubles speed.
  • Crouch cuts speed in half. I need to delay talking about Sneak for a second...
  • It also seems reasonable that run+crouch would move at walking speed (double from run, half from crouch). I can see the infrequent benefit of run+crouch, if needed for navigation.
  • Run+sneak seems pointless unless sneak mode carries some additional modifier. If sneak only cuts speed in half, then run+sneak is just a complicated way to press three keys to walk instead of one.
  • Option A - Sneak cuts speed to a quarter. You're not going to explore much at this speed, but you'll feel the tension creeping up on someone...
  • Option B - A little more complicated in code: sneak cuts speed in half, like crouch, but also provides another halving to "effective speed" as used in stealth checks. This allows sneaky movement without quite so much pain. Seems overpowered, so maybe that "effective speed" bonus is dependent on stealth skill? Could get into exponential benefits if not careful though. On the whole, Option A is probably easier to explain/understand/implement/play.
  • Regardless, crouch+sneak should be a thing for when you really need it. Under Option A, that would be down to 1/8 walking speed, but you should be able to be REALLY quiet that way.
  • Run+sneak is also now possibly meaningful. Under Option A, not really, because it's 2X run and 1/4 sneak, so 1/2 walking speed (equivalent to crouch, but more complicated to do)... Under Option B, it would allow movement at walking speed but stealth checks would be made at an "effective speed" of 1/2 walking speed.
  • Sneaky crouch running is left as an exercise for the reader. Calculate and discuss under both given Options. :D
My apologies to all of my victims for my tendency to generate walls of text...

User avatar
DigitalMonk
Posts: 111
Joined: Sun Nov 10, 2019 8:01 pm

Re: Cracking Open Combat

Post by DigitalMonk »

mikeprichard wrote: Fri Dec 13, 2019 4:15 am EDIT: Now what is still unclear (yes, I am still talking for some reason) is whether you need to be "under" "half base speed" (walking speed), or "equal to or under" "half base speed" in the relevant scenario to avoid detection. If the former, then walking would kick you out of stealth; if the latter, it wouldn't. I'm still seeing contradicting statements on this between your notes, within Blessed's own notes, and Jay's earlier post... sorry guys.
I can only speak to DFU, as I don't have that much experience in Classic. I know that I've passed stealth checks against enemies while walking, so I'm strongly leaning toward "equal to or under".

Jeoshua
Posts: 153
Joined: Tue Nov 26, 2019 7:25 am

Re: Cracking Open Combat

Post by Jeoshua »

I'm going to throw my two cents into that and say that sneak and crouch should both lower speed and increase sneaking, and their effects should just stack. Tie speed of movement relative to base into the calculation, and allow stealth checks while running naturally into this, just at that speed-related rate. If I have mastered sneak, maybe they still don't hear me coming (but obviously still see me)

User avatar
mikeprichard
Posts: 1037
Joined: Sun Feb 19, 2017 6:49 pm

Re: Cracking Open Combat

Post by mikeprichard »

Thanks, all - unless there are specific objections, I'll go with the below, with the relevant words related to the recent discussion bolded. I'll stay silent in the text as to whether crouch-walking or sneak-walking have any stealth-check advantage over default walking (or over running, when such is available without automatically breaking stealth), as the code I've seen and had explained to me so far doesn't seem to address that point, though I agree it would make sense if implemented in a DFU mod - currently, the "sneak" movement control appears to be practically useless.

Whenever you approach a creature and enter its detection range, your Stealth skill is automatically checked to determine whether the creature successfully detects you and (if hostile) engages you in active combat. In addition to your Stealth skill value, other factors affect your chance of successfully avoiding the creature's detection, including the creature's Stealth skill, your distance from and location in relation to the creature, and your movement speed. If the creature has initially seen and/or heard you, leaving the creature's sight and hearing range and then moving more slowly - i.e. by crouching, sneaking, or walking instead of running - will enable you to continue to attempt to avoid detection, while running will result in detection by the creature. On the other hand, if the creature has not yet seen or heard you, you may continue to attempt to avoid detection while moving at any speed.

EDIT: Yet another related wrinkle about which I've forgotten the discussions from way back: in default classic Daggerfall, as installed via e.g. DaggerfallSetup-2.16.0.exe (see the "Daggerfall Key Controls" sublist at https://en.uesp.net/wiki/Daggerfall:Key_Controls), there is no "Sneak" control in the in-game controls menu; however, I'm certain I've seen a slightly altered control scheme in classic Daggerfall that includes that control (similar to DFU). How do you get that "sneak" control binding to appear in the classic Daggerfall controls menu?
ANSWER: viewtopic.php?f=4&t=1831&hilit=sneak&start=30#p26837 - in classic, you need to enter the "Controls" menu, then click "Mouse" at the bottom, then change "Cursor" mode to "View" mode, and the "Sneak" binding will then replace the previous "Look Around" binding in the "Controls" menu. I've now cleaned up the UESP wiki Key Controls page linked above with this and several other corrections/clarifications based on classic Daggerfall testing.

EDIT2: And now I've found this (viewtopic.php?f=5&t=1049&p=12629&hilit=sneak#p12629) 19-month-old discussion involving me and Interkarma that I'd completely forgotten about, where Interkarma notes the "sneak" control will "reduce your detection radius for enemies", and another later discussion on similar topics (viewtopic.php?f=4&t=1092&p=13180&hilit=sneak#p13181), and yet another much more recent discussion (viewtopic.php?f=4&t=1831&hilit=sneak&start=10#p26820) where Interkarma seems to revert to indicating the "sneak" control only causes you to move more slowly, as we've already discussed... jeez, the more I look into this, the more confused I get, so I probably just need to give up and call it a day. However, I do now still believe the "sneak" control has only the effect of making the player move more slowly, and is not a requirement for Stealth to work, as 1) Interkarma appears to agree with this in his most recent of the three topics linked just above, 2) the "sneak" control binding's absence in the default Controls menu when the mouse "cursor" (as opposed to "view") mode is active implies it's not an essential function, and 3) anecdotal evidence just above in the current topic seems to support this assertion. It's still unproven in the code whether moving more slowly by sneaking/crouching helps with Stealth checks compared to walking, but that's a separate issue as I referenced at the top of this post.

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

Re: Cracking Open Combat

Post by Hazelnut »

Sorry I've not got time to read through this whole thread and correct/debate all of this in detail. If I am way off though lack of analysis please tell me.

All I can say is having skimmed, I disagree with the analysis that run speed is used as the base speed with walk being /2 and sneak = /4.

Walk speed is base speed, with run_speed = baseSpeed * (1.25f + (Skills_Running / 200f))

If sneak is pressed, the speed is halved. I think (not checked) that if speed is less or equal to half base speed then sneak checks occur.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

Post Reply