Shades of Doom v1.2 - More, more, more!!! (05/20/18)

Projects that alter game functions but do not include new maps belong here.
Forum rules
The Projects forums are ONLY for YOUR 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.

Shades of Doom v1.2 - More, more, more!!! (05/20/18)

Postby Cyanide » Thu Jul 20, 2017 11:57 pm

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. That means, that if every monster is represented in a level (which, I know, they never are... BUT STILL!!!) the total number of monster compositions should be exactly 4.123.886.518.811.700.241.838.899.200.000 (+1 for Chaos Mode), hence the name. 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 technicaly there.

Themes

Sometimes, when the rolls are just right, you'll hit a fun combination. A message will flash with a hint, as to what "theme" has triggered. It is up to you to open the mod in Slade and find out for yourself.

Daisy's Dead

The mod also randomizes many of the decoration and gore sprites. Once in a blue moon, the monsters have gotten to Doomguy's pet rabbit: Daisy. In that case, a message will flash in big, red, juice letters. Make sure you make 'em pay!!!

Customization

Don't like the themes? Turn 'em off! Want Demons and Spectres to be the same variant? Make it so! Messages going away too fast? Crank the length up!
There's options. That's what I'm getting at...

Roster

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

Chaos Mode

I've added the option to randomize every single enemy (except Commander Keens) on the map, because... well, why not.

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:


I would also highly recommend trying out Champions by Mikk- with this mod.

Load Order

Load order should be as follows, though you can omit any/all of the 4 addons after the main randomizer:

  1. SoD.pk3
  2. SoD_Keen.pk3
  3. SoD_SS.pk3
  4. SoD_Gore.pk3
  5. SoDStlth.pk3
  6. SoD_<patch>.pk3 (if needed)

Links

Download (filesize: 49.395 KB)
This is the main download .zip.

Patches (filesize: 246 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 insances of "XXXX" with a name and all instances of "YYYY" with the Decorate for the monsters.

Screenshots @ imgur.com
Som screenshots taken a looooong time ago.

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:
Spoiler:

Have fun!
-Cyanide
Last edited by Cyanide on Sun Sep 16, 2018 9:46 am, edited 52 times in total.
User avatar
Cyanide
 
Joined: 15 Feb 2013
Location: 6 ft. under

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

Postby Someone64 » Fri Jul 21, 2017 5:47 am

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.
Someone64
 
Joined: 23 Feb 2016

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

Postby Cyanide » Fri Jul 21, 2017 7:11 am

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
Cyanide
 
Joined: 15 Feb 2013
Location: 6 ft. under

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

Postby Spaceman333 » Fri Jul 21, 2017 12:19 pm

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
Spaceman333
 
Joined: 13 Oct 2016

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

Postby Cyanide » Fri Jul 21, 2017 12:32 pm

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
Cyanide
 
Joined: 15 Feb 2013
Location: 6 ft. under

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

Postby dljosef » Fri Jul 21, 2017 10:21 pm

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
dljosef
Brutal Doom? Nope, I don't care.
 
Joined: 12 Aug 2005
Location: Deep underground

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

Postby Somagu » Fri Jul 21, 2017 10:31 pm

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
Somagu
 
Joined: 22 Nov 2013

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

Postby Cyanide » Sat Jul 22, 2017 2:56 pm

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
Cyanide
 
Joined: 15 Feb 2013
Location: 6 ft. under

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

Postby Spaceman333 » Tue Jul 25, 2017 1:09 pm

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.
User avatar
Spaceman333
 
Joined: 13 Oct 2016

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

Postby Gez » Tue Jul 25, 2017 2:47 pm

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.
Gez
 
 
 
Joined: 06 Jul 2007

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

Postby Cyanide » Tue Jul 25, 2017 6:46 pm

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
Cyanide
 
Joined: 15 Feb 2013
Location: 6 ft. under

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

Postby wildweasel » Tue Jul 25, 2017 7:17 pm

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
wildweasel
「お前はもうトースト」[you are already toast.]
Moderator Team Lead
 
Joined: 15 Jul 2003

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

Postby Doctrine Gamer » Wed Jul 26, 2017 6:33 am

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.
User avatar
Doctrine Gamer
Holger Danilchenko
 
Joined: 30 Jan 2013

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

Postby Gez » Wed Jul 26, 2017 8:15 am

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.
Gez
 
 
 
Joined: 06 Jul 2007

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

Postby Doctrine Gamer » Wed Jul 26, 2017 11:44 am

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: :-)
User avatar
Doctrine Gamer
Holger Danilchenko
 
Joined: 30 Jan 2013

Next

Return to Gameplay Mods

Who is online

Users browsing this forum: Mackery and 9 guests