Jump to content

Stupid Dehacked Tricks


Recommended Posts

Would a limit raising exectuable like Doom-Plus mitigate the issue, or do you need a further hack extension for this in terms of heapsize or lump stack?

 

I.R.Dumb question, i know.

 

Another chapter in Linguica's Codex Of Doom.

Share this post


Link to post

The effects of these DEHs are probably extremely non memory safe. God knows what memory it's stomping on when it runs, I haven't tested it much. That is left as an exercise for the reader.

Share this post


Link to post

I saw a related trick in a Doom 2 v1.666 mod called "RJDoom" which had a teleporting archvile called "Lucifer". The vile would cycle its walking states through the demon spawn fire frames (which also call A_Fire). This caused the monster to teleport at random locations, sometimes impossible ones (such as below the floor), sometimes crashing Doom. Now I'm thinking it may be trying to teleport to long-gone (and memory-invalid) archvile flame objects. I may have tried this in Ultimate Doom but the monster would no longer teleport, but perhaps it didn't fulfill the sight condition.

 

Share this post


Link to post
22 minutes ago, Linguica said:

 

 

If I do SKELMISSILE and then have the fireball do VILETARGET, it sets the tracer for the revenant missile to a flame on top of the revenant, which makes it boomerang back, or sometimes get stuck in a loop.

 

BOOMRANG.DEH.zip

A monster with a "fire field" which hurt you if you get too close is something worth working on, IMO

Share this post


Link to post
17 hours ago, Angry Saint said:

A monster with a "fire field" which hurt you if you get too close is something worth working on, IMO

 

So something like this?

 

ghDnYKx.gif

 

FLAMES.DEH.zip

 

Share this post


Link to post

I'd only scrolled down enough to see the top of that last gif and legit thought it was from Hexen. It looks incredible. 

 

edit: to add on to SilverMiner's question, is that Crispy Doom? I thought this was still vanilla in the Box but i see a crosshair. I was going to try running this earlier but i was deterred by your disclaimer and didn't feel like starting up dosbox

Edited by DuckReconMajor

Share this post


Link to post

If Ling continues down this patch we end up with a legit successor to The Sky Maybe.*

 

*It would be infinitely more playable, though.

Share this post


Link to post

I have observed something very odd. I was screwing with that patch on Map16 with fast monsters. I got a revenant to make a big long fire trail, then I killed the revenant and observed the fire trails. I expected them all to last forever because they're "endlessly" circling but I was very wrong.

 

 

If you don't want to watch the whole video here is a GIF showing off the gist of it.

 

k9QctrL.gif

 

What is going on here? This is not a random walk or anything. Something is causing these endlessly circling revenant balls to occasionally "migrate" in clearly established directions.

 

My only thought is that the revenant fireball's tracer pointer is being trashed when the fire it's tracing disappears, and occasionally that memory address... gets overwritten with something relating to another one of the live and moving enemies on the map (of which Map16 has a ton)? It's very weird stuff.

Share this post


Link to post
1 hour ago, SilverMiner said:

What prog do you use to record these GIFs?

You can use OBS or FRAPS to record videos, then convert them to gif format at ezgif.com

Share this post


Link to post

@Quasar suggests that what is happening is that the constantly spawning tracer puffs eventually overwrite the memory location of the vanished archvile fire it was originally homing on, and so the fireball changes its homing target to a random tracer puff. This explains why the fireballs seem to sort of clump and migrate towards one another. It also sort of makes it a system of strange attractors which is pretty cool.

Share this post


Link to post
23 minutes ago, Linguica said:

@Quasar suggests that what is happening is that the constantly spawning tracer puffs eventually overwrite the memory location of the vanished archvile fire it was originally homing on, and so the fireball changes its homing target to a random tracer puff. This explains why the fireballs seem to sort of clump and migrate towards one another. It also sort of makes it a system of strange attractors which is pretty cool.

That gif makes up for a very Doomy take on Conway's Game of Life, with Revenant Fireballs being automatons.

Would this kind of experimentation that you are doing be of any usefulness to the VizDoom project?

Share this post


Link to post
4 hours ago, Linguica said:

What is going on here? This is not a random walk or anything.


The GIF and wording here reminded me of a scene in John Carpenter's "The Thing." Blair runs a simulation on his computer, showing how the "Thing" assimilates its victim. Blair glazing the computer screen in disbelief, then uncertainty into what the future beholds.

Share this post


Link to post

I STRONGLY suggest turning your volume way down for this one.

 

The spawn cube is the only projectile in the game that has a target set - to a spawn target, naturally. But what if the spawn target(s) followed the player around?

 

SPWNSPOT.DEH.zip

Share this post


Link to post

A few of these tricks look like they depend on dangling pointers and may not be supported even by Boom (which does Mobj reference counting), and @fraggle will have quite a task to best emulate them in Chocolate-Doom.

 

BTW, replacing the Final Boss with something else sounds like an excellent idea!

Edited by printz

Share this post


Link to post

I accidentally realized that putting the SpawnFly code pointer in an enemy's attack state will forcibly set the reactiontime to -1, and so the monster will never attack you again, unless attacked first, which resets reactiontime to 0 and lets a single attack happen in return. You can also set the monster's reaction time in Dehacked to -1 so that it will never attack first. This effectively makes a "NPC" which walks around, doesn't attack you, and will do a tit-for-tat retaliation if hit, but not with the cheesy edited pain state like I've seen.

 

I edited the trooper for a sample DEH:

 

NPC.DEH.zip

Share this post


Link to post

Give the archvile flame a negative speed, let it wake up and walk several steps with 0-length frames, then you have a spot somewhere pseudorandomly in front of the player to screw around with.

 

ut5Pvp7.gif

 

One could use this concept to make, say, damaging area denial spots pop up in front of the player randomly.

 

ARCHHELP.DEH.zip

Share this post


Link to post
57 minutes ago, Linguica said:

Geez, this was almost embarrassingly easy in comparison. Why not turn the archvile into a bona fide summoner?

 

@Noiser You might like this.

Share this post


Link to post
59 minutes ago, Linguica said:

Geez, this was almost embarrassingly easy in comparison. Why not turn the archvile into a bona fide summoner?

That's quite awesome, but don't monsters risk being blocked at spawn?

Share this post


Link to post

Not particularly, it's more robust than you'd think. Because it's an invisible archvile fire effect, it gets placed directly in front of the player. The archie fire then moonwalks itself backwards instantaneously, which means it can bump into things and change course and so forth, and its final position is by definition valid because it validly walked itself there. It only seems to really "fail" when it spawns a monster on the edge of a ledge so it's stuck in place.

Share this post


Link to post

I did see some mancubi and arachnotrons stuck on the house (tested the same dreary map)! But otherwise no monsters stuck on other monsters.

etrn04.png.6a3d089d802d6a63e6acd9b478a53444.png

But how does it manage to escape the player's own collision box?! Huge enough speed to be able to step out? What if player is surrounded everywhere? Is player ultimately going to get stuck?

Edited by printz

Share this post


Link to post

I've said in the discord already but this is all super cool, has so very much potential and I love to see it! Also, it's amazing that the fire basically legitimately 'walks' itself around to make this happen; that's extremely robust!

 

Wrt the stuck monsters: would it then be possible to adjust the size of the fire's hitbox to make it larger so bigger monsters don't get stuck in geometry (walls/ledges)? Seems a similar problem to what you'd find if you sized an area for a teleport destination then ported a large mob there.

Share this post


Link to post

The problem is that the arachnotron has a radius of 64 (compare the player's 16). I can try to foolproof it by making the archie fire bigger but it's placed 24 units away from the player so I can't make it much wider than that or otherwise it will get stuck on the player. The projectile that spawns the monster could also be of 64 radius, but that means a whole lot of fireballs ends up blowing up on nearby geometry and don't spawn anything.

Share this post


Link to post
On 5/28/2020 at 2:55 PM, Linguica said:

Variation on a theme...

 

 

OHMYGOD.DEH.zip

 

 

On 5/28/2020 at 5:19 PM, Linguica said:

idk

 

TixBfdJ.gif

 

IDK.DEH.zip

 

Linguica's over here figuring out how to make Touhou Doom run under vanilla.

Edited by Dark Pulse

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...