[WIP] Ultima Underworld level conversion

New maps, and other projects whose primary focus is new maps, belong here.

Note: This forum, and all forums below it, are not for questions or troubleshooting! Threads created here are for active projects only! If you have questions please feel free to use the Editing subforums or General forum.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
Sir Robin
Posts: 537
Joined: Wed Dec 22, 2021 7:02 pm
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: [WIP] Ultima Underworld level conversion

Post by Sir Robin »

Gez wrote:The problem when the effect isn't subtle enough is that it makes the surfaces too detailed to fit with the geometry. Contrast the 3D grittiness of the walls with the razor sharp border of these walls with the floor and the ceiling.
That's something I was noticing as I've been working on this. With UW's low-res renderer, bad lighting, and sloppy texture mapper, you don't really notice the geometry. Or at least I didn't - I remember realizing right away wolf3d's walls were all 90-degree angles, but didn't realize UW's geometry until someone pointed it out to me. But maybe that was just me?
Anyway, with the high-res render and sharp lighting it really makes the geometry stand out. Probably fine for rooms and passages, but it's going to look terrible for natural areas like caverns and rivers and whatnot. Not much I can do about that. There are some other UW remakes where they took liberties with the geometry (like the unreal tournament version or unreal VR version) but I'm trying to stick to the authentic levels as much as I can.
Ozymandias81 wrote:Love how new materials look, but specially how did you place action icons around the compass, neat idea! I guess applying User# buttons might work, you'll just need to include a fifth custom one and it should do the trick (as shortuts).
The icons represent 5 action keys - fire, altfire, reload, zoom, and use. That's one of the reasons I started working on a tutorial, to explain the interface.
Ozymandias81 wrote:What I still didn't imagine how to implement are runes and the runebag... My approach will be more arcadey, so quite sure might be as normal scrollable inventory bar where runes are usable objects... or mmh like Quest objects to collect, important to solve puzzles.
I haven't started on the inventory or magic system yet. I kind of like Arx Fatalis's way of drawing the runes with the mouse but that might be harder to implement.
In the mouse-look version of UW you press "/" to go into rune mode, then A-Z select runes to put on the rune shelf or backspace to take them off. Then "C" to cast the spell. I might try something like that.
Maybe you could make yours like you start out with all the known spells as inventory items, but they won't cast until you have the correct runes - maybe make unusable spells grayed out or something until you have the correct runes. Then you'd still need to make a system for discovering new spells. Or you could forgo the discovery system and just make it so you have to learn spells from NPCs or finding books or notes or whatever.
Ozymandias81 wrote:Regarding training dummies thing, must be cool to see them in movement :D
It started as a joke, I thought, "what if you hit the training dummies enough and their armor goes flying everywhere" so I coded that and gave it a big "SPRONG!" noise. I think it's hilarious so I'll leave it in.
User avatar
Sir Robin
Posts: 537
Joined: Wed Dec 22, 2021 7:02 pm
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: [WIP] Ultima Underworld level conversion

Post by Sir Robin »

for comparison here's the same textures without the gritty noise:

User avatar
Ozymandias81
Posts: 2067
Joined: Thu Jul 04, 2013 8:01 am
Graphics Processor: nVidia with Vulkan support
Location: Mount Olympus, Mars

Re: [WIP] Ultima Underworld level conversion

Post by Ozymandias81 »

I think despite the evident "cut" between floors and walls with these materials, I prefer how gritty ones looks in place, those give me somehow StoneKeep vibes.

Thanks for runes suggestion, I might consider the "known spells as inventory items" definitely.
User avatar
Sir Robin
Posts: 537
Joined: Wed Dec 22, 2021 7:02 pm
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: [WIP] Ultima Underworld level conversion

Post by Sir Robin »

OK! I threw together a materials test. I've put all the levels into a cluster hub and all the proper enter/exit points so you can seamlessly run through the whole game - I've opened all the terrain-change areas, got all the level 7<->8 connections, the tower in the NE, and I even put in teleporters so you can get to the academy vault and mine dispatch. No monsters or interface is included, just the levels to run around in and look around. I've got my materials in there, about 70% of the textures have materials so take a look at those and tell me what you think. Some of the grittier ones are the ones I haven't gone back and smoothed out yet. Many 32x32 floors have been replaced with 64x64 versions, but they're as close to the originals as I could make them. Other than that all textures are UW1 authentic unmodified and the maps are authentic. I did change up the zanium mines, see if you like that better or worse.

I've tested with Doom2, Heretic, and Hexen, and all work. Hexen characters are a bit tall so a few spots you might have to crouch if you get stuck in some places.

UW_Test_Maps.pk3

User avatar
Ozymandias81
Posts: 2067
Joined: Thu Jul 04, 2013 8:01 am
Graphics Processor: nVidia with Vulkan support
Location: Mount Olympus, Mars

Re: [WIP] Ultima Underworld level conversion

Post by Ozymandias81 »

Have to say, your setup with these materials works like a charm! Still need to check everything and Zanium mines, but the first map and its teleporters feels perfect mostly. Regarding floors, hope it is okay that I picked up the hammock one (do I see some UW2 details in it or is it just my mind trivializing old memories?),and it is awesome that now I also have a reference for teleports. Your project has progressed a lot compared to mine, but we are going on different roads and I like this, since yours will be surely a cool one for a future IWAD (pretty sure that will be your final idea) and surely one of the most advanced in many aspects. Keep up the good work and may the virtues be with you!
User avatar
Sir Robin
Posts: 537
Joined: Wed Dec 22, 2021 7:02 pm
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: [WIP] Ultima Underworld level conversion

Post by Sir Robin »

Ozymandias81 wrote:Have to say, your setup with these materials works like a charm! Still need to check everything and Zanium mines, but the first map and its teleporters feels perfect mostly.
I'm getting the hang of materials! Or normal maps and specular and glossiness at least.
I had fun with the Zanium mines - I know I said I was trying to keep everything authentic, but I'll make some exceptions. So I rounded the corners and used custom textures and sounds. Might even use custom monsters - if wolf3d did it, then why not? It also gave me ideas - UW1 had 2d cutscenes for the dream sequences but uw2 had actual playable 3d dream areas. So I'm getting some ideas for some dream sequences 8-)
Ozymandias81 wrote:Regarding floors, hope it is okay that I picked up the hammock one (do I see some UW2 details in it or is it just my mind trivializing old memories?)
That's right, both UW1 and UW2 had straw beds. The UW1 texture is only 32x32, and it's a straw bed on a stone floor. The UW2 texture is 64x64, it's a completely different pile of straw, and it's on a cavern floor. So for my straw bed I first upscaled the stone floor to 64x64, then pasted the UW2 straw bed onto it. It's nice to have a higher-res bed, but the design and color palette are so different, I don't know if I like the aesthetic to keep it or do something else. It's a placeholder for now.
FYI here's what those steps look like:

Anyway, long story short, yeah go ahead and use it if you want to. I don't consider it my original work.
Ozymandias81 wrote:,and it is awesome that now I also have a reference for teleports.
One thing I did slightly differently is that original UW1 teleports you into a level 1 square away from the stairs you just came from, because the out-going teleport trigger exists in the square immediately in front of the stairs. Since I'm using Doom's line triggers I didn't bother with that, I put the player landings right in front of the stairs. UW2 I think did it a little differently because I do remember landing right in front of stairs and ladders, but I'll have to check in the game to be sure.
Ozymandias81 wrote:Your project has progressed a lot compared to mine, but we are going on different roads and I like this, since yours will be surely a cool one for a future IWAD (pretty sure that will be your final idea) and surely one of the most advanced in many aspects. Keep up the good work and may the virtues be with you!
Glad it looks like progress to someone! :) When I look at this all I see is how much work I still have to do before it's a playable game.
I've been working on this since December, and I'm new to all this, so sometimes I get an idea, start working on it, then at some point realize it's not going the way I want so I scrap it and try something else. Feels like a lot of work wasted, but it's not wasted, it's learning! :wink:
And you're right it's probably going to be an iwad at some point. I played that Castlevania mod a while ago and I was impressed and it really inspired me to go the total conversion route.
User avatar
Sir Robin
Posts: 537
Joined: Wed Dec 22, 2021 7:02 pm
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: [WIP] Ultima Underworld level conversion

Post by Sir Robin »

Just for comparison with the first screenshot I posted in this thread:

That's with plain textures and sector lighting. The gamma is a bit high because I was using a laptop with a bad screen.

That's using normalled materials and dynamic light, no sector light.
User avatar
RubyEyeShabranigdu
Posts: 95
Joined: Thu Feb 03, 2022 9:03 am
Graphics Processor: Intel (Modern GZDoom)
Location: Brazil

Re: [WIP] Ultima Underworld level conversion

Post by RubyEyeShabranigdu »

Awesome!!!
User avatar
Ozymandias81
Posts: 2067
Joined: Thu Jul 04, 2013 8:01 am
Graphics Processor: nVidia with Vulkan support
Location: Mount Olympus, Mars

Re: [WIP] Ultima Underworld level conversion

Post by Ozymandias81 »

Sir Robin wrote:Just for comparison with the first screenshot I posted in this thread:

That's with plain textures and sector lighting. The gamma is a bit high because I was using a laptop with a bad screen.

That's using normalled materials and dynamic light, no sector light.
Ah lookin' snazzy as usual! As a suggestion for next screenshots, do not use any resize filters at all, plus for future IWAD plan I also suggest to include [wiki]DEFCVARS[/wiki] / [wiki]DEFBINDS[/wiki] on purpose, so people won't ruin the experience (and mind you some custom shaders might break with resize filters in general, as it happened in Blade of Agony for some custom "sway" grass/trees sprites/textures)
User avatar
Sir Robin
Posts: 537
Joined: Wed Dec 22, 2021 7:02 pm
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: [WIP] Ultima Underworld level conversion

Post by Sir Robin »

Ozymandias81 wrote:Ah lookin' snazzy as usual! As a suggestion for next screenshots, do not use any resize filters at all, plus for future IWAD plan I also suggest to include [wiki]DEFCVARS[/wiki] / [wiki]DEFBINDS[/wiki] on purpose, so people won't ruin the experience (and mind you some custom shaders might break with resize filters in general, as it happened in Blade of Agony for some custom "sway" grass/trees sprites/textures)
I'm not sure what you mean about resize filters and all. I think what you're saying is that in my development I'm targeting the settings that I have for GZDoom on my machine, but it might not end up looking the same for someone else using their own settings because I didn't test it under those conditions. Is that the jist of it?
It's true, for example I'm specificlly targeting hardware mode with dynamic lights. The game won't be playable without that because I'm not using any sector lights at all. Also I'm developing with highest level shadow maps in mind. That might not make a huge difference but won't look the same if a use has different settings than I designed with. I'm sure other settings I'm using will have the same issues. I haven't really delved into all of that yet. Do you have advice on how to handle that or issues I might face?

Meanwhile I'm still working on the normal maps. Here is the skull door, UW1 original vs GZD with normal maps:



And I'm not imaging things when I said earlier that UW looks more squatty looking - and this is with the 1.2 compensation and it still looks squatty compared to GZD. Not sure what the difference is.
Anyway I love the way the skull look like it's poking out of the door. I like how the walls look, bricks look just a touch more 3d with the normal maps. But I can't get over how much better the floors look.
Gez
 
 
Posts: 17924
Joined: Fri Jul 06, 2007 3:22 pm

Re: [WIP] Ultima Underworld level conversion

Post by Gez »

My advice: go to options->display options->texture options and set "texture filter mode" to "none (linear mipmap)" or just play "none". That will restore the crispness of the pixels and make comparisons with software rendering more meaningful.
User avatar
Sir Robin
Posts: 537
Joined: Wed Dec 22, 2021 7:02 pm
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: [WIP] Ultima Underworld level conversion

Post by Sir Robin »

OK, using the setting that Gez mentioned:



I'm noticing a lot of "stray" pixels between the bricks. I think the issue is that the edges of the bricks are angled and shaded accordingly, but the in-between lines have the same normal as the brick face, so it's shaded brightly and stands out. I'll have to figure out a way to darken those.
User avatar
Ozymandias81
Posts: 2067
Joined: Thu Jul 04, 2013 8:01 am
Graphics Processor: nVidia with Vulkan support
Location: Mount Olympus, Mars

Re: [WIP] Ultima Underworld level conversion

Post by Ozymandias81 »

At least UW doesn't have many textures... The problem is that you will have to cherry-pick and turn black details in a homogeneous pattern if you want to take care of "stray" pixels somehow, this means editing the tx before the material process, but the magic-wand tool for colors should be of great help.

Meanwhile I have managed to add sort of complete code for several critters (still basic though but with almost everything defined), and a while ago I started with widescreen fixes for weapons (fists only atm, took me a pair of hours mostly), you might use them if you want though resolution of my sprites are different from original (but you might use them as base). I am also going to add a HUD shield.
User avatar
Sir Robin
Posts: 537
Joined: Wed Dec 22, 2021 7:02 pm
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: [WIP] Ultima Underworld level conversion

Post by Sir Robin »

Ozymandias81 wrote:At least UW doesn't have many textures... The problem is that you will have to cherry-pick and turn black details in a homogeneous pattern if you want to take care of "stray" pixels somehow, this means editing the tx before the material process, but the magic-wand tool for colors should be of great help.
I could just edit the textures, but what I'm trying to do is keep the source material (so textures, geometry, sprites, etc) as original as possible, and only improve things by adding to them, such as material definitions and brightmaps, etc. So basically, change the appearance through shader without changing the original texture. And I think I've accidentally discovered a way to create higher resolution materials, so for example on a 64x64 texture I could use a 128x128 normal map, so I can create much finer details on a sub-pixel level. I'll have to play with that a little more see if it works out the way I think it does.
Ozymandias81 wrote:Meanwhile I have managed to add sort of complete code for several critters (still basic though but with almost everything defined)
Have you been working on the sprites? Those are a pain. I wrote a script to pull out all the individual sprites and their offsets and animation tables, but UW handles critter sprites quite differently than Doom-ish engines, so I still have a lot of by-hand work to do.
As you know, a Doom sprite set has up to 29 frames, and each frame has 1, 8, or 16 rotations. If you don't provide all rotations in a set for a frame, Doom won't load it. In that way it forces the sprite sets to have consistency.
UW doesn't have that consistency. It defines the sprites, then defines animation sequences referencing those sprites, then the critter definition has animation slots that reference those sequences. But there is no consistency between animation sequences. So for example you'll have a critter that has a Walk North sequence and a Walk West sequence, but frame #1 is different in both sequences - for example the critter might start stepping on it's left foot walking North but on it's right foot walking West. So I'll have to do a lot of shifting through the sequences to come up with consistent animations and rotations.
Also there might be for example 6 frames of walking North but only 4 frames of walking West. So I have to double up some frames to make it 6 frames in all rotations.
Anyway, if you're working on that now - good luck! It's kind of a mess.
Again, I could give you my offset lists if that helps you, but if you're working at a different resolution, then they might not be much help.
Actually I think I've posted here a map with the critter zoo - that should have all the sprites and their offsets if you want to take a look.
Ozymandias81 wrote:a while ago I started with widescreen fixes for weapons (fists only atm, took me a pair of hours mostly), you might use them if you want though resolution of my sprites are different from original (but you might use them as base).
Awesome, I'll take a look. If your resolution / art-style are different than what I'm going far, I could probably still roto-scope them and use them as a guide for doing my own. Either way, thanks for that.
Ozymandias81 wrote:I am also going to add a HUD shield.
Sweet! I haven't decided what I'm doing with shields yet, but would like a HUD image like that. I would also like to have HUD sprites for things like bows, crossbows, wands, poles, fishing poles, etc, but UW didn't have sprites for those things, so I'll have to dip into some open license resources or something but haven't gone looking for them yet.
UW1 has a double-edged axe, but it used the same single edged axe sprite as the axe and hand axe in the HUD. UW2 has a weapon sprite set for a double edged axe, so I might bring those over.
User avatar
Ozymandias81
Posts: 2067
Joined: Thu Jul 04, 2013 8:01 am
Graphics Processor: nVidia with Vulkan support
Location: Mount Olympus, Mars

Re: [WIP] Ultima Underworld level conversion

Post by Ozymandias81 »

Sir Robin wrote: I could just edit the textures, but what I'm trying to do is keep the source material (so textures, geometry, sprites, etc) as original as possible, and only improve things by adding to them, such as material definitions and brightmaps, etc. So basically, change the appearance through shader without changing the original texture. And I think I've accidentally discovered a way to create higher resolution materials, so for example on a 64x64 texture I could use a 128x128 normal map, so I can create much finer details on a sub-pixel level. I'll have to play with that a little more see if it works out the way I think it does.
I can imagine by using the Hires folder and define them via TEXTURES, it is a clever trick that might improve a lot visuals of those materials, at least you can include them because UW tx aren't many, while instead I won't use PBR stuff since I will also use Hexen and other custom tx from other games, and it would be painful to build up materials for them... Maybe something that could happen in a distant future when the whole project will be released, but nothing to care for me atm. About the "edit" thing, just edit the tx for the purpose of the material but leave the in-game tx untouched, that's what I was trying to say.
Sir Robin wrote: Have you been working on the sprites? Those are a pain. I wrote a script to pull out all the individual sprites and their offsets and animation tables, but UW handles critter sprites quite differently than Doom-ish engines, so I still have a lot of by-hand work to do.
As you know, a Doom sprite set has up to 29 frames, and each frame has 1, 8, or 16 rotations. If you don't provide all rotations in a set for a frame, Doom won't load it. In that way it forces the sprite sets to have consistency.
UW doesn't have that consistency. It defines the sprites, then defines animation sequences referencing those sprites, then the critter definition has animation slots that reference those sequences. But there is no consistency between animation sequences. So for example you'll have a critter that has a Walk North sequence and a Walk West sequence, but frame #1 is different in both sequences - for example the critter might start stepping on it's left foot walking North but on it's right foot walking West. So I'll have to do a lot of shifting through the sequences to come up with consistent animations and rotations.
Also there might be for example 6 frames of walking North but only 4 frames of walking West. So I have to double up some frames to make it 6 frames in all rotations.
Anyway, if you're working on that now - good luck! It's kind of a mess.
Again, I could give you my offset lists if that helps you, but if you're working at a different resolution, then they might not be much help.
Actually I think I've posted here a map with the critter zoo - that should have all the sprites and their offsets if you want to take a look.
Oh yes I am very used to fix these kind of things, though it is very time consuming but it also allow me to fix minor details over each sprite if I notice some dots that shouldn't be there... As I said on my project thread, the process is painful (and it will be "creepy" for Ghouls and Goblins, so many frames). The only thing is that we must consider that our mods won't be cooperative friendly, since Pain/Attack/Death frames doesn't have rotations, but works good if you have in mind a Wolf3D environment in mind and remove infighting.
Sir Robin wrote: Awesome, I'll take a look. If your resolution / art-style are different than what I'm going far, I could probably still roto-scope them and use them as a guide for doing my own. Either way, thanks for that.
I used the old frankespriting school ahaha, simply via GIMP and copy-pasting details that might work, then lots of retouch and patience. Sword will be surely the hardest one, meawhile I have also finished axes.
Sir Robin wrote: Sweet! I haven't decided what I'm doing with shields yet, but would like a HUD image like that. I would also like to have HUD sprites for things like bows, crossbows, wands, poles, fishing poles, etc, but UW didn't have sprites for those things, so I'll have to dip into some open license resources or something but haven't gone looking for them yet.
UW1 has a double-edged axe, but it used the same single edged axe sprite as the axe and hand axe in the HUD. UW2 has a weapon sprite set for a double edged axe, so I might bring those over.
Not sure about double axes and such, though the problem is to have a distinct set of frames for each weapon and that's pretty difficult for someone like me, which is not a sprite artist... My first idea was to rip a couple of resources from the superb game Arthurian Legends, but though the 001 engine is pretty compressed and even if I download the Trial version, there is no way to "unpack" the resources file from the game and check inside it. So the shield idea here atm would apply like other exisiting frames weapons on UW - as general resource to let you know which type of weapon you have, maybe except for daggers and jeweled weapons (wands and poles can be easy adapt from Raven games, though sling is the true problem if I plan to add HUD anims... or go just for a sling sound, the gem flashing and blinking until you throw stones). Who knows anyway, I might also attempt the "distinct" approach and will let you know it.
Last edited by Ozymandias81 on Fri May 06, 2022 3:56 pm, edited 1 time in total.

Return to “Levels”