cxong / cdogs-sdl

Classic overhead run-and-gun game
https://cxong.github.io/cdogs-sdl/
GNU General Public License v2.0
891 stars 114 forks source link

Moving health gauge animation #360

Closed cxong closed 7 years ago

cxong commented 9 years ago

When you gain or lose an amount of health, briefly show the old and new health levels, then animate the old level away.

For example, in Diablo, when you drink a health potion, your health doesn't immediately fill; a faded-red background is added, and your real health gradually climbs up to that level.

Similarly, in Bloodborne, your new health level is indicated first, and your real health moves until it matches the indicator, which then disappears.

This gives the player a moment to see and appreciate how much health has changed.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

cxong commented 8 years ago

Other ways to enhance the HUD, specifically to make the important parts visible even in peripheral vision:

cxong commented 8 years ago

@flags thanks for the implementation; it's great.

One point though: the gauge animation is too brief; the gauge starts animating as soon as it changes, at 1 point per frame. C-Dogs runs at 70 fps, and since most damage in the game is about 10-20hp, the gauge animation will only last a small fraction of a second, too subtle to notice. I think the old gauge position should be kept momentarily, and the animation delayed. See this from guilty gear as an example: https://youtu.be/r_xYdKaIyNM?t=59s

What do you think?

flags commented 8 years ago

That crossed my mind when I was testing it. Only solution I could think of was tracking some kind of damage delay variable that reset to some upper limit each time a player took damage. After that timer hit 0 the current behavior would become active. I have a few other methods that might work also. I'll do some tests this weekend and see what works best!

On 7:25am, Fri, May 6, 2016 Cong notifications@github.com wrote:

@flags https://github.com/flags thanks for the implementation; it's great.

One point though: the gauge animation is too brief; the gauge starts animating as soon as it changes, at 1 point per frame. C-Dogs runs at 70 fps, and since most damage in the game is about 10-20hp, the gauge animation will only last a small fraction of a second, too subtle to notice. I think the old gauge position should be kept momentarily, and the animation delayed. See this from guilty gear as an example: https://youtu.be/r_xYdKaIyNM?t=59s

What do you think?

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/cxong/cdogs-sdl/issues/360#issuecomment-217416064