Option to hide all locations unknown to a stranger

Talk about the mods you'd like to see in Daggerfall Unity. Give mod creators some ideas!
User avatar
Macadaynu
Posts: 261
Joined: Sun Mar 07, 2021 1:18 pm

Re: Option to hide all locations unknown to a stranger

Post by Macadaynu »

I wonder if someone with more knowledge of the questing system could help me understand something. I've been testing this and sometimes the random quests you get give you 2 quest locations in code, where only 1 seems relevant in game to me.

For example I took a quest from the mage's guild to obtain a Daedra's Heart from Asmeusena's Den, but in code when you call QuestMachine.Instance.GetAllActiveQuestSites() there is another location associated with this quest Id. (The Stronghold of Woodcroft).

I went to Asmeusena's Den got the heart, and returned to hand in the quest successfully, just not sure why The Stronghold of Woodcroft would be relevant to that quest?

The 2 dungeons below show what the mod applies to the map when accepting that quest:
Capture.PNG
Capture.PNG (64.29 KiB) Viewed 1039 times

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

Re: Option to hide all locations unknown to a stranger

Post by Jay_H »

https://en.uesp.net/wiki/Daggerfall:Grab_an_Ingredient

After the quest, there's a 1/3 chance to obtain a random dungeon map as part of your reward. That dungeon is pre-defined by the quest, and is revealed at the quest end if you get that bonus.

User avatar
Macadaynu
Posts: 261
Joined: Sun Mar 07, 2021 1:18 pm

Re: Option to hide all locations unknown to a stranger

Post by Macadaynu »

Jay_H wrote: Sat Sep 25, 2021 10:06 pm https://en.uesp.net/wiki/Daggerfall:Grab_an_Ingredient

After the quest, there's a 1/3 chance to obtain a random dungeon map as part of your reward. That dungeon is pre-defined by the quest, and is revealed at the quest end if you get that bonus.
Ah! Thanks Jay.

Hmm this needs more refinement then...

User avatar
haloterm
Posts: 391
Joined: Sat Feb 16, 2019 5:21 am

Re: Option to hide all locations unknown to a stranger

Post by haloterm »

Macadaynu wrote: Sat Sep 25, 2021 10:09 pm
Jay_H wrote: Sat Sep 25, 2021 10:06 pm https://en.uesp.net/wiki/Daggerfall:Grab_an_Ingredient

After the quest, there's a 1/3 chance to obtain a random dungeon map as part of your reward. That dungeon is pre-defined by the quest, and is revealed at the quest end if you get that bonus.
Ah! Thanks Jay.

Hmm this needs more refinement then...
Also consider vague location descriptions which want the players to discover.

For example, a quest may silently reveal a map location without explicitly telling the player in a message about it. For example, in my Black Horse Courier quests, there is one where just a letter is discovered which mentions a place, but does not explicitly state "go there, do that". The travel map would still reveal it.

A quest may also just state "go to that town and then head to the northeast; go as far as a horse would go in two days" (or similar vague descriptions). I also do that in my mod (I define some locations as permanent, so I can use them in quests). If the map is nearly empty in the beginning, the fun of discovering is a bit spoiled. With a map that is full of markers anyway the quest location is not so noticeable and it requires at least a bit of mild thinking and navigation, but if a map is nearly empty, the player would very fast notice the newly added location.

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

Re: Option to hide all locations unknown to a stranger

Post by Jay_H »

I would recommend auto-revealing any non-dungeon place that's defined in a quest. The dungeon reveal mechanics can stay the same as classic, but villages/towns/temples should be auto-revealed. Here's an example from C0B00Y01:

Code: Select all

Place _mondung_ remote dungeon4
Place _tavern_ remote tavern
Place _prophouse_ remote tavern

--	Quest start-up:
	reveal _mondung_ 
	log 1010 step 0 
TES2 automatically assumes towns are pre-revealed, so it would make sense that, so soon as any is defined in a quest, it would be marked on your map.

User avatar
Macadaynu
Posts: 261
Joined: Sun Mar 07, 2021 1:18 pm

Re: Option to hide all locations unknown to a stranger

Post by Macadaynu »

Jay_H wrote: Sat Sep 25, 2021 11:19 pm I would recommend auto-revealing any non-dungeon place that's defined in a quest. The dungeon reveal mechanics can stay the same as classic, but villages/towns/temples should be auto-revealed.
Villages/Towns/Temples are auto revealed if they are associated with a quest as that's how it works now. This has a drawback though: For example, the Brisienna quest silently starts on game start, and will therefore automatically reveal the location of Brisienna on the map, before you have read the letter from her. I'm assuming there may be other quests that have similar problems. I personally don't mind that, but it could be considered immersion breaking?

Another way of doing this would be to only reveal quest locations that have been noted down in your quest log, that way you wouldn't find out about the location until you have read the letter and it is in your quest log?

(edit - actually I'm not sure if the Brissiena quest location even shows up in the log, going to test that)

Dungeon maps that you obtain from quests or found as loot would have to be handled separately though

User avatar
Macadaynu
Posts: 261
Joined: Sun Mar 07, 2021 1:18 pm

Re: Option to hide all locations unknown to a stranger

Post by Macadaynu »

Ignore that last suggestion, the location doesn't show up in the quest log anyway.

I think I can fix this problem by looking at the timers for the quests instead, and making sure they are not in the _invitepc_ stage. That way the Brissiena location will only show up when you receive the letter from her.

I can also fix the Grab an Ingredient extra location by just checking for _newdung_ in the quest markers.

This now just leaves the problem of the random dungeon maps to solve, and then making it work with Basic Roads, fingers crossed

User avatar
haloterm
Posts: 391
Joined: Sat Feb 16, 2019 5:21 am

Re: Option to hide all locations unknown to a stranger

Post by haloterm »

Macadaynu wrote: Sun Sep 26, 2021 12:11 pm I think I can fix that by looking at the timers for the quests, and making sure they are not in the _invitepc_ stage. That way the Brissiena location will only show up when you receive the letter from her.

I can also fix the Grab an Ingredient extra location by just checking for _newdung_ in the quest markers.
Ideally you find a solution that applies for all silently started quests which may have locations not yet revealed. I think mostly of current and future quest packages which start with InitAtGameStart. But of course you can't go through each possible quest file and account for that individually.

As an example: In my BHC mod, I start silently a quest at game start where the player has to visit a remote village. The player learns about that only if he finds a newspaper somewhere and reads that newspaper closely. If he doesn't, he will never know that this subquests even exists. A similar quest (mechanic-wise) will come in the next update of my mod (the whole mod is about discovering things by reading, not by being spoon-fed locations).

If that location would be revealed by your map, the fun of actually noting the existence of the quest would be spoiled. So you would need to find a way to hide this location as long as the player has not actually visited the location or has read that newspaper. But without looking at the specifics of that quest file, because that can change in updates etc.

So you need a general solution for such locations... is it maybe possible to check if a text is shown to a player which includes references to locations?

For example, when I have a message like this:

Code: Select all

Message: 1020
<ce> bla bla bla
<ce>
<ce> bla bla _MyRemoteLocation_ at __MyRemoteLocation_ bla bla
<ce>
That your mod

1. recognizes that the message is displayed (either because the player "uses" a scroll in the inventory, or because it is shown using "say"),

2. in the currently displayed message the _XYZ_ and __XYZ_ parts exist in the text

3. evaluates the actual content of the _XYZ_ and __XYZ_ and based on that reveals the location?


So at first you would need to recognize that DFU is currently displaying a text and then analyse said text for location mentions.

User avatar
Macadaynu
Posts: 261
Joined: Sun Mar 07, 2021 1:18 pm

Re: Option to hide all locations unknown to a stranger

Post by Macadaynu »

haloterm wrote: Sun Sep 26, 2021 12:28 pm So you need a general solution for such locations... is it maybe possible to check if a text is shown to a player which includes references to locations?
Possibly, I did go down that route initially, but it feels like there should be an easier/better way. But I may end up doing something like that if there is no alternative.

Right now this is just a prototype to see if the key features work, I'm going to send Hazelnut a PM to see about getting it to work with Basic Roads/Travel Options (as this mod needs them in my opinion) and we can go from there.

Regnier
Posts: 374
Joined: Wed Oct 02, 2019 6:26 am

Re: Option to hide all locations unknown to a stranger

Post by Regnier »

Hm this is a great idea, making it similar to the new games where you have to discover some locations first.

For basic roads integration i think the places that roads lead to could be kept on the map but most locations are undiscovered.

This could allow room for more gameplay, obviously, including any future language mods that allow you to ask creatures for directions instead of just people.

Either buy a map($$$) from the palace or bank or something which reveals things or get general directions from inn keepers and certain townspeople or creatures as you travel. If you are within a certain distance a creature/person would reveal the location.
Maybe im getting ahead of things lol

Post Reply