[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 »

Ozymandias81 wrote:That look cursor is pretty neat, I think at a certain point I might consider to include in my project, but still I must have an idea in which direction I should progress with it... because I have a couple of options in my mind to work with. Sadly I am not good at all with ZScript, so usually when I create some scripts linked to zs I mainly check on those projects I have contribute for and adapt code for my needs, that's why I am also very precise when I write down credits for this/that.
At first I was writing those look features directly into my playerpawn. Then I realized other people might want that in their game, so I isolated it as an independent feature. If you want to put it in your HUW or any other mod, it shouldn't be hard - that's how I designed it to work. If you want to give it a try, post any questions or feedback in that thread - I'd like to know if I make it as easy to use as I thought I did.
Ozymandias81 wrote:I think you should also see BoA, which has swinging doors as placeable 3d objects (check TEST_LDR map) , if one creates door with fitting walls (a 3d model with the tx setup necessary for a place, likewise the very start at your right of map01) you can also turn them mmmh destroyable I think, like in UW so you can open them.
That should great, that's just what I wanted to do, and that's why I left those door markers in my map to remind me where the doors are supposed to go. I'd love to have an easy drop-in door system but currently don't know how to code that. And there are so many different ways to code a door, I'm still kind of up in the air about how I want to do mine. But I'll take a look at that BOA and see how they did theirs, see if it gives me any ideas. And yes I do plan to do destroyable doors, just like in UW, just not yet sure how to handle those in code yet.
I do remember playing BoA, I distinctly remember that "background" doors were a different color and easy to spot so you didn't waste your time trying to open them. I really appreciated that, I hope all mappers learn that lesson.
Ozymandias81 wrote:And I am judging your scripting skills yes, which damn are pretty impressive considering the map dump thing and everything else, I couldn't handle such stuff all alone, even by just checking on forums :D
Speaking of scripting, if you want to do some fancy 3d-floors, I wrote a script for that:
viewtopic.php?f=232&t=74450
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 »

That 3d floors tool is godlike, definitely a piece of cake for complicate zones to build and fast up your work... I'll try it for sure when it will be necessary!

Code related to doors are the following from BoA, AFADoomer and Talon1024 did the work so you must thank them not me for this awesomeness

RevolvingDoor

DoorHandler main class with ClassicSlidingDoor and SlidingDoor

Data pertaining to RevDoors
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 »

Awesome, I appreciate the links, I'll have a look at that when I get a chance.

Here's my issues with doors and why I haven't yet decided how I want to them:
UW Doors are 32x52, so if I'm making my maps 1:1, that's too small for DoomGuy or Hexen or any other characters to get through. I could scale the entire level up, like 2:1, so the doors would be 64x104, plenty big enough to get through, but then it's gonna feel weird being so small in such a huge level. I could leave the level scale as-is and just scale the doors up in place (shrink the door frame/jamb) and that would technically work but it breaks the authenticity of the level.
Or I can do what UW did, make the door and frame become non-blocking as soon as the door opens, and blocking again when it is closed. Then it doesn't matter that the door is only 32x52 because you now have the full 64x64+ block to walk through. I kind of like that idea because then you never have to worry about getting hung up on a door frame, so the gameplay is smoother and easier for the player.
Then I have to decide what to make the doors and frames out of - poly objects, mid-textures, 3d floors, actors with 3d models, etc. There are pros and cons of each and so far I haven't found one that does everything I want.
I'd like it so that when the door it closed it blocks everything - sight, sound, movement, automap, linetrace, projectiles, and dynamic light/shadow maps, and can take decals. When open it still does all that except block movement. I didn't find a way to do all that, but I'll look at what you posted and see if it's any closer than the solutions I tried.
I made a map back when I first started, with the scaled-up doors option, to see how those looked and felt in the level. I also made them locked and put keys in the appropriate locations, to see how that all gameplay felt. Give it a try if you're curious: https://drive.google.com/file/d/175y-F_ ... sp=sharing
Anyway, I don't know if you've given thought to how you want to do your doors, and if not maybe that gives you some ideas.
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:Awesome, I appreciate the links, I'll have a look at that when I get a chance.

Here's my issues with doors and why I haven't yet decided how I want to them:
UW Doors are 32x52, so if I'm making my maps 1:1, that's too small for DoomGuy or Hexen or any other characters to get through. I could scale the entire level up, like 2:1, so the doors would be 64x104, plenty big enough to get through, but then it's gonna feel weird being so small in such a huge level. I could leave the level scale as-is and just scale the doors up in place (shrink the door frame/jamb) and that would technically work but it breaks the authenticity of the level.
Or I can do what UW did, make the door and frame become non-blocking as soon as the door opens, and blocking again when it is closed. Then it doesn't matter that the door is only 32x52 because you now have the full 64x64+ block to walk through. I kind of like that idea because then you never have to worry about getting hung up on a door frame, so the gameplay is smoother and easier for the player.
Then I have to decide what to make the doors and frames out of - poly objects, mid-textures, 3d floors, actors with 3d models, etc. There are pros and cons of each and so far I haven't found one that does everything I want.
I'd like it so that when the door it closed it blocks everything - sight, sound, movement, automap, linetrace, projectiles, and dynamic light/shadow maps, and can take decals. When open it still does all that except block movement. I didn't find a way to do all that, but I'll look at what you posted and see if it's any closer than the solutions I tried.
I made a map back when I first started, with the scaled-up doors option, to see how those looked and felt in the level. I also made them locked and put keys in the appropriate locations, to see how that all gameplay felt. Give it a try if you're curious: https://drive.google.com/file/d/175y-F_ ... sp=sharing
Anyway, I don't know if you've given thought to how you want to do your doors, and if not maybe that gives you some ideas.
Many thanks for sharing the file, and I pretty like how your doors idea behave, you just have to consider also that enemies which roam (spiders, rats, slugs mainly) might also get stuck behind them, unless you put some monsterblocking lines which gets activated/deactivated as perimeter (and bounce them too from opposite, or give them SLIDESONWALLS or something like that - just brainstorming pardon, I am not good into explaining things I do), but for starters the code and behavior you did could definitely work as is atm, and then you will adjust it in the future whenever you figure it out I think... Unless you went already far with mapping.

Afaik it is not possible to apply decals over polyobjs or 3d models at all, instead if you go for spawning them they will float in front of you when they should "follow" the door. As per actors made through 3d models, well it might somehow possible to let them appear, but as sort of animations embedded within the model itself, while in case you hit a door with some blood, change model skin into something else and so on.

Atm I can suggest to fill up the "empty" inside of the door with something, so I would use midtex instead of lower and fill what's "inside" with a black tx... and for a reason, because if you combine it with a displacement shader, it will give you the illusion to operate with a 3d voxel. You can see some of the process 1
2 and 3
4, I still have to adjust depth of displacement (imported from BoA) but it would be a cool addition, though in this case anyway decals won't be allowed (and I do wonder how to handle with the "talking door", even if I have never reached that point of the game)... Gonna post a file in my Hexed thread so you will be able to test it too, and soon I will do some tests to see if I can help with the door behavior as well.
Gez
 
 
Posts: 17937
Joined: Fri Jul 06, 2007 3:22 pm

Re: [WIP] Ultima Underworld level conversion

Post by Gez »

Sir Robin wrote:UW Doors are 32x52, so if I'm making my maps 1:1, that's too small for DoomGuy or Hexen or any other characters to get through.
Technically you can define a new player class that's small enough to pass through. E.g. radius 14 and height 48.
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:Many thanks for sharing the file, and I pretty like how your doors idea behave, you just have to consider also that enemies which roam (spiders, rats, slugs mainly) might also get stuck behind them, unless you put some monsterblocking lines which gets activated/deactivated as perimeter (and bounce them too from opposite, or give them SLIDESONWALLS or something like that - just brainstorming pardon, I am not good into explaining things I do), but for starters the code and behavior you did could definitely work as is atm, and then you will adjust it in the future whenever you figure it out I think... Unless you went already far with mapping.
That's why I like UW's idea of just making the entire door and frame non-blocking when the door is open. Then anyone can get in and out of it without ever getting hung up on anything. I just don't know how possible that is to do in GZD. I did some experimenting, but haven't touched anything map-related for a while and have been focused on scripting the game play mods.
Ozymandias81 wrote:Afaik it is not possible to apply decals over polyobjs or 3d models at all, instead if you go for spawning them they will float in front of you when they should "follow" the door. As per actors made through 3d models, well it might somehow possible to let them appear, but as sort of animations embedded within the model itself, while in case you hit a door with some blood, change model skin into something else and so on.
There are several different ways to do a poly object. Decals don't attach to 2-sided mid-textures, but work as normal on any other lines. You're right about decals not attaching to 3d model or actors at all.
I should mention that decals aren't a huge deal to me either way. Since the original UW didn't have damage decals at all, this whole idea is in my enhancements category and not my must-have category.
Ozymandias81 wrote:Atm I can suggest to fill up the "empty" inside of the door with something, so I would use midtex instead of lower and fill what's "inside" with a black tx... and for a reason, because if you combine it with a displacement shader, it will give you the illusion to operate with a 3d voxel. You can see some of the process 1, 2 and 3, 4, I still have to adjust depth of displacement (imported from BoA) but it would be a cool addition, though in this case anyway decals won't be allowed (and I do wonder how to handle with the "talking door", even if I have never reached that point of the game)... Gonna post a file in my Hexed thread so you will be able to test it too, and soon I will do some tests to see if I can help with the door behavior as well.
I think what you're saying is having some kind of dummy door just for the animation and then a real door close inside it to handle the blocking. That's another approach I've considered. Not sure what it takes to script that, but other than the no decals issue that is the most flexible solution to all the other issues. Do you have any code examples that function like this? BTW I haven't looked at the BOA links yet.
Gez wrote:Technically you can define a new player class that's small enough to pass through. E.g. radius 14 and height 48.
Yup, and also make all my monsters and projectiles and other actors small enough to fit through. That's an idea I've considered.
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: That's why I like UW's idea of just making the entire door and frame non-blocking when the door is open. Then anyone can get in and out of it without ever getting hung up on anything. I just don't know how possible that is to do in GZD. I did some experimenting, but haven't touched anything map-related for a while and have been focused on scripting the game play mods.
I do understand now better your point, makes sense.
Sir Robin wrote: There are several different ways to do a poly object. Decals don't attach to 2-sided mid-textures, but work as normal on any other lines. You're right about decals not attaching to 3d model or actors at all.
I should mention that decals aren't a huge deal to me either way. Since the original UW didn't have damage decals at all, this whole idea is in my enhancements category and not my must-have category.
Thought so, the only decal that usually gets spawned on UW1-2 happens like "puffs" in Doom, so I am sure it is not in your priority tasks. And I was so wrong with decals not working on polyobjs, I just forgot that the conventional approach to make them let's those work as intended (I just noticed yesterday when playing my old mod Gore because I had a doubt about my statement... and I was wrong in the end)
Sir Robin wrote: I think what you're saying is having some kind of dummy door just for the animation and then a real door close inside it to handle the blocking. That's another approach I've considered. Not sure what it takes to script that, but other than the no decals issue that is the most flexible solution to all the other issues. Do you have any code examples that function like this? BTW I haven't looked at the BOA links yet.
Well I meant something more simple, nothing behavior wise related but to fill just each linedef with a black backfacing texture, so in case you jump and you manage to see what's on "top" of the door, it won't be a sort of "hom", but blackness that might give to it some depth (mind you, this would be good only using double-sided sectors and midtex, which might come useful over 3d floors, but these kind of cases doesn't happen in UW1 afaik). I am just building some examples for you anyway, must fiddle with these things as well even for my project... Soon I'll post here the little wad, it will be for GZDoom and Doom2, will use stock tx as a rapid thing.

EDIT==> There we go, atm included 3 kind of polydoors, the first acts like those present in your Test_UW1-01 early map (which requires a button to be opened, like those chain ones); then there is a door done with the method I have explained before (use noclip2 so you can see on top of it); and last there is first attempt to make a door "passable" by players and enemies once triggered, though it still bumps actors after the delay (notice that all sides near the space presumably occupied by the door have various block flags set so it won't stuck any actor near it during the swing). I will update soon the wad itself, I have included my tall doors so it is not just "stock" anymore. Only sector-based polydoor let's you spawn decals over it (first door).
polydoors.pk3
You do not have the required permissions to view the files attached to this post.
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, haven't looked at doors yet. Took a break from coding the tutorial and played with titlemap yesterday. Never done that before, never done cutscenes or cameras or anything, so I had lots to learn. Here's what I threw together - just a camera move and then a loop. Not much, but it's a start.

I've ripped most the fonts out of UW1, but hadn't done the credits font. I found some ripped glyphs from the credit screens in your files. I converted that to a font and now I can do some custom credits screens or whatever.
I changed the font in the main menu to look more like the UW1 font. It's not perfect, but like everything else, it's a test of concept.

Check out my TitleMap here:
https://drive.google.com/file/d/1V_b3L3 ... sp=sharing

I forced the sky texture so it should work in Doom or Hexen

Anyway, I'll take a look at those doors today. Just to get things working I've been making my doors double-doors, so 64x52. Wide enough for doomguy and monsters to get through, still too short for Hexen tho.
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 »

Love the Titlemap so far, guards made out from inventory doll graphics are a super touch-up! Regarding credits font, I have done patches which replaces Hexen menu entries atm, but still have to "code" them, though the "X" has been draw by me and there is no "Z" yet, I'll work that out later today. I have actually included underwater distortion shader, heat effects and death script with music change (and if you "resurrect" through ccmds, music will turn back to previous one), all these comes from Blade of Agony now adapted for Hexed. I think I will do a sort of mix between UW and Hexen in terms of environment, with UW3, Daggerfall and Menzoberranzan ideas fleshing out together. Regarding Menzoberranzan, I only mean the city, not the game itself (and it is curious how on UW3 there should have been creatures half spiders and half human, like on RA Salvatore Drizzt's novels).
About doors, don't expect anything crazy from those but maybe the script there might be of help :)

Superb work!
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:Love the Titlemap so far, guards made out from inventory doll graphics are a super touch-up!
Thanks. I had the idea to put a 3d view of the abyss entrance behind the title screen instead of the static background. I threw together that mock-up, and I wanted the doors to look massive, but didn't know how to convey the scale. I put those little side doors in, then got the idea to post a few guards in just for scale. Obviously I started with the paper doll and edited it a bit to look like the baron's guards in the cutscenes. I was going to put spears in their hands, like seen in the bedroom scene, but that was more work than I wanted to do.
Wait until I get my tutorial uploaded. The combat arenas have training dummies I build from the paper dolls. They have armor on, and the more you hit them the weaker it gets until it breaks off. They also tell you how many points of damage you hit with so you can use them to try out different attacks on different armor and see the effects. I'm making certain weapons more effective on different armor types, then I can give each creature an armor type so the player can figure out which weapons are best against which creatures. Also damage types like poison, fire, lightning, acid, etc. You can practice all these on the training dummies to see their effects.
Ozymandias81 wrote:Regarding credits font, I have done patches which replaces Hexen menu entries atm, but still have to "code" them, though the "X" has been draw by me and there is no "Z" yet, I'll work that out later today.
Yeah I noticed there was no Z - I just put a Z from another font in as a placeholder. If you want to make a Z, I was looking at the "e" because it has a nice diagonal slash through it, I think that could be adopted. I noticed your "x" also, I wasn't sure why you did that. There is an "x" on page 2, in "Executive Producer", so that's what I used for my font. I also noticed there are 2 "D"s in the screens, an uppercase and a lowercase. That seems be the only letter that has both. I stuck to the uppercase one, I think it looks better.
Ozymandias81 wrote:I have actually included underwater distortion shader, heat effects and death script with music change (and if you "resurrect" through ccmds, music will turn back to previous one), all these comes from Blade of Agony now adapted for Hexed.
I haven't planned any underwater parts since the original didn't have that feature, but as I get into the game if I can make use of it I might consider that. The original UW heat effects were done with those 6 translucent palettes I mentioned, I'm sure modern techniques would look much better. There are several points in this game where I have to decide if I'm making it "authentic" to the original or "enhanced" and this is one of those choices.
Yeah I want to do the death and resurrect animations. I've got the screens ripped but haven't started coding anything yet. Not even sure where to start on that. You say BoA has some example code for that?
Ozymandias81 wrote:I think I will do a sort of mix between UW and Hexen in terms of environment, with UW3, Daggerfall and Menzoberranzan ideas fleshing out together. Regarding Menzoberranzan, I only mean the city, not the game itself (and it is curious how on UW3 there should have been creatures half spiders and half human, like on RA Salvatore Drizzt's novels).
I remember playing Daggerfall but never got into it. Maybe I should go back and try again. I remember it being groundbreaking for it's time. Just didn't get into it for some reason I don't remember.
For influence I'm keeping it as pure to UW as I can, maybe borrow things from similar games like Arx Fatalis - I'm already planning a cooking and brewing system alongside a new crafting system. One thing I really want to improve is the re-playability. UW had several classes and character creation options, but really the only way to get through the game was with strong fighter skills and magic support. All other characters - ranger, rogue, pure mage, etc - were pretty impossible to play. Same for System Shock 2 - no matter how many times I tried to replay it differently, I always end up either heavy combat skills and tech as secondary, or a weak character that just can't get through the game. I want to create a system where there are several viable ways to get through. That's something good about Hexen. I also like that old Sierra game, Quest For Glory (I played it when it was called Hero's Quest, still got the original disks somewhere) how each character class had completely different ways to approach situations.
Ozymandias81 wrote:About doors, don't expect anything crazy from those but maybe the script there might be of help :)
I finally looked at your door sample - thanks for putting that together! So the last one is close to what I want in UW - door is non-blocking when. Actually I'd make it still block projectiles and what not, just not player or monster movement. And I see you solved the doorframe hang up with "guides". That's one way to do it. I was thinking you could make the door frames with 2-sided lines the same as the door, and just unblock them when it's open with the same script.
Here's the issues with that style:
Still no damage decals. Like I said before, not a huge issue, but it's something to consider.
Doesn't block automap. You can look at a door like that and go on the map and you've mapped the room behind it before even opening the door. I think that's tacky for a door to do that, and totally gives away a secret door.
Non-void doors of any kind don't register on the shadow map. I might be OK with this, the thought being that light would go under and around the door and maybe through cracks, but still I think I'd like to block the light if I can.

For reference, take a look at the original game, play with the doors a little bit. You'll find that:
On opening, the door and frame immediately become non-blocking to movement - can still get hit by weapon strikes and missiles and spells and thrown items.
Door frame sides become non-blocking but the top frame above the door is still blocking. stand in the doorway and jump and you'll hit your head.
On closing, a door stays non-blocking until it's about to latch. At that point, if something is in it's blocking space, it reverses back to open and stays non-blocking. Otherwise it latches and goes to blocking.
When a locked door is opened remotely (button, pressure plate, etc) it retains it's lock. If closed, it will still be locked on trying to open it directly.
And I'm sure you knew this one - most doors are destroyable. If you can't find a key or accidentally lock yourself behind one, you can just break it down. Most. If you look at a door and it says "massive" then it cannot be broken or picked. Still can be opened with magic though.
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: Thanks. I had the idea to put a 3d view of the abyss entrance behind the title screen instead of the static background. I threw together that mock-up, and I wanted the doors to look massive, but didn't know how to convey the scale. I put those little side doors in, then got the idea to post a few guards in just for scale. Obviously I started with the paper doll and edited it a bit to look like the baron's guards in the cutscenes. I was going to put spears in their hands, like seen in the bedroom scene, but that was more work than I wanted to do.
Wait until I get my tutorial uploaded. The combat arenas have training dummies I build from the paper dolls. They have armor on, and the more you hit them the weaker it gets until it breaks off. They also tell you how many points of damage you hit with so you can use them to try out different attacks on different armor and see the effects. I'm making certain weapons more effective on different armor types, then I can give each creature an armor type so the player can figure out which weapons are best against which creatures. Also damage types like poison, fire, lightning, acid, etc. You can practice all these on the training dummies to see their effects.
Can't wait for the tutorial and see combat arenas, I can already imagine it and what you said sounds damn good :D
Sir Robin wrote: Yeah I noticed there was no Z - I just put a Z from another font in as a placeholder. If you want to make a Z, I was looking at the "e" because it has a nice diagonal slash through it, I think that could be adopted. I noticed your "x" also, I wasn't sure why you did that. There is an "x" on page 2, in "Executive Producer", so that's what I used for my font. I also noticed there are 2 "D"s in the screens, an uppercase and a lowercase. That seems be the only letter that has both. I stuck to the uppercase one, I think it looks better.
Ah damn didn't notice the X, probably it was late night and wasn't exactly aware of what I was doing at the time ahah, thanks to let me know, I will also build up the Z but about the D mmh I think I will keep the lowercase.

EDIT: found the X and did a good Z I think using details from M and inverted S
Sir Robin wrote: I haven't planned any underwater parts since the original didn't have that feature, but as I get into the game if I can make use of it I might consider that. The original UW heat effects were done with those 6 translucent palettes I mentioned, I'm sure modern techniques would look much better. There are several points in this game where I have to decide if I'm making it "authentic" to the original or "enhanced" and this is one of those choices.
Yeah I want to do the death and resurrect animations. I've got the screens ripped but haven't started coding anything yet. Not even sure where to start on that. You say BoA has some example code for that?
The heat effect I mean is a postprocessed shader that alter your visuals on screen and it really feels like you are near a hot source or something like that, these are the codes necessary to include on a mod
Spoiler:
For the death sequence, this is what I come with by adapting the script for my mod (with the SetFont issue that you should be already aware)
Sir Robin wrote: I remember playing Daggerfall but never got into it. Maybe I should go back and try again. I remember it being groundbreaking for it's time. Just didn't get into it for some reason I don't remember.
I barely played Daggerfall and would love to, but it is very very long game and bugged sadly, though Unity port fixes almost everything... so why I said Daggerfall? Because I have almost all art from it and I think some stuff might blend on both UW and Hexen, plus the gameplay system might as well come in hand for Hexed, anyway just ideas
Sir Robin wrote:For influence I'm keeping it as pure to UW as I can, maybe borrow things from similar games like Arx Fatalis - I'm already planning a cooking and brewing system alongside a new crafting system. One thing I really want to improve is the re-playability. UW had several classes and character creation options, but really the only way to get through the game was with strong fighter skills and magic support. All other characters - ranger, rogue, pure mage, etc - were pretty impossible to play. Same for System Shock 2 - no matter how many times I tried to replay it differently, I always end up either heavy combat skills and tech as secondary, or a weak character that just can't get through the game. I want to create a system where there are several viable ways to get through. That's something good about Hexen. I also like that old Sierra game, Quest For Glory (I played it when it was called Hero's Quest, still got the original disks somewhere) how each character class had completely different ways to approach situations.
Oh I know what you refer too, I played half of Arx Fatalis and got totally captured by the gameplay, it was so cool to mimic moves for spells, and with a touch of Thief :3:
On UW I always went for Paladin, so fights are quite nice to handle, in addition to swords and repair, which always have been my favorite skills. Regarding QFG, I do remember that the 4th installment had a pretty cool menu compared to QFG1, with a nice background that could come in hand for UW, likewise you could beautify the whole thing putting dragons on sides as a nice reference to UW hud. Oh about Arx Fatalis, I did make a tx pack modding ready on R667 repository, in case you wanna take a look and might come useful...
Sir Robin wrote: Here's the issues with that style:
Still no damage decals. Like I said before, not a huge issue, but it's something to consider.
Doesn't block automap. You can look at a door like that and go on the map and you've mapped the room behind it before even opening the door. I think that's tacky for a door to do that, and totally gives away a secret door.
Non-void doors of any kind don't register on the shadow map. I might be OK with this, the thought being that light would go under and around the door and maybe through cracks, but still I think I'd like to block the light if I can.
The decals thing might feasible only if you do sector-based doors with solid walls, so raising floors and such, but that won't work good over stacked 3d floors if there will be by chance anything like that on your mod (mine surely should have), afaik UW doesn't so might be the right solution for you
About automap, I think there should be a way through zscript to reveal portions of a sector only once you are inside it, or some flags that can be enabled when mapping.
Shadowmaps will work with the mentioned method before, but keep in mind that GZDoom has some limits for this... unless there are ways to change internally how polyobjs behave
Sir Robin wrote:For reference, take a look at the original game, play with the doors a little bit. You'll find that:
On opening, the door and frame immediately become non-blocking to movement - can still get hit by weapon strikes and missiles and spells and thrown items.
Door frame sides become non-blocking but the top frame above the door is still blocking. stand in the doorway and jump and you'll hit your head.
On closing, a door stays non-blocking until it's about to latch. At that point, if something is in it's blocking space, it reverses back to open and stays non-blocking. Otherwise it latches and goes to blocking.
When a locked door is opened remotely (button, pressure plate, etc) it retains it's lock. If closed, it will still be locked on trying to open it directly.
And I'm sure you knew this one - most doors are destroyable. If you can't find a key or accidentally lock yourself behind one, you can just break it down. Most. If you look at a door and it says "massive" then it cannot be broken or picked. Still can be opened with magic though.
Problems here are multiple: how does one tells to the engine that a polyobj is going to latch? I can imagine it maybe with a 3d model for the door and a code that spams and synch with its movement solid hitbox cubes that are non-solid if they encounter a specified Species (Player & Monster), and if they don't have space to turn as solid, let's restart the animation going backwards. WIth this method you could also have a destroyable door obviously, where massive doors have Invulnerable hitboxes. You can also get the top frame blocking too this way, likewise on top of these doors spawn hitboxes which pushes down anything that come under them at touch... but all of this sounds pretty overcomplicate and a lot to handle codewise I think. Though I am sure there are different ways to solve this, maybe defining custom flags?
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:Can't wait for the tutorial and see combat arenas, I can already imagine it and what you said sounds damn good :D
I need to finish it and get it up, for you and others to review. But I keep getting distracted and playing with other things. This week I've been messing with dynamic lighting and making normal and specular maps for all the textures. It's amazing what a difference a good shader can make.
Ozymandias81 wrote:Ah damn didn't notice the X, probably it was late night and wasn't exactly aware of what I was doing at the time ahah, thanks to let me know, I will also build up the Z but about the D mmh I think I will keep the lowercase.
Look at pages 6 and 7 I think it was - the words Sound and Recording both use lower case 'd' but all other words use upper case 'D'. No idea why.
I ripped another font - the end game congratulations text. It's basically the same font as FONTBUTN but slightly wider and colorized. I tried it for my smallfont but it's too hard to read. Maybe for some menus or something but not good for in-game use.
Ozymandias81 wrote:The heat effect I mean is a postprocessed shader that alter your visuals on screen and it really feels like you are near a hot source or something like that, these are the codes necessary to include on a mod
Spoiler:
Awesome, thanks for the links, I'll have a look at it. I saw you demo it in the video on your thread but I didn't notice the effect. What was I looking for?
Ozymandias81 wrote:I barely played Daggerfall and would love to, but it is very very long game and bugged sadly, though Unity port fixes almost everything... so why I said Daggerfall? Because I have almost all art from it and I think some stuff might blend on both UW and Hexen, plus the gameplay system might as well come in hand for Hexed, anyway just ideas
I just found a unity engine dagerfall and from what people are saying it is fully playable and winnable. Try it out, called UDF (Unity Dagger Fall).
Anyway I see that the graphics would fit well with your Hexen theme. First thing I noticed was the camp fire in the start room - I never really liked UW's campfires, too tiny.
I'll play through it a bit, see if it gives me any ideas.
Ozymandias81 wrote:Oh I know what you refer too, I played half of Arx Fatalis and got totally captured by the gameplay, it was so cool to mimic moves for spells, and with a touch of Thief :3:
IIRC there was some licensing issue, they couldn't officially call any game Ultima Underworld 3, but Arx Fatalis and Underworld Ascendant were the unofficial sequels. And you know thief was made by the same UW people? Same as System Shock and Deus Ex. In fact SS2 ran on the thief engine.
Ozymandias81 wrote:On UW I always went for Paladin, so fights are quite nice to handle, in addition to swords and repair, which always have been my favorite skills.
That's what I mean, you really can't get through the game without heavy combat. The dev did have plans for a stealth system, and you can see bits of it, but it wasn't fully implemented. But they took their ideas to the Thief games. Anyway, I'm reading the same in the DaggerFall guides - heavy combat focus with support magic is the only way to get through.
Ozymandias81 wrote: Regarding QFG, I do remember that the 4th installment had a pretty cool menu compared to QFG1, with a nice background that could come in hand for UW, likewise you could beautify the whole thing putting dragons on sides as a nice reference to UW hud. Oh about Arx Fatalis, I did make a tx pack modding ready on R667 repository, in case you wanna take a look and might come useful...
I'll check it out. I played the first one quite a bit, the second one too, didn't get much into the later ones for some reason. I remember starting the first one when I only had a 4-color graphics cards. I remember the day I upgraded to 16 and went back and replayed every game I had that had 16-color mode.
I love those dragons, been trying to think of where I could use them, also the gargoyle at the top. Unfortunately they were designed to attach to a frame and don't fit well into modern full-screen configuration. I've tried a few different things with them but nothing looks right so far.
Ozymandias81 wrote:The decals thing might feasible only if you do sector-based doors with solid walls, so raising floors and such, but that won't work good over stacked 3d floors if there will be by chance anything like that on your mod (mine surely should have), afaik UW doesn't so might be the right solution for you
About automap, I think there should be a way through zscript to reveal portions of a sector only once you are inside it, or some flags that can be enabled when mapping.
Shadowmaps will work with the mentioned method before, but keep in mind that GZDoom has some limits for this... unless there are ways to change internally how polyobjs behave

Problems here are multiple: how does one tells to the engine that a polyobj is going to latch? I can imagine it maybe with a 3d model for the door and a code that spams and synch with its movement solid hitbox cubes that are non-solid if they encounter a specified Species (Player & Monster), and if they don't have space to turn as solid, let's restart the animation going backwards. WIth this method you could also have a destroyable door obviously, where massive doors have Invulnerable hitboxes. You can also get the top frame blocking too this way, likewise on top of these doors spawn hitboxes which pushes down anything that come under them at touch... but all of this sounds pretty overcomplicate and a lot to handle codewise I think. Though I am sure there are different ways to solve this, maybe defining custom flags?
This is why I haven't really started on my doors yet - way to many issues to tackle and I don't want to get hung up on it so I'm working on other things in the meantime.
Eventually I'll have to come back to it.
Gez
 
 
Posts: 17937
Joined: Fri Jul 06, 2007 3:22 pm

Re: [WIP] Ultima Underworld level conversion

Post by Gez »

Sir Robin wrote:IIRC there was some licensing issue, they couldn't officially call any game Ultima Underworld 3, but Arx Fatalis and Underworld Ascendant were the unofficial sequels.
Just a spiritual sequel in Arx's case, as its setting is completely unrelated to Ultima. (I always found it funny that in Arx, you are a Guardian and you must thwart the evil plans of the Avatar.)
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 »

About what Gez said, I totally forgot that Arx was between Guardian and Avatar ahaha :)

Meanwhile I am gonna drop this here, so maybe can be of use for you too Sir Robin: a door texture obtained from the UW intro, because I think the door behind us at the very beginning should resemble this one.
UWDR_OZ.png
You do not have the required permissions to view the files attached to this post.
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:About what Gez said, I totally forgot that Arx was between Guardian and Avatar ahaha :)

Meanwhile I am gonna drop this here, so maybe can be of use for you too Sir Robin: a door texture obtained from the UW intro, because I think the door behind us at the very beginning should resemble this one.
UWDR_OZ.png
Ah, ripped from the cutscene, and I see you removed the guard. Nice, thanks for sharing that. I'll see if I can make it work in my intro sequence.

Meanwhile, I got OBS installed and a video uploaded to YouTube. Here's the intro sequence:

Return to “Levels”