Approach to Idiosyncrasies? (Jumping)

Discuss Daggerfall Unity and Daggerfall Tools for Unity.
Post Reply
User avatar
Flylighter
Posts: 20
Joined: Thu Aug 02, 2018 5:33 pm

Approach to Idiosyncrasies? (Jumping)

Post by Flylighter »

Hello, everyone! Been lurking since early this year, incredibly excited and impressed at the work going on around these parts!

My pair of questions are sort of overarching in nature, but I'm going to ask them through the lens of the jumping mechanic. I'm sorry if this has been asked before, I promise I combed the General forum beforehand (even if only briefly).

1. I can remember some ways the game acted that were peculiar, from back in the authentic Windows 95/98 days. For example, if I chose Athleticism at character creation, and Jumping was one of my primary skills, then when I got out of Privateer's Hold and got to a town, I could usually jump all the way onto buildings with the hanging slanted roofs. The key word here is usually. Travelling towns via rooftop became extremely fulfilling - the traversal mode of choice.

There were a rather large series of computers I had access to, while growing up. Although creating a rooftop parkour king usually worked, it didn't always work. The weird thing was, it seemed to most often change from computer to computer; it worked on most computers, but was inconsistent on a computer or two, and outright didn't work at all on one. Imagine my surprise when I brought a fresh Custom Class save file to a friend's house, and could hit the rooftop freeway with ease, only to come home and have the same character unable to jump high enough! DosBox installations are also often inconsistent in this regard.

My question here is, how is the 'correct' version of jump height determined? My best guess in my early adulthood, without any real programming knowledge, was that movement was in some regard tied to CPU clock speed or other hardware dependencies. Climbing seemed similar in this regard, where a character that was the same in all other ways would practically jettison the hell up a wall on one computer, and slowly crawl up the same wall on another.

TL;DR: Will I be able to Batman my way around town in Daggerfall Unity?

2. With all the pre-fashionable 90's parkour fun had in Daggerfall, we'd also discovered some accidental veritable launchpads. Sometimes if you hit the top of a hill just right, or jumped over a fence at the right angle, or especially if you jumpspammed off the top lip of the aforementioned slanted roofs, you could jump a fair bit further than you should have. The most easily-reproducible instance of this is off the protective lips at the tops of city walls. If you hit those suckers just right, you could literally (and I do mean that word) launch halfway across Daggerfall city, or more, in a single jump.

Is that sort of accidental functionality the type of thing that gets lost in translation when porting to a new engine? Would it be something that gets considered a 'bug' even though it was in vanilla Daggerfall, and gets patched out? Or do we get to experience the occasional push-from-the-gods, the happy accidental Prototype Scroll of Icarian Flight?


Thanks for everything you do!

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

Re: Approach to Idiosyncrasies? (Jumping)

Post by Interkarma »

Welcome to the forums, and thank you for your kind words! :)

I have also experienced the intermittent power of jumping on rooftops and suddenly not being able to. One of my first Daggerfall acrobatics characters was able to leap onto low roofs without much trouble. When I moved over to a new PC a year or so later, the same character wasn't able to make those jumps any more. I used to love travelling across the flat rooftops in Sentinel after a crime spree while the guards trailed uselessly on the ground. My feeling is this might have something to do with CPU timings in how jumps were calculated as part of Daggerfall's lovably wonky physics.

It's likely impossible to tease out the exact timings and behaviours - but with the help of our resident all-star hacker Allofich, we'll probably get very close to what Daggerfall intended by looking through the code at assembly level and converting back to C#. He's become very adept at this and we owe some of the deeper gameplay re-implementations to him already. I'd like this to be as faithful as possible to intended behaviour. There's an item in the roadmap to address jump skill when possible.

For the second case of launching yourself half way across a city map by timing a jump "just so" - I think this one is definitely a bug related to Daggerfall's lovable wonky physics. I'm less inclined to implement this on purpose, and it would be rather difficult to do so in the same way with a totally different physics engine under the hood. That said, you could always use "set _jump" console command to crank this up for fun. And I believe it should be possible to mod this with a custom spell effect of some kind (when this is available).

User avatar
Flylighter
Posts: 20
Joined: Thu Aug 02, 2018 5:33 pm

Re: Approach to Idiosyncrasies? (Jumping)

Post by Flylighter »

Thanks for the reply!

I sort of suspected that the crazy hyperjumps weren't going to make the translation to Unity. And I noticed that Jump skill/gravity tuning was one of the last 0.5 features left as-yet untouched on the roadmap, so I figured now was the time to ask!

Still, I'm glad to hear there's a good chance of being able to leap onto the rooftops, given the right character skill choices. Also, it's a relief to hear of the Main Man himself experiencing similar changes in game behavior from hardware to hardware. There's always that fear in the back of your mind that you're going to show up somewhere with a past anecdote, only to have the community collectively go "I don't remember anything like that, you sound like you're chock full of it." To date, my only real use of bows in Daggerfall was to play Clock Tower Sniper in large cities, sitting on rooftops and creating unreasonably large piles of town guard loot to load onto my wagon and ride off into the sunset.

Thanks to this news, I think I'll play an actual ranger this time around! An arcane ranger, mind you - see avatar.

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

Re: Approach to Idiosyncrasies? (Jumping)

Post by pango »

Hi Flylighter,
Vanilla game has to be run under DOSBox with cpu cycles capped (say at 50000, or 50M emulated instructions/s) because otherwise the physics, whose "steps" are linked to FPS like in many old games, stop working correctly (you can no longer strafe, climb out of pools of water, commoners walk in place, ghosts suicide in the distance,...)
Basically, each frame all moving objects are displaced by "speed per second / fps" (integer division), and with too high fps the slowest movements are rounded down to 0.
The same happens on real hardware too, so I guess you could only jump reliably on the slowest CPUs you've tried (486 and early Pentiums).
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

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

Re: Approach to Idiosyncrasies? (Jumping)

Post by Interkarma »

pango wrote: Fri Aug 03, 2018 12:14 pm The same happens on real hardware too, so I guess you could only jump reliably on the slowest CPUs you've tried (486 and early Pentiums).
Yeah, my first Daggerfall PC was Pentium 75MHz. That's where I remember the awesome rooftop jumping. When I later upgraded to a Pentium 2, I lost the ability to jump that high. I'm guessing the older CPUs represent the intended behaviour, but not completely sure.

Al-Khwarizmi
Posts: 177
Joined: Sun Mar 22, 2015 9:52 am

Re: Approach to Idiosyncrasies? (Jumping)

Post by Al-Khwarizmi »

Interkarma wrote: Sat Aug 04, 2018 8:02 am I'm guessing the older CPUs represent the intended behaviour, but not completely sure.
Probably... the Pentium II was released in 1997, one year after Daggerfall, and it was a quite radical improvement. Probably they didn't foresee the consequences...

Post Reply