Tedious Travel 0.4.2 (2019-10-16)

A curated forum for compatible and maintained mods. Users are unable to create new topics in this forum but can reply to existing topics. Please message a moderator to have your mod moved into this forum area.
Post Reply
jedidia
Posts: 201
Joined: Sat Sep 15, 2018 9:49 am

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by jedidia »

After exiting the game following a marathon session that log file was 700 MB however! I can attach a (much smaller) copy if that would help.
Never had the issue on my end, but yes, log output is always helpful. I would assume that most of the log is a repetition of the same output as the program attempts the same thing over and over again in order to exit, so the last 50 or so lines of that log will probably contain all the information necessary to narrow down the problem.

User avatar
Leeux
Posts: 52
Joined: Thu Sep 26, 2019 2:05 am

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by Leeux »

Hey @jedidia, o/

Nice to see you around :)

Love your mod and how it changes the way we play Daggerfall! And it gives purpose to all that wilderness out there that we don't normally see otherwise!

I was thinking of a few things that I'd think would be good enhancements/tweaks to the current state of the mod... I hope dropping a few suggestions wouldn't be too bothersome! Just ideas, and I'd take a stab at implementing them if I get some time to learn Unity more... I'm a C# programmer but I don't have any knowledge of the Unity environment in general at all, and neither, in particular, of Daggerfall code. I managed to get Unity to run Daggerfall's project and also managed to get your mod to compile, but for now... that's all.

Suggestions:
1. Add distance still to travel or ETA (in mins.), or both, to the Travel control window. next to the destination name... I don't think this would be too out of place, you kinda already can know this by going constantly to the map and resuming travel. I can probably take a stab at this, maybe... doesn't seem to be too difficult, a priori... but I'm not entirely sure what I'm talking about :)
2. I know you had to fork and reimplement completely the Travel Window from the base game, but that sadly makes it incompatible with the Clock mod (it doesn't show while on travel) and also, the quest debug print from the base game also doesn't show... it would be awesome if there was a way to compatibilize that or at least, do some hack so that the clock also shows in the Tedious Travel window.
3. if for some reason, 1) and 2) are out of the scope for your vision of the mod, the main issue I'd like to solve with those are implementing some kind of slow down when you're reaching your destination (maybe just reduce to x5 a some X distance away from dest target), specially when approaching towns... else if you're tavelling at high time compression rate, you end up running against the walls/houses, etc for some time before the "arrived to destination" message pops up.
4. this is maybe, probably, out of the scope, I recon... but still, something I'd love to have so I thought I mention it :) It would be awesome if you knew beforehand that you're going to collide with some other location that's in your path while going to your current destination, so you can prepare and avoid it... I'd guess this is too complex perhaps, but I think it would be cool to at least know that a location is drawing near and so, you (the player) can strafe out of it while still in travel mode and not have to collide with it and stop travel, move out of the way and resume.
5. coupled with 4), maybe... perhaps a hint/list/indicator or something that alerts you of near locations as you travel, specially towns and taverns.
6. This is totally completely out of the scope of the mod, and I know that... but still, I mention it for the record... I'd be awesome (to me, at least :P) to have a reduced miniview (just your surreoundings up to a distance range) of the worldmap that gets animated while you travel... that would solve all of points above almost at the same time :)

That's all! :geek:

Sorry for the clutter, and I know you said you're having serious lack of time issues... but I thought it would be best to drop these here to get them recorded for the future... so feel free to ignore all of this with impunity! :mrgreen:

Best wishes o/

jedidia
Posts: 201
Joined: Sat Sep 15, 2018 9:49 am

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by jedidia »

I'm a C# programmer but I don't have any knowledge of the Unity environment in general at all, and neither, in particular, of Daggerfall code.
That pretty much makes two of us... well, strictly speaking I'm not a C# programmer, I'm mostly at home on the JVM professionally, but code is code...

In the same vein, Unity is pretty much your run-of-the-mill Entity-Component-System as far as I can see, and while I'm sure it has some unique caveats and features, I really don't know anything specific about it. I just follow the pattern. Getting the lay of the land in daggerfalls specific architecture is the main problem, and I don't know my way around there either...

As for your specific suggestions:

1) Doable, but probably extremely inaccurate...
2) This has nothing to do with the travel map, actually, it's because I have to prop a non-modal UI overlay over the game. I had trouble getting the hud to draw at all, but there are draw calls for the basic hud elements in the daggerfall code that I could use. There is to my knowledge no such call for additional hud elements. I don't even know if they're being registered as HUD-elements or if they just get drawn on the hud canvas without DF really knowing about it, so I'm not sure it's doable. Anybody has any idea about this?

3) I guess it should be possible to interrupt travel when entering a cell with an undiscovered location, but that isn't exactly consistent. I think I even did display messages for when you're passing through a cell with a location in it, but it turns out displaying timed messages when the whole game is running accelerated doesn't work very reliably...

4) Doing this reliably would require ray tracing, which would pile up on the already existing performance issues...

5) See 3. It's possible the messaging code is even still in there, but I just didn't get them to display properly without interrupting travel, which would be rather annoying.

6) Yeah, that would be nice... :P

User avatar
Pantalaimon
Posts: 2
Joined: Thu Oct 03, 2019 8:38 am

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by Pantalaimon »

So I've done some more testing and I think I narrowed down the problem. It looks like anything in DFU, whether through user action or mod features, that causes a large number of objects to be loaded will cause the game to freeze upon quitting (for me at least).

If anyone is willing to take a look I've included copies of my output log - one was after using the mod for some time, and another I got with vanilla DFU after just taking my horse out into the wilderness for 5-10 minutes. If you'd prefer I can post this in the Help & Support area instead since it may be more to do with the engine than the mod. Thanks!

EDIT: Deleted TT, wiped all settings and created a new character - I get the same freeze on exit, but objects loaded doesn't seem to correlate. I've had the freeze with only 7.000 objects loaded and no issues quitting with 20.000 loaded.
Attachments
Vanila DFU quit freeze 20191009 output_log.zip
(9.55 KiB) Downloaded 67 times
TT quit freeze 20191009 output_log.zip
(25.1 KiB) Downloaded 59 times
Last edited by Pantalaimon on Thu Oct 10, 2019 5:25 am, edited 2 times in total.

jedidia
Posts: 201
Joined: Sat Sep 15, 2018 9:49 am

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by jedidia »

Huh... From the top of my head I couldn't say where TT instantiates this many objects, I'll have to look at the code. The fact that it seems to be increasing over time would suggest a memory leak somewhere.

Any Unity cracks out there, how does the C# VM used by Unity handle garbage collection? It basically takes intentional effort to produce a persistent memory leak with C# when running in the CLR, but the implementation used by unity might have some CG-specific optimisations that make it a lot easier...

jedidia
Posts: 201
Joined: Sat Sep 15, 2018 9:49 am

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by jedidia »

Currently in final testing for a new release. I think I saw some mention of a common cache folder that mods are supposed to write data to now if they have data to write. Could somebody enlighten me where that folder is, respectively if there's an API call to retrieve the path?

User avatar
TheLacus
Posts: 1305
Joined: Wed Sep 14, 2016 6:22 pm

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by TheLacus »

jedidia wrote: Sun Oct 13, 2019 9:10 pm Currently in final testing for a new release. I think I saw some mention of a common cache folder that mods are supposed to write data to now if they have data to write. Could somebody enlighten me where that folder is, respectively if there's an API call to retrieve the path?
You can get the path from the mod instance:
  • Mod.SaveDataInterface for persistent data specific to a character.
  • Mod.PersistentDataDirectory for global persistent data.
  • Mod.TemporaryCacheDirectory for temporary data.
The actual path is platform-dependent, but is ensured to be writable. On Windows is inside AppData.

jedidia
Posts: 201
Joined: Sat Sep 15, 2018 9:49 am

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by jedidia »

Thanks, I'll use that to write my data, then.

jedidia
Posts: 201
Joined: Sat Sep 15, 2018 9:49 am

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by jedidia »

Ok, I'm in a bit of a bind here. It's mostly a cosmetic bind, but it's uncomfortable none the less and I'd like some opinions.

Early in TT development, there was a feature request to pause the game on a hostile encounter, mostly to give players time to actually grab their mouse which they might have been neglecting.

Now I've got warm ashes working pretty smoothly with TT, but I'm faced with a bit of a problem: I can differentiate between a random encounter generated by the core, and an encounter generated by a quest. Core encounters are handled just as they were so far.
But quest encounters might produce their own popups... or they might not! I have no way of anticipating which. So either I don't pop a message box at all, leaving it all up to the quest, in which case we're now back at encounters that imiediately kick in without a pause if the quest doesn't spawn a message box, or I spawn some generic message box like "you interrupt your journey" (because I' can't even tell yet whether there will be enemies at this point, at least with warm ashes, which spawns NPCs after the message boxes), which will display additionally after any message boxes the quest has already popped up. When the quest didn't spawn a message, these are fine, when it did, they are somewhat clunky and immersion breaking.

So, stuck between a rock and a hard place, which would you prefer??

User avatar
Leeux
Posts: 52
Joined: Thu Sep 26, 2019 2:05 am

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by Leeux »

Maybe if you paused the travel with a generic message like "Hmm... Something's odd..." or "You see movement ahead..." or something like that, perhaps it would be a bit less jarring?

I certainly like the fact that TT blocks the game on a popup, that means that I can alt tab and also, go to grab a drink or something to eat while the travel happens :mrgreen:

Post Reply