[WIP] Gimmicks galore! (The Wastes)
[WIP] Gimmicks galore! (The Wastes)
I've been toying around with the idea for mods that have some central gimmick, be it weapons, monsters, or powerups. This thread will be a "journal" of sorts for the various random ideas I manage to come up with.
Finished Projects:
Doom Monster Randomizer - This little mod randomizes monster spawns. If you've grown tired of knowing just what kind of monster is right around the corner, this is the mod for you! Comes in two flavors: vanilla and enhanced. Currently, only the vanilla edition is finished.
The vanilla edition randomizes most of the vanilla monsters. It's kind of bland, but it does include two new monsters: the heavy weapons dude for the Ultimate Doom, using Vader's lovely Chaingun Major sprites, and the Nightmare Imp, a sloppy hack by yours truly! Monster spawns are based on a weighted dropitem list. This means that the monster that would usually spawn will be the most common, followed by the next closest. The human enemies will see the most variation, followed by the demon, spectre, imp and Hell knight.
Some monsters have recieved minor improvements: Hell nobles now spawn green blood, cacodemons spawn blue blood, and lost souls spawn bulletpuffs instead of blood. Many monsters are randomized, partially due to a lack of similar monsters and partially because of Doom's few, scripted maps. Hell knights are one exception: they will sometimes spawn a Baron of Hell.
The enhanced edition is finished. It randomizes most of the monsters with a select few from the Beastiary. Most monsters have been modified from their Beastiary counterparts, but not in a bad way. Most of them had their health reduced to better match the original Doom monsters, along with some tweaks to painchance and other minor variables.
I know this has been done before, but I thought having a simple monster randomizer that doesn't spawn 50 billion different kinds of monsters would be nice for those that prefer something a little bit simpler. For those that want more, the enhanced edition should suit your needs without being excessive.
You can get the current final version of the vanilla and enhanced edition right here: Doom Monster Randomizer - Vanilla and Enhanced edition
Current Projects:
The Wastes - A mod with weapons inspired by those found in my favorite Build engine games, namely Blood, Duke Nukem 3D and Shadow Warrior. Other features are in the planning stages, such as custom monsters. Current release is beta 1.1, which can be found here.
Character Classes - A mod with 5+ characters, new weapons, armor system and power-ups planned. The mod is currently in the beta stages. Currently on hiatus. The current beta release can be found here: Character Class - beta 1.
Finished Projects:
Doom Monster Randomizer - This little mod randomizes monster spawns. If you've grown tired of knowing just what kind of monster is right around the corner, this is the mod for you! Comes in two flavors: vanilla and enhanced. Currently, only the vanilla edition is finished.
The vanilla edition randomizes most of the vanilla monsters. It's kind of bland, but it does include two new monsters: the heavy weapons dude for the Ultimate Doom, using Vader's lovely Chaingun Major sprites, and the Nightmare Imp, a sloppy hack by yours truly! Monster spawns are based on a weighted dropitem list. This means that the monster that would usually spawn will be the most common, followed by the next closest. The human enemies will see the most variation, followed by the demon, spectre, imp and Hell knight.
Some monsters have recieved minor improvements: Hell nobles now spawn green blood, cacodemons spawn blue blood, and lost souls spawn bulletpuffs instead of blood. Many monsters are randomized, partially due to a lack of similar monsters and partially because of Doom's few, scripted maps. Hell knights are one exception: they will sometimes spawn a Baron of Hell.
The enhanced edition is finished. It randomizes most of the monsters with a select few from the Beastiary. Most monsters have been modified from their Beastiary counterparts, but not in a bad way. Most of them had their health reduced to better match the original Doom monsters, along with some tweaks to painchance and other minor variables.
I know this has been done before, but I thought having a simple monster randomizer that doesn't spawn 50 billion different kinds of monsters would be nice for those that prefer something a little bit simpler. For those that want more, the enhanced edition should suit your needs without being excessive.
You can get the current final version of the vanilla and enhanced edition right here: Doom Monster Randomizer - Vanilla and Enhanced edition
Current Projects:
The Wastes - A mod with weapons inspired by those found in my favorite Build engine games, namely Blood, Duke Nukem 3D and Shadow Warrior. Other features are in the planning stages, such as custom monsters. Current release is beta 1.1, which can be found here.
Character Classes - A mod with 5+ characters, new weapons, armor system and power-ups planned. The mod is currently in the beta stages. Currently on hiatus. The current beta release can be found here: Character Class - beta 1.
Last edited by Snarboo on Sun Sep 27, 2009 7:29 pm, edited 14 times in total.
Re: [WIP] Gimmicks galore!
nice! i bet the enhanced one is gonna be more hardcore.
Re: [WIP] Gimmicks galore!
Current progress on the enhanced edition is good! I've almost finished it. I've also made some improvements to the vanilla edition and added one new monster: the lost spectre! Basically a fuzzy lost soul.
- Cardboard Marty
- Posts: 1149
- Joined: Sat Oct 23, 2004 8:29 am
- Graphics Processor: nVidia with Vulkan support
- Location: Robot Mountain
- Contact:
Re: [WIP] Gimmicks galore!
Loving the vanilla addition so far. The chaingunners seem to spawn quite a bit though, but I blame decorate's randomization for that more than anything. :P Very interesting to play through with this, definitely puts a spin on Doom :)
Re: [WIP] Gimmicks galore!
I'm glad to hear you're liking it so far! I noticed the chaingunner spawning more often than I thought it would myself. It must be ZDoom's randomization code, because in most cases, chaingunners are weighted the lowest in the dropitem list.
If you like lots of custom monsters, you'll love the enhanced edition. I've tried my best to keep it from suffering from the "wild zoo" effect by grouping similar monsters together and making sure no more than five kinds of monsters will drop from one spawner. It does get pretty hectic, though.
If you like lots of custom monsters, you'll love the enhanced edition. I've tried my best to keep it from suffering from the "wild zoo" effect by grouping similar monsters together and making sure no more than five kinds of monsters will drop from one spawner. It does get pretty hectic, though.
Re: [WIP] Gimmicks galore!
The enhanced edition is basically done now, except for one major flaw: for whatever reason, the custom boss monsters meant to spawn along with the Cyberdemon and Spider Mastermind are not executing their A_BossDeath script upon death. This is despite the fact that 1) both custom boss monsters inherit from the original bosses, 2) they both call A_BossDeath in their death states and 3) I also created two new actors that also inherit from the original bosses that work perfectly.
For example, my NewCyber actor, which is just the Cyberdemon with a species string and the DONTHURTSPECIES flag, will end the level on E2M8, but the Annihilator from the Beastiary that I modified a bit, despite inheriting from the Cyberdemon, won't. I'm going to upload the mod anyway, along with some code. Hopefully somebody can figure this out.
This is the first time I've had a problem with this, by the way. The other monsters which inherit from boss and special monsters, such as the Cybruiser and Chaingun Arachnotron, will execute their map script upon calling A_BossDeath.
On a more positive note, if I can get this fixed, I'll upload this to the /idgames archive. I would appreciate people posting as many comments about this as possible, too. Also, would anyone be willing to record and upload some gameplay footage of the enhanced edition as a promo? My computer isn't fast enough to play a game and record video at the same time. I'll try to think of some reward for doing so.
Here's the code for the curious:
Alright, I've uploaded a zip file that contains both the vanilla and enhanced edition together. The vanilla edition has recieved a few tweaks and new additions.
Here it is:
Doom Monster Randomizer - Vanilla and Enhanced edition
For example, my NewCyber actor, which is just the Cyberdemon with a species string and the DONTHURTSPECIES flag, will end the level on E2M8, but the Annihilator from the Beastiary that I modified a bit, despite inheriting from the Cyberdemon, won't. I'm going to upload the mod anyway, along with some code. Hopefully somebody can figure this out.
This is the first time I've had a problem with this, by the way. The other monsters which inherit from boss and special monsters, such as the Cybruiser and Chaingun Arachnotron, will execute their map script upon calling A_BossDeath.
On a more positive note, if I can get this fixed, I'll upload this to the /idgames archive. I would appreciate people posting as many comments about this as possible, too. Also, would anyone be willing to record and upload some gameplay footage of the enhanced edition as a promo? My computer isn't fast enough to play a game and record video at the same time. I'll try to think of some reward for doing so.
Here's the code for the curious:
Spoiler:Edit:
Alright, I've uploaded a zip file that contains both the vanilla and enhanced edition together. The vanilla edition has recieved a few tweaks and new additions.
Here it is:
Doom Monster Randomizer - Vanilla and Enhanced edition
Re: [WIP] Gimmicks galore!
There was a small bug in the RS code which screwed probabilities for weighted lists. It's been fixed in r1648.Snarboo wrote:I'm glad to hear you're liking it so far! I noticed the chaingunner spawning more often than I thought it would myself. It must be ZDoom's randomization code, because in most cases, chaingunners are weighted the lowest in the dropitem list.
Do they have the BOSS and/or BOSSDEATH flags? Normally they should inherit them from their parent actor, but that is how RSes determine whether something is a boss or not, and they have special coding to make it work.Snarboo wrote:The enhanced edition is basically done now, except for one major flaw: for whatever reason, the custom boss monsters meant to spawn along with the Cyberdemon and Spider Mastermind are not executing their A_BossDeath script upon death. This is despite the fact that 1) both custom boss monsters inherit from the original bosses, 2) they both call A_BossDeath in their death states and 3) I also created two new actors that also inherit from the original bosses that work perfectly.
Re: [WIP] Gimmicks galore!
They had the BOSS flag set and I just now added the BOSSDEATH flag, but it's still not working properly.
Re: [WIP] Gimmicks galore!
I just loaded the code you typed and finished E2M8 successfully. Typing "kill cyberdemon" in the console told me there was 0 cyberdemons around, so it was indeed a NewCyber. I'm going to take a look at the mod since obviously something is wrong somewhere else.
Last edited by Gez on Tue Jun 23, 2009 9:22 am, edited 2 times in total.
Re: [WIP] Gimmicks galore!
The new monsters are located in the MONSTER text file, while the monster spawners are located in the DECORATE file. Monsters are organized by class, so the Annihilator is at the bottom of MONSTER along with the Demolisher, the other boss.
Re: [WIP] Gimmicks galore!
Ah, yes of course. Bosses aren't replaced with the "replaces" keyword. Try this alone and play through E2M8:
Notice that you win.
Now try this alone instead:
Notice that you don't anymore.
Here's a working code:
You simply need to use "replaces" for replacing bossdeath monsters. The reason is the way A_BossDeath behaves in the first place. For a level, it looks what kind of monster is supposed to trigger a special effect. For example, E2M8 = Cyberdemon. Then it looks if that monster is being replaced by another, using an information field that is filled by the decorate parser when it stumbles upon a "replaces" keyword. So, NewCyber. Then it notices there aren't any monster of that type that have been placed on the map, since their doomednum has been hijacked by something else.
The other substitution method doesn't work. Since you're not using the original actors directly anyway, it's no big deal, is it?
Code: Select all
actor NewCyber : Cyberdemon replaces Cyberdemon
{
Species "General"
+DONTHURTSPECIES
}
Now try this alone instead:
Code: Select all
actor NewCyber : Cyberdemon 16
{
Species "General"
+DONTHURTSPECIES
}
Here's a working code:
Code: Select all
/* Doom Monster Randomizer - Decorate Code
All code by Snarboo 2009
This is the enhanced Monster randomizer. It
includes a select few Beastiary monsters
for more monster variation. New monsters
will be included in a separate decorate
file to avoid clutter. */
#include MONSTER
// New Monsters from the Vanilla version
actor NewHWGuy : ChaingunGuy replaces ChaingunGuy
/* Code borrowed from the Chaingun Major
Bestiary Monster. Original code and
graphics by Vader, minor edits by
Snarboo. */
{
Decal Bulletchip
States
{
Spawn:
CPS2 AB 10 A_Look
Loop
See:
CPS2 AABBCCDD 3 A_Chase
Loop
Missile:
CPS2 E 10 A_FaceTarget
CPS2 FE 3 A_CPosAttack
CPS2 F 1 A_CPosRefire
Goto Missile+1
Pain:
CPS2 G 3
CPS2 G 3 A_Pain
Goto See
Death:
CPS2 H 5
CPS2 I 5 A_Scream
CPS2 J 5 A_Fall
CPS2 KLMNO 5
CPS2 P -1
Stop
XDeath:
CPS2 Q 5
CPS2 R 5 A_XScream
CPS2 S 5 A_Fall
CPS2 TUVWX 5
CPS2 Y -1
Stop
Raise:
CPS2 P 5
CPS2 ONMLKJIH 5
Goto See
}
}
actor NewImp : DoomImp replaces DoomImp
{
Species "Imp"
}
actor NightmareImpBall : DoomImpBall
{
Translation "Ice"
RenderStyle Add
Alpha 0.8
Damage 5
Speed 12
FastSpeed 24
}
actor NightmareImp : DoomImp
{
Species "Imp"
Health 90
RenderStyle Add
Alpha 0.75
Translation "Ice"
BloodColor "Blue"
obituary "%o was frozen by a Nightmare Imp."
hitobituary "%o was frostbitten by a Nightmare Imp."
PainChance 180
States
{
Missile:
TROO EF 8 A_FaceTarget
TROO G 6 A_BasicAttack (4, "imp/melee", "NightmareImpBall", 32)
Goto See
}
}
// blood color changes for old monsters
actor NewCaco : Cacodemon replaces Cacodemon
{
Species "Caco"
BloodColor "Blue"
}
actor NewHellKnight : HellKnight replaces HellKnight
{
Species "Noble"
BloodColor "Green"
}
actor NewBaron : BaronofHell
{
Species "Noble"
BloodColor "Green"
}
actor BulletPuff2 : BulletPuff
// for skeletal monsters
{
}
actor NewLostSoul : LostSoul replaces LostSoul
{
Species "Anklebiter"
Health 75
RenderStyle Normal
Alpha 1
BloodType "BulletPuff2"
BloodColor "Black"
}
actor LostSpectre : LostSoul
// New Lost Soul type
{
Health 90
RenderStyle Fuzzy
Obituary "%o never saw it coming."
}
actor NewElemental : PainElemental replaces PainElemental
{
Species "Spawner"
}
actor NewSpider : Arachnotron
{
Species "Spider"
+DONTHURTSPECIES
}
actor NewCyber : Cyberdemon
{
Species "General"
+DONTHURTSPECIES
}
actor NewBrain : SpiderMastermind
{
Species "Leader"
+DONTHURTSPECIES
}
// Monster Spawners
actor ZombieSpawner1 : RandomSpawner 3004
{
DropItem "ZombieMan" 255 6
DropItem "ShotgunGuy" 255 2
DropItem "ChainsawZombie" 255 1
DropItem "NewHWGuy" 255 1
}
actor ZombieSpawner2 : RandomSpawner 9
{
DropItem "ShotgunGuy" 255 6
DropItem "ZombieMan" 255 2
DropItem "ChainsawZombie" 255 1
DropItem "NewHWGuy" 255 1
}
actor ZombieSpawner3 : RandomSpawner 65
{
DropItem "NewHWGuy" 255 6
DropItem "ShotgunGuy" 255 2
DropItem "ZombieMan" 255 1
DropItem "ChainsawZombie" 255 1
}
actor ImpSpawner : RandomSpawner 3001
{
DropItem "NewImp" 255 5
DropItem "NightmareImp" 255 2
DropItem "SuperImp" 255 1
DropItem "StoneImp" 255 1
DropItem "SoulHarvester" 255 1
}
actor DemonSpawner1 : RandomSpawner 3002
{
DropItem "Demon" 255 6
DropItem "BloodDemonClone" 255 3
DropItem "StoneDemon" 255 1
}
actor DemonSpawner2 : RandomSpawner 58
{
DropItem "Spectre" 255 6
DropItem "BloodSpectre" 255 3
DropItem "StoneSpectre" 255 1
}
actor HellKnightSpawner : RandomSpawner 69
{
DropItem "NewHellKnight" 255 5
DropItem "Satyr" 255 3
DropItem "HellWarrior" 255 2
}
actor BaronSpawner : RandomSpawner replaces BaronofHell
{
DropItem "NewBaron" 255 8
DropItem "Cybruiser" 255 2
}
actor CacoSpawner : RandomSpawner 3005
{
DropItem "NewCaco" 255 6
DropItem "Cacolich" 255 3
DropItem "Fallen" 255 1
}
actor SoulSpawner : RandomSpawner 3006
{
DropItem "NewLostSoul" 255 5
DropItem "LostSpectre" 255 3
DropItem "Guardian" 255 2
}
actor ElementalSpawner : RandomSpawner 71
{
DropItem "NewElemental" 255 7
DropItem "TorturedSoul" 255 3
}
actor SpiderSpawner : RandomSpawner replaces Arachnotron
{
DropItem "NewSpider" 255 5
DropItem "CGunSpider" 255 5
}
actor CyberSpawner : RandomSpawner replaces Cyberdemon
{
DropItem "NewCyber" 255 8
DropItem "Annihilator" 255 2
}
actor BrainSpawner : RandomSpawner replaces SpiderMastermind
{
DropItem "NewBrain" 255 9
DropItem "Demolisher" 255 1
}
The other substitution method doesn't work. Since you're not using the original actors directly anyway, it's no big deal, is it?
Re: [WIP] Gimmicks galore!
I didn't realize that! That works perfectly then. Thanks man. :)Gez wrote:The other substitution method doesn't work. Since you're not using the original actors directly anyway, it's no big deal, is it?
Edit:
I just uploaded a fixed version of the enhanced edition. I still need to fix the vanilla edition, but that will have to wait. I've been working on this for a few hours, so I'm taking a break. :)
Doom Monster Randomizer - Vanilla and Enhanced (fixed) edition
- Cardboard Marty
- Posts: 1149
- Joined: Sat Oct 23, 2004 8:29 am
- Graphics Processor: nVidia with Vulkan support
- Location: Robot Mountain
- Contact:
Re: [WIP] Gimmicks galore!
Loving the enhanced edition. I'm glad I finally have a mod like this that doesn't succumb to the zoo effect. The monsters were nicely chosen :D
Cant' wait to see this weapon mod you've got coming :D
Cant' wait to see this weapon mod you've got coming :D
Re: [WIP] Gimmicks galore!
Thanks again, Marty. :) I'm glad that the monster variety is a problem.
I just fixed up the vanilla edition with the improvements I made to the enhanced one, so I'll upload that in a minute. However, I'm still considering adding a few new monster variants to both, such as a special Red Baron similar to the Doom 64 Baron and possibly a Hell Spectre.
The enhanced edition doesn't replace the Mancubus, the Revenant or the Archvile because I felt I couldn't find suitable replacements for them, but that might change. I probably won't replace the Archvile, unless I can find a similar monster with a heal ability.
Edit:
I actually just added those changes I mentioned to the two editions. Here it is:
Doom Monster Randomizer - Vanilla and Enhanced Edition
This adds two new monster and a few enhancements. The two new monsters are the Hell Spectre and the Red Baron, both of which have stronger attacks to their counterparts, but have lower health. New blood types for fuzzy and transparent monsters were also added. Fuzzy spectres now have fuzzy blood, and transparent monsters have transparent blood. Other minor changes include tinkering around with a few monsters' blood colors.
I just fixed up the vanilla edition with the improvements I made to the enhanced one, so I'll upload that in a minute. However, I'm still considering adding a few new monster variants to both, such as a special Red Baron similar to the Doom 64 Baron and possibly a Hell Spectre.
The enhanced edition doesn't replace the Mancubus, the Revenant or the Archvile because I felt I couldn't find suitable replacements for them, but that might change. I probably won't replace the Archvile, unless I can find a similar monster with a heal ability.
Edit:
I actually just added those changes I mentioned to the two editions. Here it is:
Doom Monster Randomizer - Vanilla and Enhanced Edition
This adds two new monster and a few enhancements. The two new monsters are the Hell Spectre and the Red Baron, both of which have stronger attacks to their counterparts, but have lower health. New blood types for fuzzy and transparent monsters were also added. Fuzzy spectres now have fuzzy blood, and transparent monsters have transparent blood. Other minor changes include tinkering around with a few monsters' blood colors.
Re: [WIP] Gimmicks galore!
FFFFFFFFFFFSnarboo wrote:Red Baron
I was using that joke for something I'm working on.
Meh, no big deal.