Btyb88 Posted January 20, 2020 Been messing around with dehacked lately and thought I'd throw a few of them on here for people to use, take inspiration from, or tell me it's old news! MBFCompPlayer.rar - An example of a moving/attacking monsters (or bot) that uses appropriate movement frames. It's also a pretty useful bot to practice against. Tested in PrBoom+ complevel 11. MultipleRez.rar - A proof of concept that shows multiple monsters being able to resurrect like the Archvile. The animation isn't great but I'm sure it could be cleaned up. It would also work even better if both monsters that resurrect shared similar sprites, for example, the Archvile and Diabolist. Tested in PrBoom+ complevel 2. Inspired by this topic. BrainSpitAttack.rar - Turns the BrainSpit into a new attack. In this case, the new Archvile (replacing the SpiderDemon) fires out multiple explosive cubes that drop fire along their path. Pretty sure I got some or all inspiration from this topic. Either way credit to them for thinking of it. This can just be a reminder that it's possible to do. Tested in PrBoom+ complevel 2 and 11. Complevel 2 seems to work just fine but without the fire spawning under the cubes. Hopefully these are in someway helpful to anyone looking to use more dehacked options. 22 Share this post Link to post
Bees With Teeth Posted January 21, 2020 This is great! I've been messing around with dehacked too - When I get a chance I'll post some of my discoveries. 2 Share this post Link to post
Btyb88 Posted January 21, 2020 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. 2 Share this post Link to post
Doomkid Posted January 21, 2020 This thread really should be in Doom Editing, mainly because pages fall off wads & mods so fast. 2 Share this post Link to post
Btyb88 Posted January 21, 2020 If better suited over there then yeah. How do I go about getting it over there? 1 Share this post Link to post
Bees With Teeth Posted January 24, 2020 (edited) 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 January 24, 2020 by Bees With Teeth 4 Share this post Link to post
Btyb88 Posted January 25, 2020 Never thought to do that, but then again I usually stick with MBF-dehacked as I'm a sucker for extra frames and actions. 1 Share this post Link to post
Krull Posted January 26, 2020 (edited) . Edited September 2, 2023 by Krull 2 Share this post Link to post
Gokuma Posted January 26, 2020 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. 1 Share this post Link to post
Linguica Posted January 26, 2020 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. 5 Share this post Link to post
Finny Posted February 6, 2020 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. 2 Share this post Link to post
VGA Posted February 7, 2020 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. 3 Share this post Link to post
Finny Posted February 10, 2020 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. 2 Share this post Link to post
Btyb88 Posted February 10, 2020 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! 1 Share this post Link to post
Krull Posted February 10, 2020 (edited) . Edited September 2, 2023 by Krull 1 Share this post Link to post
Finny Posted February 10, 2020 (edited) 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 February 10, 2020 by Finny 0 Share this post Link to post
Btyb88 Posted February 10, 2020 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. 0 Share this post Link to post
Btyb88 Posted February 10, 2020 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. 0 Share this post Link to post
Finny Posted February 10, 2020 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. 0 Share this post Link to post
Btyb88 Posted February 10, 2020 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. 1 Share this post Link to post
Finny Posted February 10, 2020 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. 0 Share this post Link to post
Btyb88 Posted February 10, 2020 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. 0 Share this post Link to post
Finny Posted February 10, 2020 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. 1 Share this post Link to post
Krull Posted February 10, 2020 (edited) . Edited September 2, 2023 by Krull 1 Share this post Link to post
Finny Posted February 11, 2020 (edited) 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) 1 Share this post Link to post
Finny Posted February 11, 2020 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. 0 Share this post Link to post
Btyb88 Posted February 11, 2020 1 minute ago, Finny said: so, guess i'm ditching the shield charge attack after all, heh. Enter in the stationary shield idea! 0 Share this post Link to post
Finny Posted February 11, 2020 (edited) 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. 0 Share this post Link to post
Btyb88 Posted February 11, 2020 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. 0 Share this post Link to post
Finny Posted February 11, 2020 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. 1 Share this post Link to post