Jump to content

Vanilla Doom smooth weapons


fraggle

Recommended Posts

That's incredible!

 

And I completely don't understand how it works!  Forgive me for the basic question, but my understanding of Dehacked was you had to borrow frames from elsehwere. Where did you manage to find so many extra frames?

Share this post


Link to post
20 minutes ago, Bauul said:

And I completely don't understand how it works!  Forgive me for the basic question, but my understanding of Dehacked was you had to borrow frames from elsehwere. Where did you manage to find so many extra frames?

This was indeed probably the biggest challenge with porting this to vanilla. DEH9000, my Python library for generating Dehacked patches, has a built-in set of reclaim strategies that can make subtle (or invisible) changes to Doom's frames table to get you 100+ extra frames. The strategies become more invasive and visible the more you request, but the ones used for this patch are subtle enough that you probably won't notice.

 

There's some more details in the DEH9000 user guide here.

Share this post


Link to post

Great job!

 

My only nitpick is Plasma Rifle. It feels static when firing, and plasma balls are dark at the borders. Is it intended?

Share this post


Link to post
15 minutes ago, m8f said:

My only nitpick is Plasma Rifle. It feels static when firing, and plasma balls are dark at the borders. Is it intended?

Do you mean in the video? That's probably just the BTSX palette. The mod itself doesn't change the plasma balls.

 

As far as the plasma rifle looking static when firing, I think this is consistent with the original animation and this is intended to stay close to the original.

Share this post


Link to post

Nice, but I really prefer the earlier iteration of these animations where the front of the bfg doesn't oscillate.  Very interesting to see that there are so many frames hanging around to cannibalize.. Vanilla + modern tooling and techniques just keeps getting better and more intriguing.

Share this post


Link to post

Oops. Please don't mind me. I got so used to GZDoom that I forgot that there is no translucency in the original game.

In PrBoom+ and Chocolate Doom plasma balls are identical with and without smooth weapons indeed. The difference is visible only in GZDoom:

Spoiler

35cNNMV.png

 

And this mod makes it look more vanilla.

 

Thanks for making this mod!

Share this post


Link to post

When I discovered this earlier in the year I reported this. I don't know if you've already seen it, but if you haven't, I understand because you often seem pretty busy.

Quote

I've tried this with ZDoom and the chainsaw still seems to be having problems. When I attack with it, DSSAWFUL plays in its entirety, with no DSSAWIDL afterward, and then the jittering the decorate entry was supposed to prevent comes back.

 

Another thing I've noticed about playing in ZDoom is that pistol pickups no longer work, which can break some wads like Shadows of the Nightmare realm where players have the pistol taken away from them for one reason or another and have to find a new one.

Since then I've come up with a solution to the pistol issue, and it's as simple as adding this to the decorate:

actor SmoothPistolPickup : CustomInventory replaces Pistol
{
  Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED"
  Inventory.Pickupsound "misc/w_pkup"
  states
  {
  Spawn:
   PIST A -1
   stop
  Pickup:
   TNT1 A 0 A_GiveInventory ("Pistol")
  }
}

 

Share this post


Link to post

@fraggle deh9000, is the final output still a .deh, or does it have a bit more clout? It does look like one of the most useful tools out for editing/modding in a good while.

 

Still one hell of an achievement getting this to work with vanilla, very impressed.

Share this post


Link to post
5 hours ago, fraggle said:

there's a quirk with Nightmare mode that I haven't quite resolved yet

 

Maybe I or someone can help, tell us all you know about it.

Share this post


Link to post
4 minutes ago, scifista42 said:

Maybe I or someone can help, tell us all you know about it.

I've been testing this feature using statcheck - I basically played back all Compet-N demos with vsmooth.wad/.deh loaded and checked for desyncs. Most demos play back correctly (I found some bugs which I fixed), but the remaining desyncs seem to be exclusively on the demos recorded on Nightmare difficulty for some reason. I suspect it's maybe related to how Doom changes certain frame speeds to speed up the Demon, but I haven't dug into it much yet.

Share this post


Link to post

The true nature of Dehacked unfolded.

I wonder is this possible with Heretic HHE's.

Edited by riderr3

Share this post


Link to post
1 hour ago, fraggle said:

I suspect it's maybe related to how Doom changes certain frame speeds to speed up the Demon,

 

I doubt it, your DEHACKED patch doesn't change any Demon-related frames. However, I can see right away that:

  • The patch completely removes Pain Elemental's resurrection animation, which prevents the Pain Elemental from being resurrected as a ghost if its corpse gets crushed into gibs before its death animation completes.
  • The patch changes the overall duration of some monster's death animations, which can change at which particular moment they will respawn on Nightmare or otherwise with monster respawn enabled. EDIT: Actually, if there's an Archvile near the monster right when its death animation is about to finish, it can change at which particular moment the monster will be resurrected, on any difficulty level.
Edited by scifista42

Share this post


Link to post
18 hours ago, scifista42 said:

The patch completely removes Pain Elemental's resurrection animation, which prevents the Pain Elemental from being resurrected as a ghost if its corpse gets crushed into gibs before its death animation completes.

I didn't even know this could happen. Amazing how even after years I still keep learning things.

 

18 hours ago, scifista42 said:
  • The patch changes the overall duration of some monster's death animations, which can change at which particular moment they will respawn on Nightmare or otherwise with monster respawn enabled. EDIT: Actually, if there's an Archvile near the monster right when its death animation is about to finish, it can change at which particular moment the monster will be resurrected, on any difficulty level.

Yeah, now that I think about it, it's almost certainly because of the Nightmare respawning logic. I'll see if disabling those particular hacks fixes the desyncs.

 

Thanks, this is really insightful.

Share this post


Link to post

Posting just to say deh9000 looks like it could be super useful.

 

I'm surprised you didn't know about ghost PEs. For some reason I think of that as a relatively wellknown bit of engine trivia. I guess doom just has so many weird quirks that no one knows all of them :)

Share this post


Link to post
On 9/19/2018 at 10:57 AM, fraggle said:

This was indeed probably the biggest challenge with porting this to vanilla. DEH9000, my Python library for generating Dehacked patches, has a built-in set of reclaim strategies that can make subtle (or invisible) changes to Doom's frames table to get you 100+ extra frames. The strategies become more invasive and visible the more you request, but the ones used for this patch are subtle enough that you probably won't notice.

 

There's some more details in the DEH9000 user guide here.

Great job on the patch, and wow, I love the DEH9000 capabilities. I've had a project idea on the back burner for years - a Dehacked GUI that hides the frame number layer of complexity from the user. Without your approach, it's just not practical. But with the idea of choosing the least-invasive frames first, it becomes feasible. Furthermore, the functions you've built are just very cool. Nice job!

 

On 9/19/2018 at 4:40 PM, scifista42 said:

 

I doubt it, your DEHACKED patch doesn't change any Demon-related frames. However, I can see right away that:

  • The patch completely removes Pain Elemental's resurrection animation, which prevents the Pain Elemental from being resurrected as a ghost if its corpse gets crushed into gibs before its death animation completes.
  • The patch changes the overall duration of some monster's death animations, which can change at which particular moment they will respawn on Nightmare or otherwise with monster respawn enabled. EDIT: Actually, if there's an Archvile near the monster right when its death animation is about to finish, it can change at which particular moment the monster will be resurrected, on any difficulty level.

This is quite clever!

 

10 hours ago, Linguica said:

Playing with this again made me take a quick crack at making the plasma rifle's recoil look a little more natural:

 

fart1.giffart2.gif

 

It would be nice if an artist took the time to make a couple more tweens in between the normal state and the original recoil frame, instead of having extra frames overexaggerating it.

I have a hard time seeing the difference already being done with this patch. The one on the left is the enhanced version, right?

Also, I have difficulty visualizing what you suggest. Do you mean adding images inbetween, when the gun raises up diagonally toward the player?

Share this post


Link to post

I think Linguica's fixed version is on the right. I agree that the one in fraggle's video looks a bit too smooth (heh), almost as if Doomguy is just doing a little dance with the gun every time he stops firing. Whereas the one on the right looks more like an actual sudden recoil kick.

Share this post


Link to post
17 hours ago, Magnusblitz said:

I think Linguica's fixed version is on the right. I agree that the one in fraggle's video looks a bit too smooth (heh), almost as if Doomguy is just doing a little dance with the gun every time he stops firing. Whereas the one on the right looks more like an actual sudden recoil kick.

Oops. Well, there you go - I can't tell the difference. It seems like the left one has more frames in the gun-lifting sequence. But, maybe the frames are faster on the right?? So, they are both enhanced over vanilla? I should be able to tell that...

 

I guess I could say that:

Left: Looks more fluid, which is a good thing

Right: Looks more realistic, which is a good thing.

 

Again, after looking at them for a few seconds, I can't tell which one looks better.

 

So, @Linguica, 3 questions:

  1. How did you make the GIF (edit the frames, or just video manipulation)?
  2. What do you think would improve the weapon patch as-is?
  3. Is one of the above images your idea of best improvement, and, if so, which one? (Sorry, I really can't tell...)

 

Share this post


Link to post

I edited the frame offsets and the DEH frame sequence / timing (well, the source decorate...). until it looked more like recoil and less like an unnatural gun twist.

Share this post


Link to post
4 hours ago, Linguica said:

I edited the frame offsets and the DEH frame sequence / timing (well, the source decorate...). until it looked more like recoil and less like an unnatural gun twist.

So..., your edit is on the right side?

Share this post


Link to post
On 9/20/2018 at 8:53 AM, fraggle said:

I didn't even know this could happen. Amazing how even after years I still keep learning things.

 

Yeah, now that I think about it, it's almost certainly because of the Nightmare respawning logic. I'll see if disabling those particular hacks fixes the desyncs.

 

Thanks, this is really insightful.

 

 

Ghost PE Demo:

http://doomedsda.us/lmps/282/9/cgas-gpe.zip

 

Map:

http://doomedsda.us/lmps/282/cga_sp.zip

 

The first time I saw this it blew my socks off.  I just could not believe it.

Share this post


Link to post
On 9/19/2018 at 9:57 AM, fraggle said:

the DEH9000 user guide here.

I noticed an error:

max_health   Max Health   Maximum health that can be reached using medikits alone.

In fact it applies only to potions, limiting the value to which potions can increase health (default = 200). Potions will also decrease your health to this value if you are above it (so you can become a zombie if it is set to zero).

 

More information (including how the Boom team got it wrong) here and here. The Boom team's error was perhaps due to the fact that there is also a constant called MAXHEALTH, which is hard-coded to 100 and can't be changed via dehacked.

 

Edited by Grazza

Share this post


Link to post
On 9/22/2018 at 5:04 PM, Grazza said:

I noticed an error:


max_health   Max Health   Maximum health that can be reached using medikits alone.

In fact it applies only to potions, limiting the value to which potions can increase health (default = 200). Potions will also decrease your health to this value if you are above it (so you can become a zombie if it is set to zero).

 

More information (including how the Boom team got it wrong) here and here. The Boom team's error was perhaps due to the fact that there is also a constant called MAXHEALTH, which is hard-coded to 100 and can't be changed via dehacked.

 

Heh, that sounds like an interesting hazard. Poisonous potions that can take you down to 1%.

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...