June Builds - Map Upgrades, Retro Rendering, Crime Features, and More!

Discuss Daggerfall Workshop news articles.
User avatar
King of Worms
Posts: 2025
Joined: Mon Oct 17, 2016 11:18 pm
Location: Scourg Barrow (CZ)
Contact:

Re: June Builds - Map Upgrades, Retro Rendering, Crime Features, and More!

Post by King of Worms » Sat Jul 06, 2019 4:07 pm

well the detail slider absolutelly changes the interior shadow distance for torches and lights for me. Im not confusing it with shadow resolution, I know thats a thing for a very long time already.

And it shows the strange behavior I described.

5 is max - ok
4 is same as 2

u can see at
5 - shadows are there
4 - no shadows
3 - shadows appear again
2 - no shadows


4 and 2 has same performance and appearance
and 3 is higher shadow distance than 4 (should be lower or same)

or look at the FPS counter.

5 - 18
4 - 50
3 - 28
2 - 50
1 and 0 - 100+

Ive made a clean instalation, new forlder...
Spoiler!
01.jpg
01.jpg (1.57 MiB) Viewed 524 times

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

Re: June Builds - Map Upgrades, Retro Rendering, Crime Features, and More!

Post by Interkarma » Sat Jul 06, 2019 10:57 pm

Detail slider is also unrelated. :) It changes the quality settings preset you also see when setting up resolution (Unity calls these presets Fastest, Fast, Simple, Good, Beautiful, Fantastic). Unfortunately, this preset change does briefly overwrite my contextual shadow distances until you transition between exterior/interior/dungeon again, so I can see how you compounded the two now. I'll stop this happening in next builds, which should also fix some of the odd behaviour you're seeing. Thanks for letting me know, I didn't foresee this interaction.

The only settings related to my contextual shadow distance change are in settings.ini:

Code: Select all

DungeonShadowDistance=20.0
InteriorShadowDistance=30.0
ExteriorShadowDistance=90.0

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

Re: June Builds - Map Upgrades, Retro Rendering, Crime Features, and More!

Post by King of Worms » Sun Jul 07, 2019 8:53 am

Im glad my description made sense, so u know what I ment ;) I had no idea transitioning will change it back to the the desired ini settings. Anyway, great job on that, because this will save a lot of problems with performance! I already see nice boosts.
Thank you!

NoobioDF
Posts: 35
Joined: Sat Jun 22, 2019 4:03 am

Re: June Builds - Map Upgrades, Retro Rendering, Crime Features, and More!

Post by NoobioDF » Sun Jul 14, 2019 5:51 am

Great to see more progress. I've been away, and playing a lot of No Man's Sky in the interim.

I can tell there has been a push for levitation to work underwater, but I have to say, I'm not convinced this makes a whole lot of sense.

Swimming skill, and any spells that are targeted to act in water or assist in it, would seem to be devalued by this.

I'm also not sure the player should be able to cast a levitate spell while under water. His gestures would have odd timing, his voice would be garbled, and so on. I could see how he might use a scroll, perhaps, or a potion, perhaps, to achieve the same thing.

However, I really don't recall what the original Daggerfall felt on the subject. I'm not against Levitation cast underwater per se, but I find it odd.

Is there another spell in Daggerfall that allows you to reduce encumbrance or increase carry weight for the player?

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

Re: June Builds - Map Upgrades, Retro Rendering, Crime Features, and More!

Post by Interkarma » Sun Jul 14, 2019 8:58 am

NoobioDF wrote:
Sun Jul 14, 2019 5:51 am
I can tell there has been a push for levitation to work underwater, but I have to say, I'm not convinced this makes a whole lot of sense.
Those were all bug fixes. Yes, levitation works underwater in classic.

BansheeXYZ
Posts: 469
Joined: Fri Oct 23, 2015 8:19 pm

Re: June Builds - Map Upgrades, Retro Rendering, Crime Features, and More!

Post by BansheeXYZ » Sun Jul 14, 2019 10:58 am

Improved travel map search (Pango)
I think this feature went a bit too far and needs to limit itself to actual matches. I like that if I type "Knight", it shows me all 4 towns that start with "Knight" because it isn't specific enough. That's much better than what classic did, which is just guess one and ask me to go.

But I don't like that it inflates the list with non-matches by assuming I misspelled something. For example, I typed "bleed" to bring up the Bleeding Redeemer of Kynareth, and it's showing me "Blessed" stuff too, a word that has all the letters of bleed but isn't even close to being something I may have wanted.

Spelling things wrong doesn't happen often enough to justify inflating the results like this. In fact, the majority of misspellings would happen because you'd type as long a string as you could remember to avoid classic's guessing game on shorter strings. Now that that's fixed, there's pretty much no reason to do this.

Also, notice how things are all out of order here? Is this order based on distance or something? Please alphabetize results as distance really has no relevance on where quests send you.
mapsearch1.png
mapsearch1.png (151.74 KiB) Viewed 298 times

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

Re: June Builds - Map Upgrades, Retro Rendering, Crime Features, and More!

Post by pango » Sun Jul 14, 2019 11:51 am

Yes, results are by order of decreasing relevance first, then alphabetic order second. So I don't think returning some too many results is an issue.

List is cropped by DaggerfallTravelMapWindow.MatchesCutOff to just exact matches if they exist, or results that have at least half the relevance of the best result if not; so you may want to start there.
If that's not sufficient, you'll have to modify how relevance is computed, which involves all the parameters of the EditDistance constructor in DaggerfallDistance to tweak the distance added by each edit transition, and maybe even EditDistance.GetRelevance that's used to convert total distance into relevance.
Hopefully increasing the distance associated with inserting/deleting/replacing letters compared to the distance of adding prefixes or suffixes to what you entered should make the algorithm behave more like a substring search and behave more like what you want.
All the feature code and documentation are here: https://github.com/Interkarma/daggerfal ... /pull/1305
Feel free to submit patches.

Ideally we'd need a lot of real world searches, each one with expected result, to find optimal parameters that return the expected result, at the top or near the top most the time, and with the least extra suggestions; But I don't have such corpus at hand...
Spelling things wrong doesn't happen often enough to justify inflating the results like this
Where did you get those statistics? I'm interested
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

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

Re: June Builds - Map Upgrades, Retro Rendering, Crime Features, and More!

Post by pango » Sun Jul 14, 2019 1:33 pm

Yup, as expected increasing the distance of letters transitions give the result you want:

Code: Select all

diff --git a/Assets/Scripts/Game/Utility/DaggerfallDistance.cs b/Assets/Scripts/Game/Utility/DaggerfallDistance.cs
index dbfce2b3..dcf3d0f4 100644
--- a/Assets/Scripts/Game/Utility/DaggerfallDistance.cs
+++ b/Assets/Scripts/Game/Utility/DaggerfallDistance.cs
@@ -7,14 +7,14 @@ namespace DaggerfallWorkshop.Game.Utility
             return new EditDistance(
                             s => s.Trim().ToLowerInvariant(),
                             // Inserting/deleting separators is cheap
-                            c => IsSeparator(c) ? 3 : 10,
-                            c => IsSeparator(c) ? 3 : 10,
+                            c => IsSeparator(c) ? 3 : 12,
+                            c => IsSeparator(c) ? 3 : 12,
                             // fixing separators is cheap
                             (c1, c2) =>
                             {
                                 if (IsSeparator(c1) && IsSeparator(c2))
                                     return 2;
-                                return 15;
+                                return 18;
                             },
                             (s, stop) =>
                             {

location finder.jpg
location finder.jpg (213.39 KiB) Viewed 248 times
Would it be better? I have no proof either way :(
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

BansheeXYZ
Posts: 469
Joined: Fri Oct 23, 2015 8:19 pm

Re: June Builds - Map Upgrades, Retro Rendering, Crime Features, and More!

Post by BansheeXYZ » Sun Jul 14, 2019 1:49 pm

pango wrote:
Sun Jul 14, 2019 11:51 am
Yes, results are by order of decreasing relevance first, then alphabetic order second. So I don't think returning slightly too many results is an issue.
I don't know how to explain this any better, so I'll try again. Every "Blessed" entry on this list is needless. There is no chance that I meant to type Blessed instead of Bleed. It's not a match, it doesn't contain the string I typed. That it contains the letters I typed is meaningless when exact matches for bleed were found. They then show up before Bleeding Redeemer, which makes Bleeding Redeemer something you have to scroll past them to see.

There's some kind of far-reaching suggestion code going on here that only works well on long strings, and interferes hardcore on short ones. If I type in "Hearmsly Manor" it offers me "Hearthsly Manor". Ok, neat. But if I type in just "Hea", "Hearthsly Manor" doesn't even show up. If I type in "Heart", the very first result is "The Tombs of Hearthston" followed by a bunch of towns that actually start with "Heart".

I don't really understand your explanation of what gets priority in the list. It should be as simple as

-show things that start with typed string first.
-then show things that merely contain the string.
-alphabetize both groups and display the list.

Also, for what reason can't the results show up in real time as you're typing, so you don't have to commit to typing too little or too much? Unless the searching is intensive, I don't see why committing to a string before seeing results is necessary. You could just do something like this:
mapsearch.gif
mapsearch.gif (43.64 KiB) Viewed 244 times

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

Re: June Builds - Map Upgrades, Retro Rendering, Crime Features, and More!

Post by pango » Sun Jul 14, 2019 1:51 pm

BansheeXYZ wrote:
Sun Jul 14, 2019 1:49 pm
I don't really understand your explanation of what gets priority in the list.
So I'm supposed to do all the understanding of what the other says?
BansheeXYZ wrote:
Sun Jul 14, 2019 1:49 pm
Also, for what reason can't the results show up in real time as you're typing, so you don't have to commit to typing too little or too much? Unless the searching is intensive, I don't see why committing to a string before seeing results is necessary. You could just do something like this:

mapsearch.gif
Yes, I suggested that as a improvement to my patch, but I'm not very good with UI code.
It's not that I didn't think about it. Patches welcome.
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

Post Reply