Jump to content

Caverns of Darkness 2.0


Murdoch

Recommended Posts

7 hours ago, Murdoch said:

As some of you likely know, a little project called Caverns of Darkness was one of the earliest projects released for Eternity back in around 2003 or so. Trouble is though, it used a custom engine coded (read: amateurishly hacked together) by me. It was necessary at the time to get the custom things we wanted working like some tweaked enemies and ambient sounds.  But now with that engine essentially useless thanks to DOS not being a thing anymore, the project is in an annoying limbo save for Graf's ZDoom patch.

I mean, DOS is never dead :)

 

Besides the now obtiqious patch however, for a (very) brief moment between January and February 2005, ZDoom support for Caverns of Darkness was delivered through a custom source modification, much in the same way the original Cod Engine was achieved. Named ZDoom-cod, it is a build of ZDoom 2.0.96 with DECORATE code built in, plus a CoD specific patch. I have listed it in my ZDoom Source Modifications article at the ZDforums.

 

Quote

ZDoom-cod:
''Before GZDoom, Graf Zahl had a heavy hand in the socalled ‘’Community Build’’: Named 96x, together with Grubber and Chilvence he brought DECORATE based weapons to ZDoom when Randi’s development iteration was significantly slower then what the community at large wanted to have.

Inbetween these developments, Graf worked on a patch to get the Team Eternity’s Caverns of Darkness total conversion properly working in modern environments The release version at the time relied on the ‘’CoD Engine’’, a customized Eternity build that only ran in DOS. Frustrated by the lack of modern OS support, Graf created ZDoom-cod, a custom build based on ZDoom 2.0.96 with his DECORATE weapons code already in, plus a CoD specific patch. It appears as ‘’2.0.96 (CoD custom)’’ in the console.

This was initially uploaded to /idgames on January 23, 2005. It only existed briefly, as Randi merged most of the code in February 2005.

Today, Caverns of Darkness is supported through a .pk3 patch, making the need for a custom executable redundant.''

 

 

It also has a link to that specific build that i retrieved after a long search. Here it is.

7 hours ago, Murdoch said:

 

Since rejoining these forums and making a nuisance of myself a year or so ago, CoD's state has been playing on my mind. It felt like unfinished business. @Lutz, @NokturnuS and Emil did a great job on those maps, and I think they still hold up today. A shame for them to be held back. So I have decided to finally change that, almost 20 years after the project was released. There is no release date in mind here; what's a few months after nearly 2 decades right? But I am enjoying revisiting the project, going through the code and finding what I did all those years ago, and translating it into EDF. Already have a GFS file created to load everything elegantly, and have begun the process of replacing my original clunky implementation of ambient sounds with EDF's much more elegant implementation (top marks to whoever did that). The maps will need to be updated with new thing numbers but Doom Builder makes pretty short work of that. It should make for a passable showcase of the capabilities of EDF to anyone interested.

 

I will report back my progress here as it's made.

Ill say one thing - The world of Eternity and your legacy regarding forsaken projects (You know which ones!) is one of the most exciting things i was given the honor to lay my eyes upon. I really should get Lut back into these....

 

Share this post


Link to post
48 minutes ago, Altazimuth said:

Feel free to liaise with me if you want assistance with anything.

 

Thanks, will do. So far EDF is close enough to the original code or straightforward enough for me to figure out. It looks like there are some custom linedef actions that will likely need scripting to get working; that's most likely where I will need help.

43 minutes ago, Redneckerz said:

Besides the now obtiqious patch however, for a (very) brief moment between January and February 2005, ZDoom support for Caverns of Darkness was delivered through a custom source modification,

 

Did not know that. 

 

My main aim is to provide a full and complete new official package so people don't have to hunt out a patch or ask for help. May tweak some other things; will see what transpires.

Share this post


Link to post
16 minutes ago, Murdoch said:

Did not know that. 

:) Feel free to test it out. Its old, but when i tested it, it worked pretty well, atleast on Windows 7.

 

Its 15+ years old code though, but yeah, this briefly existed. Its nothing but a mere historic artefact considering the patch version is infinitely more flexible but if someone for some bizarre would want to have Caverns of Darkness played out through its specialized engine, but in Windows, than ZDoom-cod fills that in.

16 minutes ago, Murdoch said:

My main aim is to provide a full and complete new official package so people don't have to hunt out a patch or ask for help. May tweak some other things; will see what transpires.

Curiosity begs me to ask if you got inspired by Skillsaw's Heartland in order to pursue this :)

 

A full fledged Caverns of Darkness for current-day Eternity would be quite a showcase WAD for the port, though!

Share this post


Link to post
10 minutes ago, Redneckerz said:

Curiosity begs me to ask if you got inspired by Skillsaw's Heartland in order to pursue this :)

 

Peripherally to a point. It made me think this is a really solid port that does not have enough showcase maps. But mostly it was the gnawing sense of unfinished business for nearly two years since i rejoined the forum.

Share this post


Link to post
9 hours ago, Murdoch said:

As some of you likely know, a little project called Caverns of Darkness was one of the earliest projects released for Eternity back in around 2003 or so. Trouble is though, it used a custom engine coded (read: amateurishly hacked together) by me. It was necessary at the time to get the custom things we wanted working like some tweaked enemies and ambient sounds.  But now with that engine essentially useless thanks to DOS not being a thing anymore, the project is in an annoying limbo save for Graf's ZDoom patch.

 

Since rejoining these forums and making a nuisance of myself a year or so ago, CoD's state has been playing on my mind. It felt like unfinished business. @Lutz, @NokturnuS and Emil did a great job on those maps, and I think they still hold up today. A shame for them to be held back. So I have decided to finally change that, almost 20 years after the project was released. There is no release date in mind here; what's a few months after nearly 2 decades right? But I am enjoying revisiting the project, going through the code and finding what I did all those years ago, and translating it into EDF. Already have a GFS file created to load everything elegantly, and have begun the process of replacing my original clunky implementation of ambient sounds with EDF's much more elegant implementation (top marks to whoever did that). The maps will need to be updated with new thing numbers but Doom Builder makes pretty short work of that. It should make for a passable showcase of the capabilities of EDF to anyone interested.

 

I will report back my progress here as it's made.

Now this is what we always needed.

Not only for COD as its an amazing experience that needs to be known by more people.

Not only for the COD crew, that made an amazing work that by nowdays, almost nobody know.

But also for EE, as it was and it is an amazing sourceport, and amazing development tool for new games, that need some heavywheights like the CoD Crew and Skillsaw to give it the spotlight it deserves on this community.

Oh, and Mordeth, too.

ITs the sole reason i use the EE sparingly.

Share this post


Link to post
11 hours ago, Murdoch said:

replacing my original clunky implementation of ambient sounds with EDF's much more elegant implementation (top marks to whoever did that). The maps will need to be updated with new thing numbers but Doom Builder makes pretty short work of that. It should make for a passable showcase of the capabilities of EDF to anyone interested.

 

One afternoon back in December I started a (hacky) experimental Eternity Engine branch that attempted to support the original /idgames cod.wad & codlev.wad as-is: https://github.com/team-eternity/eternity/compare/master...derekmd:caverns-of-darkness-support

 

For ambient sounds, I added a thing type ID map that moved cod-engine.exe's hard-coded IDs into EE's 14001+ range. I didn't really do much else work on that branch beyond loading a custom .bex file when cod.wad is loaded.

 

FYI printz also posted a Caverns of Darkness discussion on EE's GitHub issues about adding first-order support to the source port: https://github.com/team-eternity/eternity/issues/305

 

And if this helps with migrating the old code, my diff on the COD engine source and Eternity Engine beta5 found only these files were changed:

  • D_deh.c
  • D_deh.h
  • D_englsh.h
  • D_items.c
  • Doomdef.h
  • G_bind.c
  • G_bind.h
  • G_game.c
  • I_VIDEO.H
  • Info.c
  • Info.h
  • M_cheat.c
  • M_misc.c
  • Mn_menus.c
  • P_enemy.c
  • P_inter.c
  • P_lights.c
  • P_pspr.c
  • P_spec.c
  • P_spec.h
  • R_sky.c
  • Sounds.c
  • Sounds.h
  • Wi_stuff.c

Share this post


Link to post
12 minutes ago, Afterglow said:

For ambient sounds, I added a thing type ID map that moved cod-engine.exe's hard-coded IDs into EE's 14001+ range. I didn't really do much else work on that branch beyond loading a custom .bex file when cod.wad is loaded.

 

It's pretty easy to use Doom Builder's find and replace to update the thing numbers so I am just going to do that. I was thinking it might be fun to release a distinct ambient sounds pack that people can use in their own Eternity maps. They are an under-utilised concept in Doom modding I think that add a lot to atmosphere.

 

12 minutes ago, Afterglow said:

And if this helps with migrating the old code, my diff on the COD engine source and Eternity Engine beta5 found only these files were changed:

 

Already sorted, thanks. I was pretty thorough with my commenting so a simple text search found the culprit files. A few instances were left over contributions I made to MBF and Eternity engine itself. Which then @Quasar then had to immediately fix. The show off :P

 

12 minutes ago, Afterglow said:

FYI printz also posted a Caverns of Darkness discussion on EE's GitHub issues about adding first-order support to the source port: https://github.com/team-eternity/eternity/issues/305

 

Hopefully EDF and scripting can cover everything but will ask the boys for help if something seems missing. I honestly do not even remember what the custom Cyberdemon and Archvile even did - hell I forgot we even did those till I was skimming through the code a couple of nights ago.

Edited by Murdoch

Share this post


Link to post

Some hot and heavy ambient sound action. May tweak the volumes a bit before final release. Again top marks to whoever was involved in coding this system. Easy to follow while still being powerful.

 

 

Share this post


Link to post
On 3/8/2021 at 2:25 PM, Murdoch said:

a little project called Caverns of Darkness

Heh I remember that huge wad, it easily slowed down my Celeron 300 then.

I was thinking about what if it was ported to modern Eternity when 4.02 came out and I see it's going

Share this post


Link to post

I, for one, am happy that you, @Murdoch, are continuing where you left off at January 23, 2005.

 

:P

 

Quote

''I've been working on a version of CoD that will work with "vanilla" Eternity off and on for a few months now. No port really supported everything I created out of the box and they still don't in some ways. And I'm not gonna spend several thousand bucks on Visual C++ to compile a windows version of the old custom engine which will only need to be updated constantly anyway.''

 

Bonus, it mentions that Graf made that ZDoom-cod patch.

 

Nothing but love for COD.EXE.

Share this post


Link to post
  • 3 weeks later...

All ambient sounds defined plus many of the custom enemy types. Got an idea for a revised story.

Share this post


Link to post
2 hours ago, hawkwind said:

I hope map fixes are implemented too. I'll keep an eye on this ...

 

If you can advise me of specific issues will definitely look into them.

Share this post


Link to post
  • 3 months later...
On 3/28/2021 at 9:22 PM, vdgg said:

I did a pacifist run of MAP03 in 5 seconds, not sure if there is a way to prevent this... Besides, I think all was fine, can't remember issues, maybe I will post later if something occurs to me.

https://www.dsdarchive.com/wads/cc-cod

 

After discussing with Lutz, map03 will be removed from the new version. For some reason the deep water is much darker than either of us remember, and it has rendered that map unplayable.

 

Progress has continued. More EDF work completed, revised storyline written, and I am looking at a new sky more suitable for the revised setting, and new music (only had a couple of new tracks originally). MAP03 will be removed as mentioned, and there will almost certainly be at least one new map courtesy of original team member @NokturnuS.

Share this post


Link to post

I never did pass the "underwater" maze platform map so this makes me happy.

Edited by kristus

Share this post


Link to post
  • 1 month later...

Hi! Old-school Doomer, new to these forums.
Love Eternity Engine. Hyped about this CoD revival project. Was just wondering if there's been any progress on it...

Share this post


Link to post
18 hours ago, RafaHell said:

Hi! Old-school Doomer, new to these forums.
Love Eternity Engine. Hyped about this CoD revival project. Was just wondering if there's been any progress on it...

 

Since last update, not really aside from zeroing in on a new sky for the changed setting and getting interest from someone to make new music. I am extremely busy and it's a low priority project. Just something a bit fun to do when I get a break from the more serious stuff.

Share this post


Link to post

Cool. Sounds good.

Well then, here's hoping you find time to dedicate to this.

Wish I could actually offer help, but my knowledge of Doom editing stops at sprite replacement.

Share this post


Link to post
  • 4 weeks later...

So I have been learning about UDMF and it's parametized line specials. Very cool stuff that will cover the two light line specials I coded and likely the only custom sector effect I need. Will see about converting the maps to UDMF.

 

Map 3 has been removed and the structures changed accordingly. Due to certain thematic changes, the new weapon (such as it was) will likely be removed too as it just doesn't fit anymore and wasn't especially great. The first secret map was dedicated to picking this up but have an idea about how I could repurpose the level but need to play it to refresh my memory and see if my idea works.

 

Got a pretty good idea about what I want to see from an additional map to fit with the new story.

 

The only custom code needing implementation now is the changed keys and the various custom enemies. A lot of the latter is already done, just some of the more tricky things to do like the final battle which was "Scripted" using riffs on the same code that powered the lowering sectors in Dead Simple.

Edited by Murdoch

Share this post


Link to post

Great to hear a "remaster" is on its way for CoD. Wanted to share my own story with it which is an opposite of what others have been sharing so far.

I have actually not played it back in the day, and recently got very intetested in playing DOS games and Doom in particular in native environment. So I went about to look for a good source port to use and as I did not follow guides for this, I have overlooked some obvious choices like DOS builds of EE. However I learned about CoD and its custom engine and downloaded it for that engine. Luckily I was able to use the port to play Doom with and without extra maps and mods, and my experience was actually better than with, say, SMMU or several others that I have tried.

So for a few months CoD was my reference DOS source port, up until I switched machines and found that on the new one it was sadly too unstable.

 

I am curious if source code has been published for the engine, by the way.

Share this post


Link to post
11 hours ago, ludicrous_peridot said:

Great to hear a "remaster" is on its way for CoD. Wanted to share my own story with it which is an opposite of what others have been sharing so far.

I have actually not played it back in the day, and recently got very intetested in playing DOS games and Doom in particular in native environment. So I went about to look for a good source port to use and as I did not follow guides for this, I have overlooked some obvious choices like DOS builds of EE. However I learned about CoD and its custom engine and downloaded it for that engine. Luckily I was able to use the port to play Doom with and without extra maps and mods, and my experience was actually better than with, say, SMMU or several others that I have tried.

So for a few months CoD was my reference DOS source port, up until I switched machines and found that on the new one it was sadly too unstable.

 

I am curious if source code has been published for the engine, by the way.

 

The CoD engine was never intended to play anything BUT CoD. It's just a hacked copy of whatever version of Eternity was going at the time. I suppose theoretically it would have worked so long as you didn't play WADs with more than 10 maps because I hard coded it to load the CoD resources and by rights I would have thought that would have caused the game to end after MAP10.

 

Source is here.

 

https://drive.google.com/file/d/1TkkKRvod-a5ep_U6_th2nOL9Ff25k3Ct/view?usp=sharing

 

 

Edited by Murdoch

Share this post


Link to post
On 9/21/2021 at 2:24 PM, ludicrous_peridot said:

I am curious if source code has been published for the engine, by the way.

@Murdoch provided you with the source, but i had it uploaded to /idgames on January 31, 2020.

 

The source actually was released by Murdoch a lot earlier, on May 26, 2019.

 

Another interesting tidbit: Caverns of Darkness was ported to ZDoom, and before it became playable with mainline ZDoom, it existed as a source mod of ZDoom 2.0.96 just like the COD Engine itself. This was called ZDoom-cod. Obviously this build is completely redundant, but there is a download here.

Share this post


Link to post

Another interesting tidbit ... Risen3D can also play the original CoD via a patch on their website.

When Risen3D v35 is released, there will be even more support for it ( and many more map bugs fixed too).

Edited by hawkwind

Share this post


Link to post
On 9/22/2021 at 10:22 PM, Redneckerz said:

@Murdoch provided you with the source, but i had it uploaded to /idgames on January 31, 2020.

 

Thanks - thought asking the author would be more straightforward than looking for it on my own.

Luckily I was able build from the source, and the binary runs on my new PC - unlike the original one I got from idgames.

So pulled my saves from the backup and was able to continue Doom II playthrough.

etrn06.PNG.4b9fde5f1fd119edb5fb124ec6189dd4.PNG

 

On 9/22/2021 at 2:53 AM, Murdoch said:

The CoD engine was never intended to play anything BUT CoD. It's just a hacked copy of whatever version of Eternity was going at the time. I suppose theoretically it would have worked so long as you didn't play WADs with more than 10 maps because I hard coded it to load the CoD resources and by rights I would have thought that would have caused the game to end after MAP10.

Appreciate the warning, @Murdoch. I have not tried pwads with 11 or more levels in them, but was able to go past level 10 in Doom II (just the iwad) on my playthrough. I actually though the game would end because of this:

Spoiler

[level info]
levelname = mission 10: Caverns of Darkness
endofgame = true
inter-backdrop = LAVA1
intertext = M10TEXT

 

Share this post


Link to post

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.   Restore formatting

  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.

×
×
  • Create New...