Mod Idea - Dungeon Blocks categorised and expanded

Talk about the mods you'd like to see in Daggerfall Unity. Give mod creators some ideas!
User avatar
Arneb
Posts: 166
Joined: Sun Mar 08, 2020 9:38 pm

Mod Idea - Dungeon Blocks categorised and expanded

Post by Arneb »

I'm pretty sure I'm not the first one to have this idea, I think I already read something similar on the forums.

Anyway, I recently started to think about dungeons, and how to make them better. I have to admit I already like them a lot, I'm one of those (few?) that like to play with full sized dungeons, the bigger the better.

But at the same time I know they are not perfect, and IMO their weakest point is that what should be the dungeon theme is relegated to the exterior (with a mod) and to the kind of enemies that are randomised in it. What could be a solution? Hand crafted dungeons? Yes, they're cool, but how many complete dungeons can a small modding community produce in a reasonable time? A hundred? Two? Still a drop in the ocean of the Iliac Bay.

I think the original idea of dungeons built from modular pieces should be preserved, but with some simple criteria to "channel" the random element: each dungeon block should get a small number of "tags", that refer to the dungeon type that block is more pertinent in, one, two or maybe three tags. Then, when randomising, depending on said dungeon type the majority (a 75% maybe?) of blocks would be (randomly) picked from the relative list, and only a small percentage would be completely random.

There would be at least two weak points to this method:
1. I'm not even sure that, with the current version of DFU, dungeons could even be re-randomised (but smaller dungeons works, right? Maybe there's hope);
2. With the actual number of dungeon blocks, every type of dungeon would end up looking the same of another dungeon of the same type (every prison the same, every desecrated temple similar, etc...). Solution? To make new dungeon blocks.

Anyway, I started to slowly categorizing all the existent .RDB, if anyone's interested I'll post my results when finished to hear opinions and suggestions. I haven't done practically anything by now, so anyone that has a better idea is welcome.

User avatar
BadLuckBurt
Posts: 948
Joined: Sun Nov 05, 2017 8:30 pm

Re: Mod Idea - Dungeon Blocks categorised and expanded

Post by BadLuckBurt »

I enjoy the classic dungeon sizes too. The overall implementation provides a nice basis but their execution was half-assed

The way I look at things:

1. Exteriors determining the location and dungeon type is fine
2. Modular pieces for the win
3. Each dungeon type should get it's own set of blocks. Right now everything is being pulled from the same pool.
4. Dungeon can be re-randomized and by using their locationID as a seed would still keep the same layout.
5. Added bonus to point 4, if you add a user-controlled global seed you can randomize dungeons each playthrough by combining that with the locationID.

I don't think you need to categorise the existing blocks, there's only a few varieties:

Border blocks (Bxxxxxx.RDB): They 'seal off' the inner dungeon layout
Inner blocks (Nxxxxxx.RDB, Wxxxxxx.RDB): The meat of the dungeon, this is where the spaghetti monster lives. And W means it has water.
Special blocks (Sxxxxxx.RDB): Special blocks used for the main quest dungeons

Then there are model sets and textures that are swappable to change the look of a dungeon.

In the past, I have butchered the function in DFU that generates the smaller dungeon to just randomly generate a big dungeon. That worked fine but since we have feature freeze, I can't really make a pull request yet for the events we'd need to overwrite a dungeon's layout.

Most of the work would be in creating new 'vanilla accurate' custom dungeon blocks that adhere to the various dungeon types. We could kidnap all the modelers in the TES community so they can pay homage to the game that started most of what they're enjoying nowadays :D It would be a long term project but definitely something that has to be tackled.

Once the blocks have been made, we'd categorize those and then write a function to generate a layout based on 'things'.

I've made one custom dungeon so far so I know all of the above can be done.
DFU on UESP: https://en.uesp.net/w/index.php?title=T ... fall_Unity
DFU Nexus Mods: https://www.nexusmods.com/daggerfallunity
My github repositories with mostly DFU related stuff: https://github.com/BadLuckBurt

.

User avatar
Arneb
Posts: 166
Joined: Sun Mar 08, 2020 9:38 pm

Re: Mod Idea - Dungeon Blocks categorised and expanded

Post by Arneb »

Sir Burt, I'll start by saying that your support is unexpected but greatly appreciated.

Ok, back to the subject:
I don't think you need to categorise the existing blocks, there's only a few varieties...
When I say that I'm categorising the existing blocks, I mean that I'm putting them in one, two or three (ok, sometimes four) dungeon type list of blocks.
Each dungeon type should get it's own set of blocks. Right now everything is being pulled from the same pool.
That's exactly what I'm doing with the standard blocks: putting them where they belong. Or, where I think they belong.
4. Dungeon can be re-randomized and by using their locationID as a seed would still keep the same layout.
5. Added bonus to point 4, if you add a user-controlled global seed you can randomize dungeons each playthrough by combining that with the locationID.
This comes as a big relief, and I'm equally fascinated by both solution. Those could probably be kept as choices in the mod settings.

The work is still in its infancy, but with the right motivation I figure the first part can be finished pretty fast.

In the end, if you or anyone else is interested, I could keep an updated table of such work (original blocks categorisation) in the first post while I progress, so each entry could be analysed and changes proposed.

Edit: Some standard blocks are bland to the point that is quite difficult to put them in a precise dungeon type list, and would greatly gain from a rework. I'll note this down.

User avatar
BadLuckBurt
Posts: 948
Joined: Sun Nov 05, 2017 8:30 pm

Re: Mod Idea - Dungeon Blocks categorised and expanded

Post by BadLuckBurt »

I don't know why it's so unexpected but that's fine :D I've worked with the dungeons quite a bit so I figured I'd chip in

Probably should've been clearer when I said the existing blocks don't have to be categorized. As you've already noted, they are generic as hell and imo not worth re-using when reworking dungeons, it'll just feel like even more of the same.

To really tackle new blocks you'd need a group of people or the blocks will end up with Oblivion-syndrome where all dungeons were made by one dude. There is one PR for model rotation I will absolutely submit this Saturday after I hammer out the test-case that currently holds back dungeon block development. Ralzar did make a cool mine with vanilla assets in the World Data Editor but ran into the rotation issue and we discovered some other things related to water along the way.

There is some work I want do on the World Data Editor too to make working with dungeon actions like elevators, levers etc. easier than it is atm.
DFU on UESP: https://en.uesp.net/w/index.php?title=T ... fall_Unity
DFU Nexus Mods: https://www.nexusmods.com/daggerfallunity
My github repositories with mostly DFU related stuff: https://github.com/BadLuckBurt

.

User avatar
Arneb
Posts: 166
Joined: Sun Mar 08, 2020 9:38 pm

Re: Mod Idea - Dungeon Blocks categorised and expanded

Post by Arneb »

BadLuckBurt wrote: Fri Jun 03, 2022 4:25 am I don't know why it's so unexpected but that's fine :D I've worked with the dungeons quite a bit so I figured I'd chip in

Probably should've been clearer when I said the existing blocks don't have to be categorized. As you've already noted, they are generic as hell and imo not worth re-using when reworking dungeons, it'll just feel like even more of the same.

To really tackle new blocks you'd need a group of people or the blocks will end up with Oblivion-syndrome where all dungeons were made by one dude. There is one PR for model rotation I will absolutely submit this Saturday after I hammer out the test-case that currently holds back dungeon block development. Ralzar did make a cool mine with vanilla assets in the World Data Editor but ran into the rotation issue and we discovered some other things related to water along the way.

There is some work I want do on the World Data Editor too to make working with dungeon actions like elevators, levers etc. easier than it is atm.
So many good news regarding dungeon development!

Reading all that, I feel like what I’m trying to make will happen, no matter what I do (or don’t).

But as the saying goes, “Be the change you want to see in Daggerfall”. Therefore, I think I’ll keep familiarising myself with the standard blocks: some of those are quite interesting, while the bland ones maybe just need some modification to bring out some sort of “theme”. I have a few ideas on how to make that.

By the way, anyone knows what a “Volcanic Cave” dungeon is supposed to look like?

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

Re: Mod Idea - Dungeon Blocks categorised and expanded

Post by Jay_H »

By the way, anyone knows what a “Volcanic Cave” dungeon is supposed to look like?
I'd guess it would have natural steam vents, and maybe some lava pools.

User avatar
Arneb
Posts: 166
Joined: Sun Mar 08, 2020 9:38 pm

Re: Mod Idea - Dungeon Blocks categorised and expanded

Post by Arneb »

So nothing we can find in standard blocks. Those will need a big number of custom blocks.

User avatar
BadLuckBurt
Posts: 948
Joined: Sun Nov 05, 2017 8:30 pm

Re: Mod Idea - Dungeon Blocks categorised and expanded

Post by BadLuckBurt »

Arneb wrote: Fri Jun 03, 2022 11:35 am By the way, anyone knows what a “Volcanic Cave” dungeon is supposed to look like?
The images I saw online reminded me of Morrowind caves which makes sense seeing how Vvardenfell is a volcanic island.
DFU on UESP: https://en.uesp.net/w/index.php?title=T ... fall_Unity
DFU Nexus Mods: https://www.nexusmods.com/daggerfallunity
My github repositories with mostly DFU related stuff: https://github.com/BadLuckBurt

.

User avatar
Arneb
Posts: 166
Joined: Sun Mar 08, 2020 9:38 pm

Re: Mod Idea - Dungeon Blocks categorised and expanded

Post by Arneb »

BadLuckBurt wrote: Sat Jun 04, 2022 11:30 am The images I saw online reminded me of Morrowind caves which makes sense seeing how Vvardenfell is a volcanic island.
But nothing that can be found in vanilla DF I guess. Well, we'll rectify that.

I finished checking "N" and "W" dungeon block, and I wanted to report my impression here: I copied the .RDB list from UESP and added, in the square brackets, in which dungeon type list I think that particular block should fall. It isn't, by any standard, a definitive analysis, most of them are based on my taste, impression, mood, and so on. Those that I labelled as "Bland-est block" are those that I don't think can belong to any particular dungeon type without some serious rework.
With that, I don't mean that those not labelled like that are fine as they are, on the contrary I evaluated that the blocks usable "as is" are but a small minority. But many of the others can be at least used as a starting point for devising something more interesting.

Key:
Barbarian Stronghold = BS;
Coven = Cvn;
Crypt = Cpt;
Desecrated Temple = DT;
Dragon's Den = DD;
Giant Stronghold = GS;
Harpy Nest = HN;
Human Stronghold = HS;
Laboratory = Lbt;
Mine = Mne;
Natural Cave = NC;
Orc Stronghold = OS;
Prison = Prs;
Ruined Castle = RC;
Scorpion/Spider Nest = SN;
Vampire Hunt = VH;
Volcanic Caves = VC;

Code: Select all

- N0000000 Big stairs [DT - VH]

- N0000001 Big stairs [Cvn? - VH]

- N0000002 Big stairs w/ red brick teleporter, blocking statue [HS - Prs]

- N0000003 Hollow pyramid, short lever opens trapdoor teleport [BS - DT - OS]

- N0000004 Hollow pyramid, turnwheel in upper mini-maze, skull fountain teleport [HS - Lbt - Prs]

- N0000005 Hollow pyramid, trapdoor over teleport exit [BS - VH]

- N0000006 Two towers with catwalks [HS - OS - RC]

- N0000007 Two towers with catwalks [GS - HN - VH]

- N0000008 Two towers with catwalks [Cpt - RC - VH]

- N0000009 Caves, arched ramp grotto [DD - Mne - NC - SN]

- N0000010 Caves, arched ramp grotto, treasure pile moves stone [DD - Mne - NC - SN]

- N0000011 Caves, arched ramp grotto [DD - Mne - NC - SN]

- N0000012 The stone arch bridge grotto [DD - HN - SN]

- N0000013 The stone arch bridge grotto [DD - GS - HN - SN]

- N0000014 The stone arch bridge grotto, root teleporters [DD - GS - HN - SN]

- N0000015 Wooden suspension bridge grotto, torch moves wall [GS - HS - SN]

- N0000016 Wooden suspension bridge grotto, opened wall [GS - OS - SN]

- N0000017 Wooden suspension bridge grotto, torch moves wall, teleporter [HS - OS - SN]

- N0000018 Room of tapestries, small surroundings, teleporting treasure pile/brazier [HS - OS - Prs]

- N0000019 Room of tapestries, large surroundings, brazier teleporter [Cpt - VH]

- N0000020 Room of tapestries, large surroundings, brazier teleporter [HS - Prs - RC]

- N0000021 Flying J: no unlocking brazier in the rafters [BS - OS - RC]

- N0000022 Flying J with unlocking brazier in the rafters [GS - Lbt - OS]

- N0000023 Flying J with unlocking brazier in the rafters [GS - Lbt - OS]

- N0000024 Royal audience hall, stone catwalk [BS - GS - OS]

- N0000025 Royal audience hall, stone catwalk [Cvn - DT]

- N0000026 Royal audience hall, stone catwalk [HS - OS - RC]

- N0000027 Skull teleporter scenario [Cvn - GS - Lbt]

- N0000028 Skull teleporter scenario [Cvn - Lbt]

- N0000029 Skull teleporter scenario [Cvn - Lbt]

- N0000030 Caves, stone in crossroad [Mne - NC - SN]

- N0000031 Caves, stone in crossroad [Mne - NC - VC]

- N0000032 Caves, stone in crossroad [Mne - SN - VC]

- N0000033 Basement eight door room [DT - VH]

- N0000034 Basement eight door room [BS - DT - VH]

- N0000035 Basement eight door room [DT - OS - VH]

- N0000036 Red brick teleporter maze [Cvn - Lbt]

- N0000037 Red brick teleporter maze [Cvn - DT - VH]

- N0000038 Red brick teleporter maze [Cvn - DT - VH]

- N0000039 The tower of crossroads [Bland-est block]

- N0000040 The tower of crossroads [Bland-est block]

- N0000041 The tower of crossroads [Bland-est block]

- N0000042 The cellar 12-columned/checker board room [BS - HS - OS]

- N0000043 The cellar 12-columned/checker board room [Cvn - VH]

- N0000044 The cellar 12-columned/checker board room [BS - HS - OS] 

- N0000045 One floor meander, (magic) locked room in basement, often w/ 3 levers [Prs - RC]

- N0000046 One floor meander, (magic) locked room in basement, often w/ 3 levers [OS - Prs - RC]

- N0000047 One floor meander, (magic) locked room in basement, often w/ 3 levers [OS - Prs - RC]

- N0000048 Long attic zig-zag, foe inside packing crate [Bland-est block]

- N0000049 Long attic zig-zag, foe inside packing crate [Bland-est block]

- N0000050 Long attic zig-zag, foe inside packing crate [Bland-est block]

- N0000051 Attic eight door room/three floor elevator [Bland-est block]

- N0000052 Attic eight door room/three floor elevator [Bland-est block]

- N0000053 Attic eight door room/three floor elevator [Bland-est block]

- N0000054 Caged doorway [Cvn - DT - Prs] 

- N0000055 Caged doorway [Cvn - DT - Prs]

- N0000056 Caged doorway [Cvn - DT - Prs]

- N0000057 Flying H, zig-zag shaft [HS - OS - RC - VH]

- N0000058 Flying H, zig-zag shaft [Cpt - DT - VH]

 - N0000059 Flying H, zig-zag shaft [Lbt - Prs - RC]
 
- N0000060 Three U's, short elevator shaft in rafters [Lbt?]

- N0000061 Three U's, short elevator shaft in rafters [Cvn - VH]

- N0000062 Three U's, short elevator shaft in rafters [Cvn - Lbt - VH]

- N0000063 Flying Y: stem is a ramp leading down [Bland-est block]

- N0000064 Flying Y: stem is a ramp leading down [Cpt? - VH?]

- N0000065 Flying Y: stem is a ramp leading down [Cvn - DT - VH]

 - N0000066 Double spirals [Cpt?]
 
- N0000067 Double spirals [Bland-est block]

- N0000068 Double spirals [Lbt?]

- N0000069 Y in the rafters [BS - OS - RC]

- N0000070 Y in the rafters [Cvn - Lbt]

- N0000071 Y in the rafters [Cvn - Lbt]

- N0000072 Rafter windowed corridors [BS - OS - RC]

- N0000073 Rafter windowed corridors [Cvn - Lbt - VH]

- N0000074 Rafter windowed corridors [Cvn - Lbt - VH]

- N0000075 Rafter circle of rooms [BS - Lbt - OS]

- N0000076 Rafter circle of rooms [BS - Lbt - OS]

- N0000077 Rafter circle of rooms [Lbt - OS - VH]

- N0000078 X/H ground floor [Bland-est block]

- N0000079 X/H ground floor [Bland-est block]

- N0000080 X/H ground floor [Bland-est block] 

- N0000081 Pig sty [BS - DT - VH]

- N0000082 Pig sty [DT - HS - VH]

- N0000083 Pig sty [HS - Prs - OS]

- N0000084 Spaghetti maze [Cpt - VH]

- N0000085 Spaghetti maze [Cpt - VH]

- N0000086 Spaghetti maze [Cpt - VH]

- N0000087 Double ovals (gray stone sewers) [Bland-est block]

- N0000088 Double ovals (gray stone sewers) [Bland-est block]

- N0000089 Double ovals (gray stone sewers) [Bland-est block]

- N0000090 Big barn [BS - HS - Prs]

- N0000091 Big barn [BS - OS - Prs]

- N0000092 Big barn [BS - OS - Prs]

 - W0000000 Flooded caves, stone in crossroad [Cvn? - Mne - NC - VC]
 
- W0000001 Flooded big stairs [Cvn? - Crp - DT - VH]

- W0000002 Flooded basement eight door room [DT - VH]

- W0000003 Flooded hollow pyramid (Almost the same as - N0000003.RDB, but with water) [BS - DT - OS]

- W0000004 Flooded red brick teleporter maze [Cvn - VH]

- W0000005 Flooded two towers [HS - OS - RC]

- W0000006 The double moats/windowed corridor [DT - VH]

- W0000007 The double moats/windowed corridor [DT - VH]

- W0000008 Flooded caves, arched ramp grotto [DD - Mne - NC]

- W0000009  Flooded Y in the rafters [BS - OS - Prs]

- W0000010 Flooded rafter windowed corridors [Lbt - Prs]

- W0000011 Flooded rafter circle of rooms [Lbt - OS - RC]

- W0000012 Flooded X/H ground floor [Bland-est block]

- W0000013 Flooded royal audience hall, stone catwalk [BS - GS - OS]

- W0000014 Flooded flying H, zig-zag shaft [DT - VH]

- W0000015 Flooded three U's, short elevator shaft in rafters [RC?]

- W0000016 Flooded flying Y: stem is a ramp leading down [Bland-est block]

- W0000017 Flooded double spirals [Cpt? - VH?]

- W0000018 Flooded flying J [GS - Lbt - OS]

- W0000019 Flooded long attic zig-zag [Bland-est block]

- W0000020 Flooded attic eight door room/three floor elevator [Bland-est block]

- W0000021 Flooded caged door [Cvn - DT - Prs]

- W0000022 Flooded pig sty [DT - VH]

- W0000023 Flooded wooden suspension bridge grotto [BS - Cpt - HN]

- W0000024 Flooded one floor meander [RC]

- W0000025 Flooded room of tapestries [GS - OS]

- W0000026 Flooded skull teleporter scenario [GS - HN - Lbt]

- W0000027 Flooded spaghetti maze [Cpt - VH]

- W0000028 Flooded double ovals [Bland-est block]

- W0000029 Flooded big barn [BS - OS - Prs]
Next steps:
I want to check border blocks, just out of curiosity. But that should be fast.
After that, I want to see how many blocks are in each dungeon type list; based on that, I'll start modifying those blocks that need it, with the obvious aim to steer them toward the less populated lists.
When that will be done, it will be finally possible to begin putting down code. From there, everything will get down to contributions to the dungeon lists. But for that, there's plenty of time.

Edit: I forgot to highlight a couple of points that I think are meaningful.

The first one will come as redundant for those that know a bit about how random dungeons are composed, but whatever: one of the bigger reason I think dungeons looks "samey" depends on the number of blocks used in their randomisation. There are 93 normal blocks + 30 flooded blocks, but the resulting pool has to be divided by 4, since each block is saved in four variants (3 normals and one flooded) that usually differ only by a few details, being those the starting point, markers distribution and maybe a slight change in a corridor here and a room there. Nothing substantial. At the end of the day we're talking of more or less 31 block types. UESP claims that dungeons consist of up to 32 blocks, enough said.

The second point is something I'm not sure came out enough clearly from my earlier posts: this is not my mod, I'm not the best suited or most experienced person for this kind of job, I'm doing it simply because it's something I'd like to see in the game. If anyone else is willing to participate, from a simple suggestion, to a more aggressive "you're not going anywhere, I'll do it much better and faster than you", please be my guest.
Last edited by Arneb on Sat Jun 04, 2022 2:44 pm, edited 1 time in total.

User avatar
BadLuckBurt
Posts: 948
Joined: Sun Nov 05, 2017 8:30 pm

Re: Mod Idea - Dungeon Blocks categorised and expanded

Post by BadLuckBurt »

Arneb wrote: Sat Jun 04, 2022 2:14 pm But nothing that can be found in vanilla DF I guess. Well, we'll rectify that.
Yeah, even cave meshes themselves are very few and the few blocks that allude to a cave still have regular dungeon models in there.

I really think there is more to be gained from creating new blocks from scratch but I am partly biased because I enjoy that part :)
Arneb wrote: Sat Jun 04, 2022 2:14 pm Next steps:
I want to check border blocks, just out of curiosity. But that should be fast.
After that, I want to see how many blocks are in each dungeon type list; based on that, I'll start modifying those blocks that need it, with the obvious aim to steer them toward the less populated lists.
When that will be done, it will be finally possible to begin putting down code. From there, everything will get down to contributions to the dungeon lists. But for that, there's plenty of time.
The border blocks are the most generic of the bunch as they only seal off the main blocks and connect the upper and lower levels via the passage ways in the border block. They never contain quest markers, activators or anything of interest.
DFU on UESP: https://en.uesp.net/w/index.php?title=T ... fall_Unity
DFU Nexus Mods: https://www.nexusmods.com/daggerfallunity
My github repositories with mostly DFU related stuff: https://github.com/BadLuckBurt

.

Post Reply