Shades of Doom v4.1 (07-09-23)

Projects that alter game functions but do not include new maps belong here.
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.
Post Reply
User avatar
Cyanide
Spotlight Team
Posts: 319
Joined: Fri Feb 15, 2013 9:39 pm
Location: 6 ft. under

Shades of Doom v4.1 (07-09-23)

Post by Cyanide »

Image
Image
Cast your votes here!

This is my take on a monster randomizer (groundbreaking, I know). It works by randomly choosing a specific replacement for all of the 30 different kinds of enemies (this includes the Spectre, Stealth monsters, Wolfenstein SS and Commander Keen) at the start of every map. Every zombieman, imp, cacodemon, etc. will be changed to the exact same kind of zombieman, imp, cacodemon, etc. variant, but will be re-rolled upon entering a new level. Every monster variant behaves almost exactly like the original monster to avoid major balancing issues. Though some monsters disappear when killed, Arch-Viles can still revive them, as their corpses are still technically there.

Features

Bestiary

There's a full list of the 416 monsters in the options menu with credits and an image for each. If you want to know what you're currently shooting and who created it, this is where you'll find out. This contains the full credits for all the sprites/sounds in the mod.

Tally Counter

So... you've blasted your way through countless WADs. Now you wonder: "How many Spirit Imps have fallen before me?" Well, Shades has been keeping taps on you the whole time. With a simple press of a button, you can find out how many confirmed kills you've gotten since first playing Shades of Doom (feature added in version 3.0).

Monster Selector

Shades of Doom 3.0 now offers a way for you to put together your own personal combination of hell spawn. Find it in the options menu.

Chaos Mode

I've added the option to randomize every single enemy (except Commander Keens) on the map, because... well, why not.
NOTE: I will not take responsibility for any instances of sensory overload, if you choose to play this way.

Flipped Animations

For maximum variety, I've added flipped/left-handed versions of all monsters. You can adjust the amount of left-handed demons if you'd like.

Compatibility

The mod should be compatibel with weaponmods that do not change anything other than weapons. Among the ones I've tested myself are:
Spoiler:
I've made .zip with compatibility patches for a bunch of other mods:
Spoiler:
Also, here's some other add-ons / mods I usually play with:
Spoiler:
Load Order

Load order should be as follows, though you can omit any/all of the 4 addons after the main randomizer:
  1. 1Shades4.pk3
  2. 2SoDWolf.pk3
  3. 3SoDKeen.pk3
  4. 4SoDGore.pk3
  5. 5SoDInvi.pk3
  6. SoD_<patch>.pk3 (if needed)
Links

Download (filesize: 138,017 KB)
This is the main download .zip.

Patches (filesize: 64 KB)
This is a .zip containing all of the patches for weapon mods mentioned above.

Patch Base (filesize: 17 KB)
This is the template I've been using to make all the mod patches. I thought I'd release it in case someone wants to make a patch for their own mod. Replace all instances of "XXXX" with a name and all instances of "YYYY" with the Decorate for the monsters.

Screenshots @ imgur.com
Som screenshots taken while developing v2.1

Credits:
(These credits do not cover the sprite creators. See the ingame roster for that. Mentioned here are the people who helped me make this mod in some way or another.)
Spoiler:
Changelog 4.1
Have fun!
-Cyanide
Last edited by Cyanide on Thu Sep 07, 2023 1:24 pm, edited 76 times in total.
Someone64
Posts: 416
Joined: Tue Feb 23, 2016 11:59 am

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by Someone64 »

At first I was disappointed at how this is a monster mod that doesn't add variation to monsters through gameplay by just reskinning the monsters but I've actually grown to like it. All the same type of monster every level is changed to the same skin reduces confusion on what you're fighting against and not exposing you to all the different skins each map drip feeds you all the skins so it feels fresh for longer. It's a nice change of pace kinda like playing with Smooth Doom's randomizer on that just changes how monsters look slightly. Hope to see more skins and such and (probably too astronomical of a task) maybe some random death animations for similar looking monsters and things like that.

EDIT: Would be cool if you can set it to group extremely similar looking variations together. Also, the mod breaks Dead Simple on Doom II.
User avatar
Cyanide
Spotlight Team
Posts: 319
Joined: Fri Feb 15, 2013 9:39 pm
Location: 6 ft. under

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by Cyanide »

Someone64 wrote:At first I was disappointed at how this is a monster mod that doesn't add variation to monsters through gameplay by just reskinning the monsters but I've actually grown to like it. All the same type of monster every level is changed to the same skin reduces confusion on what you're fighting against and not exposing you to all the different skins each map drip feeds you all the skins so it feels fresh for longer. It's a nice change of pace kinda like playing with Smooth Doom's randomizer on that just changes how monsters look slightly. Hope to see more skins and such and (probably too astronomical of a task) maybe some random death animations for similar looking monsters and things like that.
Thanks. :D I've been looking at alt-deaths and XDeaths for some of the monster. That's all fairly easy to add, unless the sprites haven't been made. Sadly, I'm no sprite artist.
Someone64 wrote:EDIT: Would be cool if you can set it to group extremely similar looking variations together.
The more monsters that get bunched together, the less variation there can be. I've already tied the Lost Souls to Pain Elementals and Spectres to Demon, though. :)
Someone64 wrote:Also, the mod breaks Dead Simple on Doom II.
Hmm. I'll try to recreate this. Thought I got that fixed. :?

EDIT: Seems like the only solution I can find to the Dead Simple problem, is putting in A_BossDeath at the very start of the death state with a duration of 0. This in turn triggers the map changes earlier, but doesn't break the map anymore.
User avatar
Spaceman333
Posts: 622
Joined: Thu Oct 13, 2016 8:40 pm

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by Spaceman333 »

I'm always excited to see a new monster randomizer mod, especially if its usable with any gameplay mod. I'm currently in the middle of a megawad playthrough, but this mod will be loaded up on the next playthrough as high priority.
User avatar
Cyanide
Spotlight Team
Posts: 319
Joined: Fri Feb 15, 2013 9:39 pm
Location: 6 ft. under

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by Cyanide »

Spaceman333 wrote:I'm always excited to see a new monster randomizer mod, especially if its usable with any gameplay mod. I'm currently in the middle of a megawad playthrough, but this mod will be loaded up on the next playthrough as high priority.
Thanks! I've made it compatible with Argent, and tested it with a bunch of other mods. If I recall correctly it works with Trailblazer, and a bunch of weapon mods like Weapons of Saturn, Combined Arms and Doom RL Arsenal.

Compatibility with other mods is on the to-do list. I just need to figure out which ones to make it compatible with. :)
User avatar
dljosef
Posts: 765
Joined: Fri Aug 12, 2005 2:59 pm
Location: Deep underground
Contact:

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by dljosef »

Interesting take on a monster randomizer.

One thing. I wouldn't mind a patch for the megawads that replace commander keens and the SS enemies with custom monsters.

Also, speaking of the SS, a lot of the replacement monsters still play the normal SS sounds. (Wouldn't mind more variety, such as the SS sounds from Spear Ressurection.)
User avatar
Somagu
Posts: 684
Joined: Fri Nov 22, 2013 8:56 pm

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by Somagu »

Maybe with some ACS/ZScript wizardry, there could be a menu that allows for enabling and disabling specific types of monsters being replaced?
User avatar
Cyanide
Spotlight Team
Posts: 319
Joined: Fri Feb 15, 2013 9:39 pm
Location: 6 ft. under

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by Cyanide »

dljosef wrote:One thing. I wouldn't mind a patch for the megawads that replace commander keens and the SS enemies with custom monsters.
I'll try to do that. Thanks for the feedback! :)
User avatar
Spaceman333
Posts: 622
Joined: Thu Oct 13, 2016 8:40 pm

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by Spaceman333 »

I just finished a 32-map oblige playthrough with this mod on and I really like it. Coming across all sorts of wonders and horrors felt spooky and surprising. The selection of monster replacements all feel consistent, so I didn't feel any of them were off-putting or bad, even though some of them really differ a lot in style and origin.

Image

Whatever minor stat adjustment they may have were practically unnoticable, so I can trust to play with this mod to work almost the same as vanilla, keeping the balance intact, as was intended. Part of me craves for more randomization in between each monster's stats, as whenever I look at them, they all seem so different, kicking up my imagination to think "hmm I wonder if this monster has something up its sleeve that the normal one doesnt", so I could have more surprise and have them be more distinct, but I do appreciate the approach this mod took nontheless.

Image

I also liked the funny messages at the start of levels, announcing a common/dominant theme for this levels monsters (atleast thats what I assume it was), giving a sense of occasional cohesion for monsters to join their similar brethren for this next map.

Overall, this is definitely a keeper. I'm certainly going to play many more playthroughs with it and enjoy whatever crazy shades it will throw at me next.
Its a well made, quality mod. Thank you for making and sharing it. :D


P.S.
I don't have any sort of feedback towards the mod itself, because I think its great as is and so far I didn't run into any bugs at all, but I do have a wish that is outside the scope of this mod:
*An external programmatic addon that randomizes the stats of a monster by changing certain values (scale, health, speed, painchance, mass, etc) within a certain range and turning certain actor flags on or off(hurtspecies,canusewalls, nogravity, pushable etc.). Per level or per playthrough.
*An external programmatic addon that adds generic gibs based on the size/class of the monster, with more gibs if the monster is bigger. Plus an option to make every monster to XDeath always.
Gez
 
 
Posts: 17831
Joined: Fri Jul 06, 2007 3:22 pm

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by Gez »

Cyanide wrote:
Someone64 wrote:Also, the mod breaks Dead Simple on Doom II.
Hmm. I'll try to recreate this. Thought I got that fixed. :?

EDIT: Seems like the only solution I can find to the Dead Simple problem, is putting in A_BossDeath at the very start of the death state with a duration of 0. This in turn triggers the map changes earlier, but doesn't break the map anymore.
Use this as the base on which you build you replacement spawners.
User avatar
Cyanide
Spotlight Team
Posts: 319
Joined: Fri Feb 15, 2013 9:39 pm
Location: 6 ft. under

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by Cyanide »

Spaceman333 wrote:Lots o' love!
Thanks for the kind words! I'll have to look into those stat-randomizing things you mention at the bottom of your post.
Gez wrote:Use this as the base on which you build you replacement spawners.
Thanks. It seems I'll have to give Zscript a whirl. :)
User avatar
wildweasel
Posts: 21706
Joined: Tue Jul 15, 2003 7:33 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): A lot of them
Graphics Processor: Not Listed
Contact:

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by wildweasel »

This is good fun! It did make me realize I should rename one of the actors in my existing mod, but hey, my fault, not yours. DRLA has me conditioned to wet myself when I see the Hungry, though, heheh.
User avatar
Doctrine Gamer
Posts: 391
Joined: Wed Jan 30, 2013 1:22 pm

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by Doctrine Gamer »

Gez wrote:
Cyanide wrote:
Someone64 wrote:Also, the mod breaks Dead Simple on Doom II.
Hmm. I'll try to recreate this. Thought I got that fixed. :?

EDIT: Seems like the only solution I can find to the Dead Simple problem, is putting in A_BossDeath at the very start of the death state with a duration of 0. This in turn triggers the map changes earlier, but doesn't break the map anymore.
Use this as the base on which you build you replacement spawners.
Scripted spawner it work with any custom monsters mod?
I recently experienced this in the Brutal Doom and Terminator Mods.
The monsters were dying and unable to pass on the levels that depend on the monsters dying to exit.
Quadrillion Shades of Doom is very good, variety skins of monsters without modifying their behavior. Nice.
Gez
 
 
Posts: 17831
Joined: Fri Jul 06, 2007 3:22 pm

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by Gez »

Doctrine Gamer wrote:Scripted spawner it work with any custom monsters mod?
Here's a short technical explanation of what happens.

Some levels have hardcoded effects when all monsters of a given type (baron in E1M8, mancubus and arachnos in MAP07, etc.) die. The monsters that can do this call a function called A_BossDeath when they die. So when A_BossDeath is called, what happens is that this function looks if there are any surviving monsters of the appropriate type present, and if not, it does whatever the level is supposed to do, like open a door or lower a floor, or just go to the victory screen.

So we have two factors that are important here:
  1. Monster type
  2. Calling A_BossDeath when dying
Now what happens when you replace monsters. Let's say you replace the mancubus by the baron of hell. You get to MAP07 and there are barons on the platforms. When the last baron is killed, A_BossDeath sees that the level wants to have dead mancubuses, sees that the mancubuses are replaced by barons, and that all the barons are dead. Cool, it works!

Now let's say that you replace the mancs by imps. Imps don't call A_BossDeath. So when you kill the last imp on MAP07, nothing happens. The level is broken. That's because we failed point #2.

What if you replace the mancs by a spawner that will in turn spawn a baron and then disappear. When you kill the last baron, A_BossDeath sees that the level wants dead mancs, that the mancs are replaced by spawners, and that there are no dead spawners around. The level is broken. That's because we failed point #1.

Certain classes like the built-in RandomSpawner and the resource ScriptedSpawner that I have linked to are smarter than that. They spawn the actor, but they linger around, invisible, and they monitor the health of the actor they spawned. If you use one of these special spawners to replace mancs and spawn imps, what happens is that they will see that the actor they replace (mancs) can call A_BossDeath, so they will wait until the actor they spawned (so, an imp in our example) dies, and when that imp dies they call A_BossDeath themselves, before disappearing. The result is that the level works, because A_BossDeath is called by a dead actor of the type that replaces the desired type.

Mods like Brutal Doom that create their own spawners don't go to the same lengths to make sure that things work correctly, so they break levels. It's just one of the many problems they have as far as coding is concerned, honestly. Other common issues that come from not using RandomSpawner or ScriptedSpawner and instead rolling your own approximation is that they don't transfer flags (like ambush) or TID or various other things that you can set in the map editor.
User avatar
Doctrine Gamer
Posts: 391
Joined: Wed Jan 30, 2013 1:22 pm

Re: [WIP/BETA] 12,5 Quadrillion Shades of Doom v0.1

Post by Doctrine Gamer »

Gez wrote:
Doctrine Gamer wrote:Scripted spawner it work with any custom monsters mod?
Here's a short technical explanation of what happens.

Some levels have hardcoded effects when all monsters of a given type (baron in E1M8, mancubus and arachnos in MAP07, etc.) die. The monsters that can do this call a function called A_BossDeath when they die. So when A_BossDeath is called, what happens is that this function looks if there are any surviving monsters of the appropriate type present, and if not, it does whatever the level is supposed to do, like open a door or lower a floor, or just go to the victory screen.

So we have two factors that are important here:
  1. Monster type
  2. Calling A_BossDeath when dying
Now what happens when you replace monsters. Let's say you replace the mancubus by the baron of hell. You get to MAP07 and there are barons on the platforms. When the last baron is killed, A_BossDeath sees that the level wants to have dead mancubuses, sees that the mancubuses are replaced by barons, and that all the barons are dead. Cool, it works!

Now let's say that you replace the mancs by imps. Imps don't call A_BossDeath. So when you kill the last imp on MAP07, nothing happens. The level is broken. That's because we failed point #2.

What if you replace the mancs by a spawner that will in turn spawn a baron and then disappear. When you kill the last baron, A_BossDeath sees that the level wants dead mancs, that the mancs are replaced by spawners, and that there are no dead spawners around. The level is broken. That's because we failed point #1.

Certain classes like the built-in RandomSpawner and the resource ScriptedSpawner that I have linked to are smarter than that. They spawn the actor, but they linger around, invisible, and they monitor the health of the actor they spawned. If you use one of these special spawners to replace mancs and spawn imps, what happens is that they will see that the actor they replace (mancs) can call A_BossDeath, so they will wait until the actor they spawned (so, an imp in our example) dies, and when that imp dies they call A_BossDeath themselves, before disappearing. The result is that the level works, because A_BossDeath is called by a dead actor of the type that replaces the desired type.

Mods like Brutal Doom that create their own spawners don't go to the same lengths to make sure that things work correctly, so they break levels. It's just one of the many problems they have as far as coding is concerned, honestly. Other common issues that come from not using RandomSpawner or ScriptedSpawner and instead rolling your own approximation is that they don't transfer flags (like ambush) or TID or various other things that you can set in the map editor.

Excellent explanation and very well detailed. Thank you. :thumb: :-)
Post Reply

Return to “Gameplay Mods”