Fix some ranged attack animation bugs #587

Merged
NQNStudios merged 8 commits from fix-ranged-anim into master 2025-02-15 21:03:51 +00:00
NQNStudios commented 2025-02-09 05:30:06 +00:00 (Migrated from github.com)

I need to keep testing this.

Fix #582
Fix #97

I need to keep testing this. Fix #582 Fix #97
CelticMinstrel (Migrated from github.com) reviewed 2025-02-09 15:33:38 +00:00
@@ -120,6 +120,22 @@ rectangle explode_place_rect[30];
CelticMinstrel (Migrated from github.com) commented 2025-02-09 15:33:37 +00:00

Wait… weren't the point buttons removed from the terrain screen sheet? We probably don't even need this line anymore?

Wait… weren't the point buttons removed from the terrain screen sheet? We probably don't even need this line anymore?
NQNStudios (Migrated from github.com) reviewed 2025-02-09 15:40:02 +00:00
@@ -120,6 +120,22 @@ rectangle explode_place_rect[30];
NQNStudios (Migrated from github.com) commented 2025-02-09 15:40:02 +00:00

I'm not sure what "point buttons" refers or referred to.

I'm not sure what "point buttons" refers or referred to.
NQNStudios commented 2025-02-09 15:41:12 +00:00 (Migrated from github.com)

Recentering on the target after the missile goes off the edge seems to work... but there are some cases where recentering before the animation starts, on a tile between the origin and the destination, could make it so the whole animation fits on the screen. I think that should be the first choice behavior.

Recentering on the target after the missile goes off the edge seems to work... but there are some cases where recentering *before* the animation starts, on a tile between the origin and the destination, could make it so the whole animation fits on the screen. I think that should be the first choice behavior.
CelticMinstrel (Migrated from github.com) reviewed 2025-02-09 16:28:17 +00:00
@@ -120,6 +120,22 @@ rectangle explode_place_rect[30];
CelticMinstrel (Migrated from github.com) commented 2025-02-09 16:28:16 +00:00

Literally the thing mentioned in the comment on this line. (Apparently I forgot the -ing when I wrote that comment.) They are the little blue arrows that appear when you're able to scroll the terrain view.

Literally the thing mentioned in the comment on this line. (Apparently I forgot the -ing when I wrote that comment.) They are the little blue arrows that appear when you're able to scroll the terrain view.
NQNStudios (Migrated from github.com) reviewed 2025-02-09 16:32:33 +00:00
@@ -120,6 +120,22 @@ rectangle explode_place_rect[30];
NQNStudios (Migrated from github.com) commented 2025-02-09 16:32:33 +00:00

I got that it was the same thing, just not that it was the blue arrows.

I got that it was the same thing, just not that it was the blue arrows.
CelticMinstrel (Migrated from github.com) reviewed 2025-02-09 16:36:51 +00:00
@@ -120,6 +120,22 @@ rectangle explode_place_rect[30];
CelticMinstrel (Migrated from github.com) commented 2025-02-09 16:36:50 +00:00

Those arrows used to be attached to the bottom of terscreen.png. They aren't anymore.

Those arrows used to be attached to the bottom of terscreen.png. They aren't anymore.
NQNStudios commented 2025-02-14 20:00:51 +00:00 (Migrated from github.com)

I'm ready to recommend merging this. There is one more bug I want to fix in ranged animations but it already existed without my changes, eludes fixing after many attempts to debug, and I don't want to let the fixes in this branch go stale because I can't figure that one out at the moment.

This video shows the current master branch running combat with a variety of ranged animations at Slow game speed:

https://youtu.be/I6P-Gy1JARk

It demonstrates #97, #582, and #602 (the bug I mentioned I haven't fixed yet.)

This video shows my updated animation code running the replay of the same combat sequence:

https://youtu.be/XeL1KjWEMhY

You can see #97 and #582 fixed.

There's also behavioral changes in how the view is framed:

old new
When player missile anims start, the missile flies from off-screen if the current camera view doesn't show the active PC When a player missile animation starts, the camera always moves to show the player's attack/cast animation and the origin of the missile
When enemy missiles fly off-screen, the camera stays in the same place so you often don't see where the missile lands. For both player and enemy missile attacks, the camera will pan to a location which better showcases the missile's destination before it lands and the boom happens. This pan happens halfway through the missile's flight, OR when the missile being tracked goes off-screen.
When a PC fires multiple missiles, the camera stays where it was when you select the last target. You might not see the majority of your missiles land. When a PC fires multiple missiles, the game calculates a frame that shows the highest amount of targets and their booms. A missile heading toward the desired frame is tracked, and the pan will happen early if this missile goes out of frame earlier than halfway through the animation duration. (Now, it could be argued that it should always track and show the destination of the last missile that's targeted, but even so, I think it should aim to show as much carnage as it can.)

(Sorry the quality of the videos is terrible.)

I'm ready to recommend merging this. There is one more bug I want to fix in ranged animations but it already existed without my changes, eludes fixing after many attempts to debug, and I don't want to let the fixes in this branch go stale because I can't figure that one out at the moment. This video shows the current master branch running combat with a variety of ranged animations at Slow game speed: https://youtu.be/I6P-Gy1JARk It demonstrates #97, #582, and #602 (the bug I mentioned I haven't fixed yet.) This video shows my updated animation code running the replay of the same combat sequence: https://youtu.be/XeL1KjWEMhY You can see #97 and #582 fixed. There's also behavioral changes in how the view is framed: |old|new| |---|---| |When player missile anims start, the missile flies from off-screen if the current camera view doesn't show the active PC|When a player missile animation starts, the camera always moves to show the player's attack/cast animation and the origin of the missile| |When enemy missiles fly off-screen, the camera stays in the same place so you often don't see where the missile lands.|For both player and enemy missile attacks, the camera will pan to a location which better showcases the missile's destination before it lands and the boom happens. This pan happens halfway through the missile's flight, OR when the missile being tracked goes off-screen.| |When a PC fires multiple missiles, the camera stays where it was when you select the last target. You might not see the majority of your missiles land.|When a PC fires multiple missiles, the game calculates a frame that shows the highest amount of targets and their booms. A missile heading toward the desired frame is tracked, and the pan will happen early if this missile goes out of frame earlier than halfway through the animation duration. (Now, it could be argued that it should always track and show the destination of the last missile that's targeted, but even so, I think it should aim to show as much carnage as it can.)| (Sorry the quality of the videos is terrible.)
NQNStudios commented 2025-02-14 20:09:54 +00:00 (Migrated from github.com)

I can't currently stage the replay for you to conveniently run it yourself because of the problem with test scenarios mentioned in #601. However, here is the Ranged Arena scenario compressed:

ranged-arena.zip

I can't currently stage the replay for you to conveniently run it yourself because of the problem with test scenarios mentioned in #601. However, here is the Ranged Arena scenario compressed: [ranged-arena.zip](https://github.com/user-attachments/files/18804152/ranged-arena.zip)
Sign in to join this conversation.
No description provided.