Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Align damage animation with newer KH games #2

Open
fatcerberus opened this issue Feb 15, 2017 · 3 comments
Open

Align damage animation with newer KH games #2

fatcerberus opened this issue Feb 15, 2017 · 3 comments

Comments

@fatcerberus
Copy link
Owner

Kingdom Hearts II, which the gauge is based on, uses a "fade out" effect for the damaged portion of the bar. Newer games in the series instead have the damaged section "drain" out instead, which is overall more aesthetically pleasing.

The fade-out effect also has the issue that if the gauge receives damage during a fade, the partially faded-out portion will snap back to full brightness, which is jarring. The drain effect isn't susceptible to that glitch at all.

@fatcerberus
Copy link
Owner Author

One thing I'm trying to decide is whether the draining animation should be constant-speed or constant-time. The former will look "smoother" when individual damage events vary in magnitude, but has the disadvantage that large amounts of instantaneous damage--say, multiple bars' worth--will take a while to drain out, which may be distracting.

@fatcerberus
Copy link
Owner Author

So I studied the behavior of the enemy HP gauge in KH 0.2 (the newest game in the series). It seems to behave very much like the original KH2 gauge:

  • Damaged portions are converted from green to red instantaneously.
  • When a combo ends, the red portion fades out.
  • If another combo is started before the fade-out finishes, it gets canceled and the red portion disappears immediately. (kh2Bar differs here, as noted above)

The enemy HP gauge in Dream Drop Distance (both the 3DS and PS4 versions) behaves a bit differently:

  • The red portion drains out gradually after a combo ends.
  • If a new combo is started, the draining animation is paused and damage continues to accumulate. It then resumes draining from the point it last paused at.

Overall I would say I prefer the DDD behavior. The KH2 behavior ends up looking sloppy in a fast-paced battle since the fading animation keeps getting canceled.

@fatcerberus
Copy link
Owner Author

I checked KH 0.2 again, it seems I was wrong. It behaves pretty much identically to the DDD gauge. That'll teach me to try to use a blurry YouTube video to make out fine details like health gauge animations. :o)

Anyway, the canonical behavior ultimately seems to be:

  • Damage during a combo accumulates.

  • When a combo ends, the damaged portion drains out. This happens fairly quickly, but appears to be linear (constant speed). Any reserve slots included in the damage fade out--only the visible bar is subject to the draining animation.

  • This was hard to ascertain because the bar drains out so quickly, but it appears that starting a new combo doesn't cancel the animation--it continues to drain up to the start of the current combo's damage.

Implementing the canonical behavior will require some refactoring to the rendering logic, but it shouldn't be too difficult. Mainly it's just a matter of tracking draining animations individually for each combo.

I want this to look authentic, damn it! 🤓

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant