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

Some (hopefully) useful dehacked tricks for you

Recommended Posts

It's always fun to play around with dehacked and figure out new ways of using everything. Like I mentioned over here I'd love to see more comprehensive mods available like minicharge for people to use. Megawads like Valiant and Eviternity are made great partially by their custom monsters IMO.

Share this post


Link to post

 

This thread really should be in Doom Editing, mainly because pages fall off wads & mods so fast.

Share this post


Link to post

If better suited over there then yeah. How do I go about getting it over there?

Share this post


Link to post

If you're working in vanilla Dehacked, spare frames with actions are like gold dust. The Arch-Vile's flame attack is an excellent source of these as all 29 frames have actions. I've found that you can free up a lot of them by slowing down and tweaking the animation.  In my example savedframes.deh, I was able to free up 14 frames in exchange for a small visual downgrade that (in my opinion) isn't too bad.

 

savedframes.7z

Edited by Bees With Teeth

Share this post


Link to post

Never thought to do that, but then again I usually stick with MBF-dehacked as I'm a sucker for extra frames and actions.

Share this post


Link to post

I've read that dehacked falsely assumed you couldn't give code pointers to frames without one.   So has anyone tried giving code points to more frames at least in patches for source ports?   Also I think a python language dehacked-type editor just gives you 100 more frames of animation to work with.   Maybe there's even some free space in the original doom.exes for those if it edits the actual exe.

Share this post


Link to post
25 minutes ago, Gokuma said:

Maybe there's even some free space in the original doom.exes for those if it edits the actual exe.

 

 

xttl never went all the way through with this, but it's a start. The holy grail would be a new Dehacked version that could insert an arbitrarily large frame table into the EXE so people could write in DECORATE a la fraggle's DEH9000.

Share this post


Link to post

so i've been playing around with using BrainSpit for a projectile attack, trying to make it work a bit more reliably.

 

using Chase for the moving target ai seems like a bad choice because it will eventually decide to just leave the map completely, resulting in the enemy launching the projectiles becoming comically inaccurate, eventually even crashing the game outright if the target gets too far away. had this problem occur with crispy doom & prboom+. it also has an annoying tendency to open doors near the player, though maybe a mapper could say their level is haunted by a spooky ghost.

 

switching the moving target ai to use SkullAttack seems like it has potential so far. main thing to note is that the frequency that SkullAttack is called and its overall effects on the attack. having it called every frame makes for an attack that's extremely precise but terribly inaccurate - when trying to attack close to the player, SkullAttack seems to cause the user to jump up a bit, so when its being called every frame on top of a stationary player, the target ai floats inside the player, causing all the projectiles to fly over the player. this might be resolved with a bit of specific positioning of the attacker, but overall it's not ideal.

 

now i'm using SkullAttack with a bit of a delay between cycles - currently at 21 frames, but basically anything long enough that the target ai isn't constantly launching itself upward seems to be fine. the only gripe i have is that using SkullAttack repeatedly causes the ai to do a consistent zig-zag around the player once they stop, with the motion based on the direction the player was last moving. probably not a huge deal for actual gameplay but it bugs me in testing, heh. otherwise, it seems generally fine for a projectile barrage attack.

Share this post


Link to post

Some time ago, I thought of expanding the Doom beastiary and adding new items etc. Taking advantage of the extended MBF Dehacked  supported by Doom Retro, Crispy Doom and Russian Doom, I just started added new monsters and a few items to my SMOOTHED mod (which adds smooth animations)

 

The new stuff uses new thing IDs so a mapper has to place them in the map, they do not replace anything.

 

 

Share this post


Link to post

fellow dehacked enthusiasts, i've been working on a dehacked-based mod. got weapons and enemies generally finished, aside from future fiddling and tweaking of course. now i just need to make some maps for 'em. i figured at least the base package might be of some interest to folks in this thread. it's designed around mbf compatibility, specifically tested with crispy doom and prboom+. eternity seems to work fine too. gzdoom doesn't get along with dehacked so avoid that one.

 

download here

 

only other thing to note is that i had a BrainSpit-based turret creature, but ultimately couldn't make it work in the end. it's probably fine for a very controlled, enclosed environment like in the example wad in the op, but start adding variation to terrain elevation and things get really unpredictable, especially between different engines. i suppose it could've worked with some very careful level design, but i figured it's less of a headache to just move on from the idea.

Share this post


Link to post

Really nice! You beat me to the punch with a few ideas, like the gas that releases from the one green projectile.

 

One thing I found is for shielded monsters like the Hell Warrior, you can spawn an in an invisible actor 1 unit wider than the spawning actor to create a shield effect if that's of interest to you at all.

 

The only thing I would look at is the BFG type gun. I felt like it wasn't doing enough damage to me, but just my 2 cents!

Share this post


Link to post

thanks for the feedback y'all.

 

3 hours ago, Btyb88 said:

Really nice! You beat me to the punch with a few ideas, like the gas that releases from the one green projectile.

 

One thing I found is for shielded monsters like the Hell Warrior, you can spawn an in an invisible actor 1 unit wider than the spawning actor to create a shield effect if that's of interest to you at all.

 

The only thing I would look at is the BFG type gun. I felt like it wasn't doing enough damage to me, but just my 2 cents!

been a bit of a pain getting the grell's gas to feel right. wish detonate had been parameterized for separate damage & raidus, but alas.

 

that's actually kinda brilliant for shielded enemies. wish i'd seen that idea before implementing his shielded charge attack, but i'm rather fond of the charge now, and i'm not sure about having the shield be used for both since it might confuse players as to when he's vulnerable. hmmm...

 

were you using the flamethrower? the true bfg-tier weapon replaces the chainsaw. it's supposed be infinite ammo (it damages the player when fired), but setting projectile-firing weapons to use infinite ammo causes them to just use total shotgun ammo instead. it's really goofy.

 

3 hours ago, Krull said:

Some awesome ideas in here, and it's nice to see my abandoned Bruiser Afrit put to good use! The item randomizer is particularly ingenious, and I can't for the life of me figure out how lots of extra tracers could force Revenant missiles to home in every time.

 

There were some small bugs: the Guardian's wake-up sound crashed PRBoom for some reason, and the rifle should use FirePistol (or only use FireCCGun on frames 52 & 53), as it crashes otherwise. 

 

And yeah, it's a shame about GZDoom - I've also encountered problems with my own MBF hacks not running on it, not to mention the lack of custom "deep water" COLORMAP support. 

you posted those bruiser afrit sprites at a really good time. i'd had another idea for an enemy fall through and was looking for a nice hell noble-tier enemy to put in its place when i saw those in the spriting thread.

 

the item randomizer is more-or-less straight out of batman doom, heh. that's another great mod for looking up advanced dehacked hijinks.

 

the revenant tracer's homing behavior is determined by the duration between calls. you can read up on more details here. the 0 duration frames in the vore's projectile are just there to further improve the homing behavior.

 

were you using the latest version of prboom+? i've tested it with that and had no issues with the machinegun or the guardian's wake up sound. i did test with the old prboom and while it did have many issues, funnily enough the guardian sound wasn't one of them. the machinegun did crash though, so i might play with that to make sure there aren't problems in some other ports.

 

at this point i'd just assume anything that heavily relies on dehacked probably wont correctly work in gzdoom. it would be trivial to whip up a zscript alternative for compatibility's sake down the line.

Edited by Finny

Share this post


Link to post
17 minutes ago, Finny said:

were you using the flamethrower? the true bfg-tier weapon replaces the chainsaw. it's supposed be infinite ammo (it damages the player when fired), but setting projectile-firing weapons to use infinite ammo causes them to just use total shotgun ammo instead. it's really goofy.

Yeah that's the one I'm referring to. When it comes to the "health as ammo" type of weapon I feel like it should be doing more damage to the player imo. 

Share this post


Link to post
24 minutes ago, Finny said:

been a bit of a pain getting the grell's gas to feel right. wish detonate had been parameterized for separate damage & raidus, but alas.

 

Have you tried using scratch instead of detonate on the gas? I find it works better since you can set Scratch to exactly how much damage you want it to cause.

Share this post


Link to post
10 minutes ago, Btyb88 said:

Yeah that's the one I'm referring to. When it comes to the "health as ammo" type of weapon I feel like it should be doing more damage to the player imo. 

oh derp, i misread your original post. it's up for changing, but i figure it's something that i'll get a better feel for once there's some actual levels to play.

 

11 minutes ago, Btyb88 said:

 

Have you tried using scratch instead of detonate on the gas? I find it works better since you can set Scratch to exactly how much damage you want it to cause.

doesn't seem to do anything with a quick test, but i'm probably just doing it wrong. i'll play around with it to see if i can make it work.

Share this post


Link to post
Just now, Finny said:

doesn't seem to do anything with a quick test, but i'm probably just doing it wrong. i'll play around with it to see if i can make it work.

It should work as long as the gas isn't a projectile and has starts with one (or two?) Look frames. This basically makes it a stationary monster that deals melee damage over the determined amount of tics, minus the first Look frames.

Share this post


Link to post
17 minutes ago, Btyb88 said:

It should work as long as the gas isn't a projectile and has starts with one (or two?) Look frames. This basically makes it a stationary monster that deals melee damage over the determined amount of tics, minus the first Look frames.

rather than look, a chase frame helped it properly target the player. so far it looks perfect for the gas attack. thanks for the idea, this is a great improvement.

 

my only question now would be how this would work in co-op, since i'm assuming the gas will just want to attack one player at a time. wonder if putting an additional chase call in the damage loop would help it switch targets.

Share this post


Link to post
1 minute ago, Finny said:

rather than look, a chase frame helped it properly target the player. so far it looks perfect for the gas attack. thanks for the idea, this is a great improvement.

 

my only question now would be how this would work in co-op, since i'm assuming the gas will just want to attack one player at a time. wonder if putting an additional chase call in the damage loop would help it switch targets.

My guess is it would only target the closest player? Presumably the monsters intended target. Otherwise this method would probably be better for singleplayer. The other benefit to this is it shouldn't affect monsters so they won't get hurt unnecessarily.

Share this post


Link to post

either way, it's not like i have any desire to go back to the detonation method since this is so much more consistent and functional. plus it means i don't need the grell to hog the spiderdemon slot for the splash immunity, so the hades elementals can take it instead so they stop blowing themselves up all the time, hehe.

Share this post


Link to post
3 hours ago, Krull said:

The Rifle works for me in PRBoom 2.5.1.4 but not GLBoom, for some reason (gives a signal 11 for the latter). Unless you mean the recent UMAPINFO fork?

 

The Guardian gives this error for me in both ports the moment it attacks: S_StartSoundAtVolume: Bad sfx #: 0. This is caused by it lacking an attack sound in the Things > Sounds box (not sure why I wrote wakeup sound last time, despite having already fixed the problem). I'm also not sure what the Guardian Attack Sound thing does (putting PlaySound in place of Spawn seems to work just as well). 

 

FAKE EDIT: I automatically discounted the 2.5.1.5 "test" when it came out (was waiting for the "real" release) and then forgot about it until now. Anyway, it seems to work fine with the unedited .bex file. 

aaah, yeah it should run fine with 2.5.1.4, so looks like that's sorted.

 

...though now i'm actually surprised it isn't crashing. it looks like i forgot to set the null sound for the guardian's attack sound, which usually causes things to explode when it tries to call BetaSkullAttack without an assigned attack sound. the issue is that this type of attack will hit a target even behind cover, so once the guardian initiates its attack, taking cover is normally useless; it's guaranteed damage aside from pain stunning the enemy. my workaround for this was to have it used SpidRefire to check if the player is still in LOS before completing the attack, but this meant that if the attack didn't complete, it wouldn't make any sound which just didn't feel right. i would've just used one of the guardian's attack frames to play the sound, but playing the assigned null sound afterward causes it to stop the attack sound early. the solution then was for it to spawn an object that simply plays the attack sound so that the sound isn't interrupted by the guardian playing the null sound.

 

i also adjusted the machinegun to have FireCGun on frames 52 & 53. even if it wasn't crashing the ports i was testing on, figure better safe than sorry, so why not.

 

(other than annoying me that the frames are shuffled around now, bleh)

Share this post


Link to post

looks like calling Stop during SkullAttack is a Bad Idea. by itself it doesn't seem to cause any issues, but when mixed in with a bunch of projectile-launching enemies, it will very occasionally cause a crash in prboom+ with a signal 11 error. just to be sure, i whipped up a bex with just a lost soul who immediately calls Stop right after SkullAttack and made a mini-nuts map filled with imps & modified lost souls, and sure enough it eventually crashed with the same error.

 

so, guess i'm ditching the shield charge attack after all, heh.

Share this post


Link to post
1 minute ago, Finny said:

so, guess i'm ditching the shield charge attack after all, heh.

Enter in the stationary shield idea!

 

Share this post


Link to post

lol yep, that's pretty much the idea. funnily enough i was working on that when i noticed the crashes, and originally assumed that it was related to the shield ability. the suggestion ended up being helpful in finding an unrelated problem.

Share this post


Link to post

As much as I love to play around with Dehacked, some of the things that it won't allow you to do frustrate me to no end. I think I had played around with the SkullAttack/Stop combo before, testing in ZDoom, only to have it not work in PrBoom.

Share this post


Link to post

mmhmm, sometimes it just gets annoying fighting between specific engine quirks & how they handle dehacked stuff. in this case, eternity & zdoom don't seem to have any problems with it, but prboom spits out an error, and crispy just says fuck you and closes without warning. it was a similar situation with testing the BrainSpit turret, where different engines handled SkullAttack in slight ways that introduced frustrating inconsistencies in how the whole thing worked between different engines.

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
×