[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: 392
Joined: Wed Dec 22, 2021 7:02 pm
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

[WIP] Ultima Underworld level conversion

Post by Sir Robin »

New mapper here! A couple weekends ago I was inspired to try Doom mapping, and I just replayed Ultima Underworld and thought I could create it's levels for Doom. So here I go, learning a lot, and still got lots to go. I just figured out polyobjects and swinging doors, so the level is now full of those. I'm writing in UDMF in a PK3 file, and targeting GZDoom, it seems to have the most features.



Latest Tutorial (2022-05-14)
Latest Download Link (2022-04-22)

Update 2022-05-14: Posted a snapshot of the [unfinished] tutorial. See this post for details.

Update 2022-04-22: Playable set of maps - A cluster hub with proper enter/exit points so the whole game is explorable. Many textures have materials and for test I've attached a dynamic light to the player. Have a look around! And have a look at the zanium mines.

Update 2022/4/13: Video showing normal maps vs plain textures


Update 2022/4/9: Video of the title sequence:


Update 2022-01-09: Added all the loose items into the level. Few are animated, fewer are interactive, so it's mostly static decorations. But it's s start. Now the levels don't look so empty.

Update 2022-01-05: Added Monsters - 75 in total. UW1 defines 75 sets of monster sprites but only calls 63 in the actual game, so you'll see monsters here never seen in-game. To see the monster zoo, touch the inscription on the west wall in the start room.
Last edited by Sir Robin on Sat May 14, 2022 4:31 pm, edited 7 times in total.
thugsta
Posts: 122
Joined: Mon Jan 21, 2019 10:10 am

Re: Ultima Underworld

Post by thugsta »

Looks great. Good work on this The Ultima Underworld games are some fantastic games, they look basic enough to make a replica happen so hopefully 👍
User avatar
Enjay
 
 
Posts: 26403
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Ultima Underworld

Post by Enjay »

Given that you said you are a new mapper (and given your interest in in the Ultima games), I assume that your name is just coincidence and that you are not the same Sir Robin as the one who used to run Sir Robin's Doom Castle :?:
User avatar
Sir Robin
Posts: 392
Joined: Wed Dec 22, 2021 7:02 pm
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: Ultima Underworld

Post by Sir Robin »

thugsta wrote:Looks great. Good work on this The Ultima Underworld games are some fantastic games, they look basic enough to make a replica happen so hopefully 👍
I think so! Yeaah, the layouts are pretty simple. I actually was inspired when I found another person had made a UW level for doom. But they changed the scale, textured it with standard Doom textures, changed the flow of the level, basically took a lot of liberties with the design. It made me wonder what it would take to create the levels authentically and inspired me to try so now here I am. :D
User avatar
Sir Robin
Posts: 392
Joined: Wed Dec 22, 2021 7:02 pm
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: Ultima Underworld

Post by Sir Robin »

Enjay wrote:Given that you said you are a new mapper (and given your interest in in the Ultima games), I assume that your name is just coincidence and that you are not the same Sir Robin as the one who used to run Sir Robin's Doom Castle :?:
Well, given that I'm a new mapper and he looks experienced and established, I'm going to say "no" :)

I picked this name because it's the name I used in the Ultima games, from the Monty Python character. I've actually got a buddy who LARPs in a full Sir Robin costume, shield with a giant chicken on it and everything, he's hilarious.

Well, sorry I chose a name of someone who's already established. Maybe I'll think of another one.
User avatar
kalensar
Posts: 368
Joined: Sun Mar 21, 2021 9:40 pm
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
OS Test Version: No (Using Stable Public Version)

Re: Ultima Underworld

Post by kalensar »

Freaking sweet! I'm a diehard Ultima fan too,so I would love to test this when you get something out! If you need any help on monsters or weapons please hit me up!
User avatar
Nash
 
 
Posts: 17282
Joined: Mon Oct 27, 2003 12:07 am
Twitch ID: nashmuhandes
Github ID: nashmuhandes
Location: Kuala Lumpur, Malaysia

Re: Ultima Underworld

Post by Nash »

I love both the Underworld games and at one point I was wishing someone made a UW -> Doom WAD converter. :)

It's particulary impressive that your recreation has the proper scale and everything. I hope you finish the maps!
Gez
 
 
Posts: 17632
Joined: Fri Jul 06, 2007 3:22 pm

Re: Ultima Underworld

Post by Gez »

Sir Robin wrote:Well, sorry I chose a name of someone who's already established. Maybe I'll think of another one.
I don't think you have to worry about it, since that other Sir Robin doesn't seem to have been active during the last 15 years...
User avatar
Sir Robin
Posts: 392
Joined: Wed Dec 22, 2021 7:02 pm
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: Ultima Underworld

Post by Sir Robin »

kalensar wrote:Freaking sweet! I'm a diehard Ultima fan too,so I would love to test this when you get something out! If you need any help on monsters or weapons please hit me up!
Awesome! I've got a lot of things to learn - lots of things I want to implement that I don't know how to do yet. Anything you can help with would be great!

I'm not going to flood this thread with those questions, but keep an eye out for my posts in other areas.
User avatar
Sir Robin
Posts: 392
Joined: Wed Dec 22, 2021 7:02 pm
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: Ultima Underworld

Post by Sir Robin »

Nash wrote:I love both the Underworld games and at one point I was wishing someone made a UW -> Doom WAD converter. :)

It's particulary impressive that your recreation has the proper scale and everything. I hope you finish the maps!
Yup, I'm writing a script to convert UW levels to Doom levels. Right now all the level geometry and texturing works, but I've got no objects like monsters and items and doors and bridges. And I have a scale factor in my script, right now its set so that one UW world tile is 64x64 in Doom because that feels right. But the UW levels look a little short and squatty in comparison, so maybe I need to have a separate ScaleXY and ScaleZ settings.
User avatar
Sir Robin
Posts: 392
Joined: Wed Dec 22, 2021 7:02 pm
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: Ultima Underworld

Post by Sir Robin »

Here's a link to what I have so far
GZDOOMUW

Give it a try, tell me what you think. Here's some notes:
Darkness - I set all sectors to 64, because that's what looks right on my system. I understand different people with different systems and settings are going to be rendered differently. Adjust what you need to, but basically you shouldn't be able to see more than about 15 feet in front of you. Here's a screenshot of the original if you want to try to match it, give me feedback on what settings you used.


The geometry and texturing should be complete, but there are no things like monsters and pickups, other than a couple I just put in for testing. I've manually put in some doors and bridges to test them. Switches are working too. The pillars puzzle room is implemented, kinda hacky, but it works for now. The lever on the far left resets the room. The rest should be obvious after that.

There shouldn't be anywhere you can get stuck. If you fall off the platforms in the southeast (between the shrine and the fortune teller) behind the locked door without getting the key, you might think you're stuck but there is a way out, same way you do it in the real game.

Textures should be all good. The exception is that for secret doors the textures are a bit off, as a clue that there is a door there. Also, around grates and drains and plaques and other "decals" you may notice texture misalignments. These were present in the original game. I haven't decided if I want to try to fix them or just leave them "authentic"

One of the liberties I had to take was in scale. In the original game, doors were 32x52. DoomGuy won't fit through that, so I've scaled them to 48x56. If doors look different, that's why.

Also - the level works in GZDOOM, but UDB doesn't show my textures or doomed objects, is there a way to get that to work?
Gez
 
 
Posts: 17632
Joined: Fri Jul 06, 2007 3:22 pm

Re: Ultima Underworld

Post by Gez »

Sir Robin wrote:One of the liberties I had to take was in scale. In the original game, doors were 32x52. DoomGuy won't fit through that, so I've scaled them to 48x56. If doors look different, that's why.
You could define a custom [wiki]PlayerPawn[/wiki] with slimmer proportions. This would also allow you to adjust the view height, as that may play a role in the perception of levels as being "squattier" than in the original game.



For the DB issue, are you loading your resources as, well, resources? Does UDB complain about errors when you open a map?
User avatar
Sir Robin
Posts: 392
Joined: Wed Dec 22, 2021 7:02 pm
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: Ultima Underworld

Post by Sir Robin »

Gez wrote:
Sir Robin wrote:One of the liberties I had to take was in scale. In the original game, doors were 32x52. DoomGuy won't fit through that, so I've scaled them to 48x56. If doors look different, that's why.
You could define a custom [wiki]PlayerPawn[/wiki] with slimmer proportions. This would also allow you to adjust the view height, as that may play a role in the perception of levels as being "squattier" than in the original game.



For the DB issue, are you loading your resources as, well, resources? Does UDB complain about errors when you open a map?
I'm defining a custom player so I can control the start-out weapons. Is that the same place I can set the height and view height? I'll look into that.

Part of the squattiness I was seeing is that I had Dosbox running at 320x200. I set it to stretch to 320x240 and now it looks much better.

If I make the player pawn smaller does that make the game easier? Like baddies are less likely to hit the smaller hitbox? What are the other effects of changing the player size that I should consider?

In the original game, it would set the door and frame to nonblocking as soon as the door opened, maybe I could do that here? How complicated would that be to do? The doors are swinging polyobject doors. The frames are built with sectors and voids. I guess I could change that to be polyobjects or 3d floors, whatever would be easier/better.

The issue with UBD seems to be that it doesn't look more than 1 folder deep for resources. I noticed that all the stuff that is working is right in the textures or sprites folder or whatever, but the stuff deeper than that isn't working. Maybe that's just a limitation of UDB?
User avatar
Enjay
 
 
Posts: 26403
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Ultima Underworld

Post by Enjay »

This is looking really nice. Despite the fact I was (and am) a huge Eye of the Beholder fan, I never really got into the Ultima games (I think because my computer couldn't handle them at a the critical time when I would have been sucked in by the games). So I can't really comment on how authentic it is, but it certainly seems to have the right kind of vibe going on.
Sir Robin wrote:I'm defining a custom player so I can control the start-out weapons. Is that the same place I can set the height and view height? I'll look into that.
Yes, you can set the height, viewheight etc in your player definition.
Sir Robin wrote:If I make the player pawn smaller does that make the game easier? Like baddies are less likely to hit the smaller hitbox? What are the other effects of changing the player size that I should consider?
Honestly, I'm not sure if it would make it easier or not. I guess, given that you are making every element of this game, you would "just" need to ensure that the enemies that you create can hit and do the sort of damage that you expect them to. The other consequence of size changing that springs to mind is the obvious one - if the player is a different (smaller) size he could fit between or under gaps that the Doom player couldn't. Again, given that you are designing the whole game, you "just" need to ensure that the player can only get through gaps that you want him to.
Sir Robin wrote:In the original game, it would set the door and frame to nonblocking as soon as the door opened, maybe I could do that here? How complicated would that be to do? The doors are swinging polyobject doors. The frames are built with sectors and voids. I guess I could change that to be polyobjects or 3d floors, whatever would be easier/better.
I think it would be easier to set the doors so that they always swing away from the player regardless of which side they are opened from. Would that be suitable? Generally, polyobjects cannot be made nonblocking because they are usually made of 1 sided solid lines. But there are ways of making polyobjects using 2 sided lines and you might be able to change their blocking status with a script when you open them. Polyobjects made in this way do come with their own limitations though - though I suspect with the map layout that you have, this might not be a problem.
[edit]Actually, I just checked and your polyobjects seem to be made of 2s lines already. So you could just try giving the lines that make them a tag and changing their blocking with [wiki]Line_SetBlocking[/wiki] in a script.
Sir Robin wrote:The issue with UBD seems to be that it doesn't look more than 1 folder deep for resources. I noticed that all the stuff that is working is right in the textures or sprites folder or whatever, but the stuff deeper than that isn't working. Maybe that's just a limitation of UDB?
I don't usually load stuff from a folder in UDB so I can't say if it has problems with that or not. If it does, it seems like it might not be intended. You should perhaps ask in the UDB thread.

However, I have loaded resources from PK3s with nested folders and I have not had a problem with those. I realise it might not be your choice of workflow setup, but you could try loading a PK3 instead of a folder.
User avatar
Sir Robin
Posts: 392
Joined: Wed Dec 22, 2021 7:02 pm
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

Re: Ultima Underworld

Post by Sir Robin »

Enjay wrote:This is looking really nice. Despite the fact I was (and am) a huge Eye of the Beholder fan, I never really got into the Ultima games (I think because my computer couldn't handle them at a the critical time when I would have been sucked in by the games). So I can't really comment on how authentic it is, but it certainly seems to have the right kind of vibe going on.
Yeah, I played those back in the day - Eye of the Beholder, Lands of Lore, Might and Magic, Xeen, etc - they all kinda blur together in my mind now. UW blew me away because I was so used to those 8-foot strides and 90-degee turns, the freedom of UW was just mind boggling. And yeah, lots of Origin games required a hardware upgrade, but they pushed the envelope. I remember when it came out I had a low-end 486, my brother had a mid-grade 386. Mine would play it fine, his would play it on lower graphic settings, but still played it.
A while back I saw someone did a rip of EotB graphics for Doom - I don't remember if it was in this forum or somewhere else.
Enjay wrote:I think it would be easier to set the doors so that they always swing away from the player regardless of which side they are opened from. Would that be suitable? Generally, polyobjects cannot be made nonblocking because they are usually made of 1 sided solid lines. But there are ways of making polyobjects using 2 sided lines and you might be able to change their blocking status with a script when you open them. Polyobjects made in this way do come with their own limitations though - though I suspect with the map layout that you have, this might not be a problem.
[edit]Actually, I just checked and your polyobjects seem to be made of 2s lines already. So you could just try giving the lines that make them a tag and changing their blocking with [wiki]Line_SetBlocking[/wiki] in a script.
I'm a big fan of game where the doors always open away from whoever is opening them - doesn't make sense from a reality perspective but it's better playability. I did my doors in this map to open the ways they did in the original game. It's one of those points I have to decide if I want to stay authentic or take liberties.
What I meant was that the original game just makes the entire door and door frame non-blocking when the door opens. Think of a game like the old Wolf3d - when the door opened the entire square was open, no door frame or anything to get hung up on. That's about how UW did it, I need to look in to how difficult that would be to script.
That's an idea to change the size of the player. I'd also have to change the monsters to be small enough to fit through. I don't know if that makes the game feel weird if the hit boxes are small and monster are hard to hit. I'll have to do some experimenting when I get that far.
Enjay wrote:I don't usually load stuff from a folder in UDB so I can't say if it has problems with that or not. If it does, it seems like it might not be intended. You should perhaps ask in the UDB thread.

However, I have loaded resources from PK3s with nested folders and I have not had a problem with those. I realise it might not be your choice of workflow setup, but you could try loading a PK3 instead of a folder.
Yeah, I haven't look into it to deep yet. I write scripts that generate the levels for me, I just use UDB to verify that it looks about right, then launch GZdoom to try it out. So it doesn't bother me too much that it doesn't work right, but I'd like to fix it at some point.
Loading a folder is just like a PK3 - you build a folder with the same structure as you would have built in the PK3. But it's better for editing because you don't have to keep unpacking and repacking it every time you want to change something, you just edit the files directly. You only need to pack it up to upload it somewhere or give it to someone.

Anyway, I've taken a break from mapping and have been working on getting some monsters in. UW1 had 75 monsters defined with over 4000 animation frames. I've got most of those pulled in now. UW only used 63 of them so I'll have 12 new unused monsters. So I've got my work cut out for me :)

Return to “Levels”