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

Things about Doom you just found out

Recommended Posts

 

I don't know how I missed the marching (goosestepping?) sound in this track. The video description details how the sound is made, but I seriously don't remember it. Maybe I didn't have the right sound card back then or chose a different soundfont. All I know is it adds a very menacing quality to an already unsettling track.

Share this post


Link to post
5 hours ago, zokum said:

You could have some pretty interesting boss maps if the cyber demon could pick up powerups and regain health etc.

 

It'd be amusing if monsters without a melee attack could automatically learn one by picking up a berserk, like pain elementals would defend themselves on point blank quarters, no more straightforward two-shotting cybers as it's an instant slap on the face, and the spider mastermind gives doomguy a super kick in the nuts leaving him writhing on the ground for several seconds. Vanilla compatible of course ;)

Share this post


Link to post
5 hours ago, zokum said:

In a speed run? I think you'd want it in the open to be able to constantly attack it. Still, you could make the demo more viewer friendly :D

You could have some pretty interesting boss maps if the cyber demon could pick up powerups and regain health etc.

This could be a whole new genre of harder maps / boss battles.

imagine archviles picking up an invulnerability sphere

Share this post


Link to post

 

You can do all of that with the right engine, but

1 hour ago, galileo31dos01 said:

Vanilla compatible of course ;) 

is out of the question for obvious reasons. :P

 

Share this post


Link to post
1 hour ago, cambreaKer said:

imagine archviles picking up an invulnerability sphere

 

Imagining you had to compete for all of the pickups with monsters amuses me.

Share this post


Link to post

It'd be fun if someone made a map like that...

Of course that'd also require adding some pathfinding AI so that the monsters actively seek out the powerups and not just if they randomly stumble over them.

 

 

Share this post


Link to post

Are you sure this "monster picks up things" by @Randy87 is something new? I remember, and I am sure*, that Matthias Worch wanted his super 250 HP trooper to pick up things, but abandoned the idea once in MAP08 from TTP the guy was constantly stealing the blue key from the player, so that the map could not be finished. Or is it because hacking savegames is a different category than dehacked (I think that was the way Matthias was trying to choose).

 

*It is somewhere here, but I don't want to watch it again now ATM...

 

Share this post


Link to post
10 minutes ago, vdgg said:

Or is it because hacking savegames is a different category than dehacked

It absolutely is.

Share this post


Link to post
6 hours ago, Graf Zahl said:

 

You can do all of that with the right engine, but

8 hours ago, galileo31dos01 said:

Vanilla compatible of course ;)

is out of the question for obvious reasons. :P

 

 

We'll see if that still holds true in 2030. At this point, I'd rather be more skeptical of skepticism.

Share this post


Link to post

I would love to see vanilla Doom mods that use a PWAD + DEH + hacked savegame, I bet you could make some ludicrous stuff.

 

Also as a savegame is effectively just a serialized copy of the thinker list + map state data, a port like GZDoom *could*, theoretically, read the savegame file and use its own code to spawn all the appropriate actors in all their appropriate states.

Share this post


Link to post
39 minutes ago, Linguica said:

Also as a savegame is effectively just a serialized copy of the thinker list + map state data, a port like GZDoom *could*, theoretically, read the savegame file and use its own code to spawn all the appropriate actors in all their appropriate states.

yeah, it is possible to reconstruct game state from a vanilla save. but the amount of work is HUGE, and the usability of the feature is very questionable.

 

besides, some port may not even spawn player objects for missing players, so there is nothing to connect those monsters with (at least k8vavoom doesn't spawn unused clients). reimplementing this trick in decorate (by adding some new flags and apis) is much more straightforward.

 

but i got the idea: debug ccmd to put camera into the eyes of some monster.

Share this post


Link to post
10 minutes ago, ketmar said:

but the amount of work is HUGE, and the usability of the feature is very questionable.

Indeed. But that's the tradeoff when a port distances itself from how Doom works internally, taking a high-level approach. It feels like there's been a resurgence lately of interest in the low-level stuff, like COLORMAP hacks, Linguortals, and now this. Challenges.

Share this post


Link to post

Amazing stuff! It's pretty exciting to see these new tricks getting discovered.
I think it's possible todo some interesting fight scenarios using clever map design and maybe some dehacked ideas as well

Edited by Noiser

Share this post


Link to post

Regarding that save game hack, it surprises me that any of it works but now seeing it does, and not looking at the Doom source code ever,

 

- What happens if a specter picks up an invisibility sphere and then 30s later it wears off, do they become a demon? Are they just demons flagged to be invisible with no timer and the pickup would trigger a timer that eventually removes the flag?

- Do monsters have armor points in their structs? Does picking up armor actually increase this value or does it just consume the resource with nothing gained

- Similarly, do monster hitpoints actually increase with picked up health or is it just consuming the resource for nothing

- Can a monster pickup a weapon and will it autoswitch if it’s higher quality or is this autoswitching logic handled from the player’s UI/hud management and not the pickup act itself

- Maybe this negates the whole trick but can you link other players to voodoo dolls of the actual player? Or I guess maybe that’s just voodoo dolls with more steps, not sure if there’s anything there that could be weird though

- Do monsters have ammo checks or infinite ammo? If it’s ammo checks with some max int situation could you overflow that when picking up ammo and make them actually have reasonable finite amount of ammo? IE they have maxuint32 ammo (if never fired) and you give them a clips worth overflowing them around to only having a clip of ammo. I assume this won’t work and ammo checks or even the concept of firing a weapon being depletionary just doesn’t exist for monsters but spitballing because maybe somehow that gets intertwined with the zombie coop players inventory checks.


I’m sure I’ll think of more, it’s always crazy to see this stuff. Reading about vanilla trickery was one of my favorite things to do as a kid back in the early 2000s and back then I barely understood the concept of the engine limitations from a software perspective but things like that always provide some amount of wonder after you kind of grow up and realize everything was created with intent by someone and the magic starts to fade. Like when I was a kid I’d no clip for hours in all my games thinking I’d find something no one had seen because kids are dumb and don’t understand there isn’t anything else out there but stuff like this kind of returns to the uncharted territory excitement where there actually is something emergent and not architected.

 

I’m going to @Linguica and @Randy87 I’m sorry if this is spammy but I’m super excited haha

Edited by insertwackynamehere

Share this post


Link to post
20 minutes ago, insertwackynamehere said:

Regarding that save game hack, it surprises me that any of it works but now seeing it does, and not looking at the Doom source code ever,

Guessing based on what I've learned about how actor states work:

  • I think the spectre's appearance is a hardcoded effect. Even if the powerup wears off, it'll probably retain its invisibility effect.
  • Monsters don't have an inventory in the usual sense; their attacks are built into their States rather than deriving from an equipped weapon or similar, nor do they consume ammo. For example: zombieman sees player, goes into attack state, which does animations and spawns a bullet; there's no reference to ammo or anything, since they can just keep shooting forever if you let them. Case in point, the "Cyberdemon's perspective" video upthread, where the cyberdemon "player" is still holding a pistol even as it shoots rockets.

Dunno about the other things.

🤔 Though I wonder what would happen if you launched this as a networked co-op game and a (human) player joins...

Share this post


Link to post
44 minutes ago, insertwackynamehere said:

- What happens if a specter picks up an invisibility sphere and then 30s later it wears off, do they become a demon? Are they just demons flagged to be invisible with no timer and the pickup would trigger a timer that eventually removes the flag?

Yes, I think so.

44 minutes ago, insertwackynamehere said:

- Do monsters have armor points in their structs? Does picking up armor actually increase this value or does it just consume the resource with nothing gained

The thing is that the whole hack works by attaching a player to the monster, so the monster will have armor working normally.

Quote

- Similarly, do monster hitpoints actually increase with picked up health or is it just consuming the resource for nothing

I think it'll work, provided the monster has less than 100 hit points. (Or less than 200 for the magical health things.)

Quote

- Can a monster pickup a weapon and will it autoswitch if it’s higher quality or is this autoswitching logic handled from the player’s UI/hud management and not the pickup act itself

- Maybe this negates the whole trick but can you link other players to voodoo dolls of the actual player? Or I guess maybe that’s just voodoo dolls with more steps, not sure if there’s anything there that could be weird though

- Do monsters have ammo checks or infinite ammo? If it’s ammo checks with some max int situation could you overflow that when picking up ammo and make them actually have reasonable finite amount of ammo? IE they have maxuint32 ammo (if never fired) and you give them a clips worth overflowing them around to only having a clip of ammo. I assume this won’t work and ammo checks or even the concept of firing a weapon being depletionary just doesn’t exist for monsters but spitballing because maybe somehow that gets intertwined with the zombie coop players inventory checks.

For weapons and ammo, no. Hacked monsters can probably pick them up, but not use them. It's a different thing. Monster act according to their mobj state (they're effectively state automatons), and weapons are a separate state automaton activated by player input. Monsters, even with a fake player attached, do not have a mechanism for creating inputs. They'll just behave as always. Basically, they'll pickup ammo and weapons like normal players, but won't use them.

For voodoo dolls, a mobj can only be attached to one player at a time. (But a player can be attached to several mobjs, which is how voodoo dolls are possible.) You can't have a single doll that is voodoo for all players.

 

25 minutes ago, Rainne said:

I think the spectre's appearance is a hardcoded effect. Even if the powerup wears off, it'll probably retain its invisibility effect.

The spectre's appearance isn't hardcoded, it's just down to having the MF_SHADOW flag. You can remove it with DEHACKED. Or you can add it to other things. Imps, cacodemons, tall tech pillars... The invisibility effect works by giving the MF_SHADOW flag, starting a countdown, and then removing the MF_SHADOW flag. You can try this experiment, too: using DEHACKED, give the player mobj type the MF_SHADOW flag, so you're partially invisible all the time, then see what happens when you pick up a blursphere and you wait a bit. (Note: you'll also lose the SHADOW flag after finishing a level.)

Share this post


Link to post
21 hours ago, ketmar said:

besides, some port may not even spawn player objects for missing players, so there is nothing to connect those monsters with (at least k8vavoom doesn't spawn unused clients). reimplementing this trick in decorate (by adding some new flags and apis) is much more straightforward.

 

Some ports also use polymorphism and require special classes for players. In ZDoom based ports all player actors must inherit from PlayerPawn, and if you put something else in such a slot by force, happy crashing.

 

Share this post


Link to post
47 minutes ago, Rainne said:

I think the spectre's appearance is a hardcoded effect. Even if the powerup wears off, it'll probably retain its invisibility effect.

The partial invisibility gives and takes the MF_SHADOW flag, it seems, so it may very well turn it into a normal pinky.

 

https://github.com/id-Software/DOOM/search?q=mf_shadow&unscoped_q=mf_shadow

 

edit: has anyone tested this with boom/prboom+?

Edited by Tartlman

Share this post


Link to post

with a savegame you can also modify a level
I'm not sure how, but with enough corruption if you load the savegame the level will have random textures
This should work in Vanilla Doom

Share this post


Link to post
8 hours ago, Kizoky said:

with a savegame you can also modify a level
I'm not sure how, but with enough corruption if you load the savegame the level will have random textures
This should work in Vanilla Doom

 

This has been done as a proof of concept recently, IIRC. In addition to that, you can put together savegames that result in game states that are otherwise totally impossible without modifying the executable, including:

  • Players with negative health
  • Players holding/switching to weapons they don't own
  • Players that do not possess the pistol
  • Players that cannot use or switch their weapon, or do not have any weapons at all
  • Players that cannot move for an extended period of time
  • Players with an out-of-range playerstate, which strangely makes it so when you go into a sector with a lower floor, it lowers your view, but going into a sector with a higher floor doesn't raise your view, so navigating the level results in your camera sinking deeper and deeper beneath the floor.
  • Saves where pickups like medkits are actually boobytrapped and will explode on contact
  • Saves where projectiles are flying through the air, only to turn into some other object when hitting the wall, like a dying zombieman.
  • Elevators that go impossibly fast (or in the wrong direction), lights that strobe impossibly fast or turn on for a set period of time and then turn off indefinitely
  • Mobjs with an out-of-bounds player number (no clue what this would do, will have to test on DosBox)

exploding-pickups-e1m1.zip

Share this post


Link to post

I finally figured out what all switches on Doom 2's MAP26 do. The one at the end of the red key ledge just closes the door for some reason, so that you have to open it with the other switch there unless you take the teleporter instead. The switch in one of the cacodemon closets before the baron exists to open the red key door (which has to be opened beforehand anyway, and never closes) and the secret door leading to the plasma gun (which can also be opened manually, so that's only useful if you don't know about that).

 

Also the exit lines on that map are just a small square, making it very easy to stand on the sky if you approach the exit hole from the side.

Share this post


Link to post
10 hours ago, Scypek2 said:

The switch in one of the cacodemon closets before the baron exists to open the red key door (which has to be opened beforehand anyway, and never closes)

 

And it's like a regular switch? I guess they intended to make the door close, but forgot to do it. Well, we all know who created the map anyways. Still, this proves the concept of locked door switches had been an idea in Doom 2, but I don't know why they cancelled it. Maybe that's also the reason they exist only for doors - because John Romero didn't write codes for locked elevators. 

Share this post


Link to post

After done testing a new custom monster on GZDoom, i was screwing around with the console, at first i typed "give health 1000000" to see if it can give this much health to the player, then i wanted to see what's the limit, so i typed "give health 1000000000000000000000000000000" and instead of an error message or reseting health to 100%, it actually turned doomguy into a dead man walking with negative 2 billion health. I couldn't do anyting but walk or jump, couldn't commit reverse suicide because the "resurrect" command doesn't work, "kill" also doesn't work, neither "take health". Quite fun.

SSMCo3J.png

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
×