Jump to content
The Dark Mod Forums

Ultima Underworld to Dark Mod Map conversion sample.


hank morgan

Recommended Posts

I'll probably post about it there in the next week or so once I've tidied up texture and object lookups and documented things.

 

 

Also for the lark I took a tilemap from UW and tried to bring it into the Legend of Grimrock. Grimrock level files are just lua scripts with the map laid out as a block of characters like a 2d array. # is a solid and '.' is an open space so all I had to do was paste the ASCII dump data from my program into the file. Sadly the Grimrock engine is not as advanced as Underworlds's and only supports 32x32 sized maps so you'd have to do a bit of work to get it to flow. You'd have to generate at least four maps just to fit everything in and probably a few more to disguise the boundaries of the map and hide the map transitions. I probably won't be doing that as part of this project but it was a fun relaxing experiment to get my mind off of calculating the normal distances of angled planes on brushes.

Link to comment
Share on other sites

Latest update. I've passed off texture selection and object spawning to external files for UW1. Basically a list of each possible object, it's model, it's type and a description. Using that list I am can now spawn items and apply special rules to them. For instance I can now spawn items that were in containers and in the inventories of NPCs and I can now also generate locked doors and have their matching keys open them.

Link to comment
Share on other sites

Latest update:

-New code release including config files for objects and textures.

-Working door switches, locked doors/keys, better object placement, bridges, wall decals and other fixes

-Retro Mode.

 

19V1LwO.jpg

kV4jrAW.jpg

dcgVRvn.jpg

fhVW0pC.jpg

1tkxRkV.jpg

aFmlYD5.jpg

 

Code updated in the op.

 

 

I wonder if its possible to convert Dark Engine levels to Darkmod... ?

You cant use Thief 1-2 OMs in Darkmod but there is plenty of FM's which could be converted with author permission

 

Doubtful using my tool. I pretty much brute-forced each particular tile type through trial and error. If I was smart I'd sit down and figure out a generalised function for generating a brush at any orientation and size but that's above my pay-grade. :P

  • Like 2
Link to comment
Share on other sites

That would be an awesome project though, to suddenly open up 100s of playable T2 FMs for Darkmod!

 

There was a guy that was making an FM conversion to the Ogre Engine, and he was able to get all the brushes, textures, and objects in. But of course it doesn't have the gameplay out of the box. But I think if we recruited him to do the same thing for Darkmod, just getting the brushes, portals, textures, objects, and best-fit AI in might be enough to play them just natively through TDM. The work might not be all that different. I'm going to search for him on TTLG.

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

Just dropping off an updated version of the map. This is a release of the retro mod version of the level with the original textures along with a few other extra map features.

 

https://www.mediafir...17ir2ac97nb2p0i

All the nostalgias.

You are one awesome dude.

yay seuss crease touss dome in ouss nose tair

Link to comment
Share on other sites

  • 2 weeks later...

Just uploading my latest code in the OP before the holidays.

 

Lastest features.

 

-Level transitions. I can now move between any number of levels and arrive where I should be if there are multiple entry points. There is no persistance though at the moment so I can't carry stuff in between levels and when I return to a level it resets.

-Bug fixes including floor textures being in reversed order versus their string names for some reason (wtf Looking Glass :laugh: )

-Configurable texture alignments and flagging of water textures.

-Teleports, terrain change effects, event text strings outputted to the console.

 

The big change now is in scripting and the dynamism of levels. Basically in UW level events like moving platforms, terrain changes, text messages that flash in your log, magic crystals, door levers etc are handled by a trigger/trap system. Each trigger fires off a trap to do a particular action and each trap can link to another trigger/trap in a chain to fire off further effects.

My favourite example of this in action is the section where you get the hilt to the sword of justice. In the game you need to find a hidden room with a switch to reveal a hidden section of the level. Under the hood this works as follows. You have TMAP object (a wall decal, in this case a bunch of vines) which triggers a terrain change trap(turns a tile from one type to another) and a text trap (to tell you what has just happened) and a delete object trap to remove the vines. Inside that room is a lever which fires off another trigger and fires off in turn 3 change terrain traps which removes a pool of water and opens a path for you to reach a hidden shrine. All this now works with almost no hitches (there is some weirdness with water) using my script building system. Basically I extract the following information from the game files representing the flow of events.

588    366   	 special_tmap_obj    52    12    3    7    96    0    40    152    586    0
{
586    419   	   a_look_trigger    -1    -1    3    3    3    0    52    13    587    6
587    389    a_change_terrain_trap    52    13    0    0    96    0    23    63    620    1
620    400      a_text_string_trap    -1    -1    0    0    96    0    4    2    585    0
585    395    a_delete_object_trap    -1    -1    0    0    0    0    52    12    588    0
}

 

I then can take that code (and all similar events for a level) and use that to dynamically create matching script code to do all of these actions for me as follows

 

void start_special_tmap_obj_052_012_588()
{
$a_change_terrain_trap_initial_052_013_587_000.remove();

$a_change_terrain_trap_final_052_013_587.show();

sys.println("You move the vines aside...");

$special_tmap_obj_052_012_588.hide();
}

Edited by hank morgan
Link to comment
Share on other sites

  • 2 weeks later...

So, you know with so much flirting around the possibility of going for a full remake of Undeworld in the Doom 3 engine. Have you given it any thought?

 

Get a small team together. Write a system for handling dialogue and inventory, get some mappers to clean out the levels and add some extra eye-candy...

 

It would of course be a ton of work, but still much more feasible than many remake projects out there due to the work you have already done in converting the levels into TDM and the fact that the Doom 3 engine happens to be a pretty good fit for something like UW.

Link to comment
Share on other sites

I don't know about full remake even though I'd love to see one make it. I've always felt that if I make a good modders resource out of this then I will be happy with that result but I will try and drive things as far forward as I can.

 

In many ways I'm balancing two projects here. The fantasy RPG Underworld and the SciFi shooter hybrid System Shock. Underworld has a lot more systems to implement such as rpg combat, conversations, bartering, magic and more complex inventory. While Shock isn't a million miles away from Doom 3 and is a lot leaner from a systems point of view so I have higher hopes of making something playable out of it. At the moment I'm still very enthuasiastic about my own experimentations with different aspects of the games but I do recognise that I will have to seek help at a certain stage for some items. For instance I'm not an artist so I know that it's not an area I should tackle myself but at the moment I'm happy just to be working under the hood.

Link to comment
Share on other sites

Well, I'm really glad you have come this far. A remake of the original System Shock is something the fans have been talking about for ages, and the very dedicated modding community around SS2 would probably rally to work with you if you were to go serious with it.

 

I'm actually a bit suprised by how little comments your thread has garnered on Strange Bedfellows. The reason is most likely that people just couldn't bear another disappointment, as there have been numerous attempts before that have left a very sour taste for the community. Most often people get terribly hyped up, then the dev loses interest and cuts all communication, and in the end all the progress he has made is forever lost. It's a really frustrating cycle.

 

Anyway, you've done a great job from the beginning by documenting your progress and also I gather your plan from the start was to make (at least) a modders resource.

 

On the TDM side of things, I'm personally interested in carving out a part of the first UW floor and reshaping it into a mission that pays homage to the roots of Looking Glass. Once I'm finished with my current map, hopefully.

  • Like 1
Link to comment
Share on other sites

I can't work on it much this week since I'm doing a bit of travelling but I'm planning on dumping a whole lot of screenshots of various levels that I have'nt shown once I get back. It feels a bit silly but this last weekend I implemented some System Shock map features and I felt a bit giddy noclipping throught the levels since I'd finally got things to a stage where they look right for the most part.

 

 

On the TDM side of things, I'm personally interested in carving out a part of the first UW floor and reshaping it into a mission that pays homage to the roots of Looking Glass. Once I'm finished with my current map, hopefully.

Cool. If I can be of any assistance in any way just let me know in this thread.

Link to comment
Share on other sites

Fantastic to see the work on this - Underworld / Underworld 2 has always been a particular passion of mine so I'm watching this keenly.

 

(I've also taken the liberty of posting a link to this thread on TTLG as there may be some there that miss this thread)

Edited by Al_B
Link to comment
Share on other sites

[quote name='Al_B' timestamp='1389302151' post='330509']
Fantastic to see the work on this - Underworld / Underworld 2 has always been a particular passion of mine so I'm watching this keenly.

(I've also taken the liberty of posting a link to this thread [url="http://www.ttlg.com/forums/showthread.php?t=142973"]on TTLG[/url] as there may be some there that miss this thread)
[/quote]


I like that name you gave it.

I'll try and post a whole bunch of screenshots of different levels tonight.
Link to comment
Share on other sites

Great to see the new screenshots. Hope you don't mind a little feedback on the UW2 pics:

  • I'm sure it's on your list but it appears that you have green and red swapped in the UW2 textures which gives those levels a strange appearance.
  • The textures appear quite dark - my guess would be that you may not have scaled the colours from the original 0..63 to 0..255.
  • The orientation of floor textures on non-sloping floors are out by 90 degrees. It's quite noticable in the throne room near the bottom of the ramp.
  • The vertical scaling of the level seems a little "squashed". Again, looking at the throne room each "step" should roughly correspond to a run of stone blocks. It looks about half to three quarters of that at the moment.

These are just nitpicks, of course, and I suspect some of them may be because you've been concentrating on getting things working for SS. Looking forward to the next installment!

Edited by Al_B
Link to comment
Share on other sites

Great to see the new screenshots. Hope you don't mind a little feedback on the UW2 pics:

  • I'm sure it's on your list but it appears that you have green and red swapped in the UW2 textures which gives those levels a strange appearance.
  • The textures appear quite dark - my guess would be that you may not have scaled the colours from the original 0..63 to 0..255.
  • The orientation of floor textures on non-sloping floors are out by 90 degrees. It's quite noticable in the throne room near the bottom of the ramp.
  • The vertical scaling of the level seems a little "squashed". Again, looking at the throne room each "step" should roughly correspond to a run of stone blocks. It looks about half to three quarters of that at the moment.

These are just nitpicks, of course, and I suspect some of them may be because you've been concentrating on getting things working for SS. Looking forward to the next installment!

 

No worries. Critism both good and bad is welcome.

 

The textures were a bit of a hack job when I did them. I just shifted up the bits on my palette by 1 as you suggested and they look a lot better now thanks for the tip.

 

I'm aware of the floor texture issue. Sloped tiles have similar misalignments since I've yet to scale them up to fit.. Most of my work has been on UW1 which doesn't have as many "directional" floor textures apart from shorelines but it is an easy fix once I get around to it.

 

I agree totally on the squashed aspect of the UW levels. UW has a shorter height range than Shock but the big limitation on this is that the player can't go over a step of height 15 units. However I was playing around with the same height shifting code that I needed for System Shock and the latest version can generate UW levels at twice the scale that I had previously used.

Edited by hank morgan
  • Like 1
Link to comment
Share on other sites

Fun with sprites from System Shock.

 

 

cKNAo2w.jpg

 

m8reooL.jpg

 

That's an animated sprite using "deform sprite" in it's material file that runs through 4 frames of animation. I've also attached it to the head of an AI as a particle just to see it run around randomly. The white halo is human error on my behalf.

 

I assume my reading of this article is right http://wiki.thedarkm...tachment_for_AI and in theory I could create a custom "invisible" ai with a head joint to anchor the particle and depending on ai animation states in the .def file I can trigger different animation loops?

Link to comment
Share on other sites

Cool! Especially that 1st screenshot with unmistakeable system shock screenie, but it looks like the light gem was image manipulated on it.

 

Are you really gonna pull off all the trouble of making TDM into a SS remake? What is your purpose? Why make sprite graphics, because the game runs 3d objects?

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

Cool! Especially that 1st screenshot with unmistakeable system shock screenie, but it looks like the light gem was image manipulated on it.

It's a real screenshot. I resized the image after saving it so there may be some jpeg artifacting going on there.

 

Are you really gonna pull off all the trouble of making TDM into a SS remake? What is your purpose? Why make sprite graphics, because the game runs 3d objects?

 

The sprite question was more to do with seeing what is possible rather than making a firm decision on using that method. Most original sprites for objects are pretty tiny and I don't think they would scale up well. I'm not sure what my endgame is regarding remakes so at the moment I'm just having fun poking at various things and seeing what I can do and try to make something cool, unique and yet nostalgic. :D

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recent Status Updates

    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 0 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
×
×
  • Create New...