Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Death Egg

DEHACKED Enemies

Recommended Posts

Is there a limit to how many enemies you could have with DEHACKED? I have a vague idea for a mod that would involve multiple enemies, as long as enough states are freed from objects is there a limit to how many new ones you can make? And do they all count toward the monster count too?

 

EDIT: The original enemies will be changed to be new too. Most likely almost all of the enemies will share a death state since it will free up so many frames for animation of other enemies. (All the enemies will explode)

Edited by Death Egg

Share this post


Link to post

Technically yes, you can only have as many enemies as there are things. You can replace others things like items and decorations as long as you use the correct flags and use and call for the correct states. You cannot however (afaik), add additional things using unused states.

 

And yes, I'm pretty sure they can count towards the monster count, so long as you tick off the "Affects kill %" flag for the thing. I think. I dunno. :(

Share this post


Link to post

On a technical level, DEHACKED doesn't separate things into any categories, like monsters, projectiles, pickups, decorations, or whatever else. Every thing type has the same properties that you can set to arbitrary values, and only these values will determine the thing's behavior - a certain combination of properties will make a monster, another combination will make a pickupable item, but a creative modder could potentially invent a new combination that makes a thing that is simultaneously a monster and a pickupable item, or even a thing undescribable by any category of things found in the original Doom games.

 

It's true that certain several thing types have special hardcoded behavior that cannot be changed (if you kill a Zombieman, he always drops a clip of bullets), but this isn't forbidding said thing types to be redefined into something completely different than they originally were by changing their normal properties (you can redefine a Zombieman into an explosive barrel that doesn't move or do any monster-like behavior at all, then it will drop a clip of bullets upon death, but otherwise work just fine as an explosive barrel - alternatively, you can redefine him into a non-damagable object, then his ability to drop a clip of bullets upon death will not manifest simply because he won't ever be dying).

 

So yes, you can redefine anything into nearly anything else, as long as you don't run out of available states and thing types, and you're OK with losing the original ones.

4 hours ago, Death Egg said:

And do they all count toward the monster count too?

Counting towards the monster count is determined by one flag in a thing's properties, so it's completely under your control which things will count and which ones will not.

Edited by scifista42

Share this post


Link to post
46 minutes ago, scifista42 said:

It's true that certain several thing types have special hardcoded behavior that cannot be changed (if you kill a Zombieman, he always drops a clip of bullets), but this isn't forbidding said thing types to be redefined into something completely different than they originally were by changing their normal properties (you can redefine a Zombieman into an explosive barrel that doesn't move or do any monster-like behavior at all, then it will drop a clip of bullets upon death, but otherwise work just fine as an explosive barrel - alternatively, you can redefine him into a non-damagable object, then his ability to drop a clip of bullets upon death will not manifest simply because he won't ever be dying).

Ah... I think I understand now why the plasma marine enemies in Scythe 2 and Resurgence drop bullets instead of cells. They replaced the original SS Nazi.

Share this post


Link to post

You cannot exceed the original number of things, the original number of frames, the original number of sounds, or even the original number of 4-letter sprite names. And, there's some special considerations with the player's first-person weapon frames, and the pickup frames and/or pickup things, at least in vanilla. Ports with MBF support extend the number of things a frames by a small amount.

 

A final thing to consider is that, for vanilla, your PWAD must contain ALL sprites that will be used in your game. This is because vanilla cannot grab the sprite images from 2 separate sources, like it would for other resources. I hope I described this clearly.

 

Share this post


Link to post

Also, some modern badass advanced ports, such as Doom Retro and recently Crispy Doom (ZDoom and Eternity too, i think?), add a whole new bunch of frames and thing numbers for modders' use.

Share this post


Link to post
3 hours ago, scifista42 said:

It's true that certain several thing types have special hardcoded behavior that cannot be changed (if you kill a Zombieman, he always drops a clip of bullets)

You could however also change the clip of bullets into something else.  Although this would then change every bullet clip in the game.  I once created a mod that changed every bullet clip into a faster, melee only zombie.  This meant when you killed a zombie you got... another zombie!  It was effectively a mod that added various levels of aggression to monsters before we had anything like Decorate.

 

It did however end up populating the whole game with angry melee zombies and less bullets, so I think I turned armor bonuses into bullet clips to make up for it.

Share this post


Link to post

Or use BEX instead, if you're not aiming for vanilla. It'll certainly be neater.

Share this post


Link to post
18 minutes ago, bzzrak said:

Also, some modern badass advanced ports, such as Doom Retro and recently Crispy Doom (ZDoom and Eternity too, i think?), add a whole new bunch of frames and thing numbers for modders' use.

I made a case for all ports doing this, on these forums, some time ago, but it never went anywhere. The idea was that all ports would add a modest, agreed-upon chunk of blank frames, blank thing slots, and maybe some blank sound slots. Additionally, ports would add a very small set of very general code pointers, like for firing a missile, or dropping a thing. The idea was to provide a simple, DEHACK-y, vanilla-like way to add custom monsters without swapping them for the originals. Kind of like a new standard, agreed-upon feature set. With everyone adding the same features, these monsters would work everywhere, and even respect demo compatibility.

 

I still think it's a good idea, especially because adding this to a port is generally pretty easy, though it may require a workaround or two, to work seamlessly with ports that support user-defined thing/frame/sound creation.

 

Effectively, it would make all source ports "badass", almost for free :)

Share this post


Link to post
7 hours ago, kb1 said:

A final thing to consider is that, for vanilla, your PWAD must contain ALL sprites that will be used in your game. This is because vanilla cannot grab the sprite images from 2 separate sources, like it would for other resources.

To be precise: If a PWAD contains at least 1 sprite lump with a name that matches any IWAD sprite lump name, the engine will crash upon startup, unless the PWAD actually contains all of such sprite lumps. However, including custom sprites in a PWAD without reincluding all non-replaced IWAD sprites can be done by renaming some 4-letter sprite names in DEHACKED's String table to unique ones and renaming the 4-letter names of all custom sprites to these unique names (for example, rename string "TROO" to "TRO2", and safely include custom sprites named "TRO2**"), or by using frames of existing sprite names beyond the range of the IWAD sprites (for example, the IWAD's health bonus sprites include frames A-D, so you can safely add frames E-Z of the same sprite name).

Share this post


Link to post

A lot of interesting information I didn't know about. Including every resource wouldn't be an issue; if I went in this direction for my mod it would be an IWAD anyway, so it would have to include every resource.

Share this post


Link to post

Free states with actions can be borrowed from baron, mastermind and cyberdemon - "bossdeath". This actions anyway not used in Doom 2. Also fatso and arachnotron have "bossdeath" actions which only used on map07. Also keen with it's action "keendie" can open the doors on any map.

You can even create monster who can shoot BFG projectiles, but you need sacrifice other monster projectile.

And you can change archvile to another thing, so you can receive a LOTS of free states and actions (even 2 monsters can be created from turning archvile to static hell pillar, as example).

Edited by riderr3

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×