Entrances that matter

Talk about the mods you'd like to see in Daggerfall Unity. Give mod creators some ideas!
Post Reply
User avatar
Herowho
Posts: 5
Joined: Wed Oct 16, 2019 7:24 am

Entrances that matter

Post by Herowho »

Hey everybody, I'm newly registered.

I was a bit bothered by the fact that some places, particularly castle and castle dungeon exteriors have multiple entrances on the outside, but all lead to the same entrance on the inside, giving no purpose for climbing up the outside of castles to get to a door on a higher tower or a bridge in an attempt to find a "back door" way into somewhere. I was wondering if it was possible to have multiple entrances/exits in dungeons and castle interiors that could connect to these currently pointless extra exterior doors.

I don't know jack about coding or modding, but I would understand if such a thing is not possible, considering the chaotic nature of dungeons that I've witnessed so far. I just wanted more purpose to those extra exterior doors, to make playing a sneaky or acrobatic character feel more like they're taking some kind of attempted shortcut or something.

User avatar
Ralzar
Posts: 2211
Joined: Mon Oct 07, 2019 4:11 pm
Location: Norway

Re: Entrances that matter

Post by Ralzar »

The really confusing bit, is that on small palaces, this works correctly. Probably because these are really houses, and houses can have multiple entrances/exits.

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

Re: Entrances that matter

Post by pango »

Welcome to the forums, Herowho!

That could be nice, that would be another way to make dungeons feel a little bit less massive, specially with persistent dungeons.

Now, from the feasibility point of view...
Well, for dungeons you'd need some way to match outside doors with inside doors.
From a video I watched where Daggerfall Modelling was used, each dungeon module has an entrance door, that is only normally enabled and visible in one module of each dungeon; So by enabling more of them, those could be used for alternate entrances.
The remaining bad case is, when they're more external doors than dungeon modules, what do you map excess external doors to? Mapping several external doors to one module doesn't sound great (if you exit the dungeon thru an alternate door you aren't sure you can get back inside the dungeon at the same place; but hey, this already happens today with the dungeons that have multiple exits); And adding more internal doors beside the trick I mentioned above seems difficult.
I guess some doors could also be locked, so there's never more working outside doors than dungeon modules... That means you could have to try several doors before being able to enter a dungeon, but given they're ruins I personally wouldn't mind that you'd have to find your way in...
Last edited by pango on Wed Oct 16, 2019 9:07 am, edited 1 time in total.
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

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

Re: Entrances that matter

Post by Hazelnut »

Can you give names of dungeons with multiple exits Pango? I'd like to check how the location/dungeon data specifies this.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

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

Re: Entrances that matter

Post by pango »

The one I know as certain is Gaerwing's Guard, Wayrest, thanks to Jayhova (and Tamrielle!)
Attachments
SAVE311.zip
(610.63 KiB) Downloaded 93 times
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

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

Re: Entrances that matter

Post by pango »

To add a bit to the difficulty, some external dungeon models have double doors, that it would feel silly to handle has two separate entrances...

Ex. Bisar's Guard, Dragontail mountains:
Screenshot.jpg
Screenshot.jpg (309.93 KiB) Viewed 1775 times
I assume main quest dungeons would have to be excluded too...
Attachments
SAVE256.zip
(535.92 KiB) Downloaded 100 times
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

hannafamilycomputer
Posts: 71
Joined: Wed Sep 25, 2019 12:19 am

Re: Entrances that matter

Post by hannafamilycomputer »

According to https://en.m.uesp.net/wiki/Daggerfall:Dungeons, each dungeon block has 8 layers.
Assuming most of the dungeon is underground, the top 3 should be used for entrances. (Also will avoid underwater entrances) Based on height of entrances on dungeons exteriors, additional entrances could be placed based in that starting block on those layers. The obvious problem is that the other entrances would have to be placed in specific spots, resulting in a lot of work and having to create 8+ entrances for every block.

However, you could procedurally generate them, but then it would need a formula to define "this is wall, place entrance here" so it dosen't place them in empty space or hallways or in mid air.

This is a long paragraph, so i'll use some if logic:
(These blocks do not exist as far as I know, but there may be similar ones)

#An exterior castle block has 5 doors, 3 at ground level, 2 on towers near the rear. 2 of the ground level doors form a double door enterance.

1: finding doors close to each other
Find all door triggers in exterior block
If 1st door x position is within 8 meters of 2nd door x position and door 1 y is within 8 meters of door 2 y
Then door 1 and door 2 go to same exit

2: finding door elevation
Count door 1's distance from ground level
If < 10 meters, place entrance on level 2 (on uesp's diagram)
elif > 10 and < 20 place entrance on level 1
Else place an enterance on level 0

3: Placing entrances
Find wall on that level. (I guess just do random x and y until it collides with something that isn't an object. A better version would have it within a range of say 10m x and y of the exterior door's position)

Use an axis to find the oppisite wall:

Place center of axis on wall that was found
Out of center lines extend in all four directions, whichever collides first is the oppisite wall. Use z axis downwards to check if there is a floor or not. If yes then
Place entrance 1 x/y away from axis center on that line.
(The benifit is that it could be placed in rooms or hallways this way)

Problems:
- Don't know if engine can distingish what is an object, if not, it might place doors inside tables, statues, cages, etc. I guess it wouldn't matter if door 0 would always go to default entrance so there is an escape, but it would be broken.
- Could slow down load times.
-It gets it's z value from the exterior location, so in blocks with tall rooms (say the one in privateer's hold with the skeleton) could have entrances on walls up high. A way to solve this would be to toggle collison on the "wall" off, then make a 'z' line extend down from the axis 1-2 z. If it collides with anything (since it's going downward, ground), then it's okay, if not, generate new x and y.

As always, more advanced things could be done, like making sure a door on a north-south wall on the outside lines up with a north- south wall on the inside.

I am not sure if any of the above is possible with the way it is set up, just wanted to offer an approach if someone wants to try and do this using random generation.

Post Reply