SuperTux / supertux

SuperTux source code
https://supertux.org
GNU General Public License v3.0
2.5k stars 476 forks source link

Inconsistent/crude death effects #320

Open LMH0013 opened 8 years ago

LMH0013 commented 8 years ago

While I am glad to see more interesting death effects, there have been aspects of the current implementation which have bothered me from the start. I thought that maybe I was being overly critical, letting the physicist in me lament over the non-physical parts despite the fact that it is a game about a penguin fighting animate ice and snow. However, I had to explain what was happening to my children for the animations confused them-- I guess they were able to intuitively identify something was wrong. So I'd like to request some refinements.

First the melting animations are wickedly inconsistent:

Then there are things that look confusing:

Finally there are the things that look bad but honestly might be more my OCD:

I think that the inconsistent and confusing aspects really need to be addressed. I could probably live with the rest, but I'd be grumbling all the way. That's not to say I'm meaning to be overly-critical. Turns out I tried to make my own death animations but they were so bad I never pushed them, so I understand the difficult subtleties involved especially when animating fluids. For what it's worth, I think the burning deaths look acceptable, and I really enjoyed the splashes when an orb of meltwater hit the ground. Hopefully this list can aid in improving the death animations even more.

tobbi commented 8 years ago

This should definitely be improved. I will assign Hume to it, since he was the one who created these kind of effects in the first place.

Hume2 commented 8 years ago

The water could be clearer, but it will be barely visible then, because there is no light refraction so far. The accessories of badguys shouldn't melt, that's true. Burning badguys make sound too, but it's very quiet. The sound could be changed to something else, but I'm not the right one to do it. I've noticed too that the shell that jumpys and spikys leave look to dangerous, there are two options: make it dangerous or redraw it so it will be obvious that it isn't dangerous, for example it could rust in that powerful fire. For the melting animation, we can't apply the normal melting process, because this melting is very fast. To do it really precise would also require much more realistic water physics. I'm not sure about lags, but I can look arround on the web for a suitable water simulation algorythm.

LMH0013 commented 8 years ago

Instead of clear, you could go semi-transparent.

Maybe we should set up a mechanic to easily produce arbitrary particles on death. For example, have the sprite contain several "drop" actions, if they exist, then they get drawn when burned/melted. The graphics drawn could then be things like shoes, bows, hats, flying platform, etc. But keep it as general as possible so that each badguy does not need new code.

I take it that the "flame" sound is then used? It is very quiet... What we probably need a sound person to generate a unique fire sound to denote burning. We could at least get the code in place, change the name of the sound made and duplicate an existing sound file as a filler.

I wouldn't make the shells dangerous, I've experimented with that sort of thing and it's really annoying to play. Rusting would be fine, although in all honesty you could even have it burn. Yeah I know, burning metal makes no sense, but I'm not sure how to do rusting without causing player confusion at least fireball -> fire follows on a very basic level.

The melting is the tricky part... I've always just gone with sublimation, but admittedly that's the coward's way out, water is much more ambitious. If you don't want to get into the specifics of a simulation, you might get away with generating water particles semi-randomly. You'd sadly loose the big splash... or go straight to the splash, that might work. In fact it already happens when a badguy is walking on a slope-- kill two birds with one stone, make the inconsistency be the default.

---- On Wed, 06 Jan 2016 07:17:43 -1000 Hume2 <notifications@github.com> wrote ----

The water could be clearer, but it will be barely visible then, because there is no light refraction so far. The accessories of badguys shouldn't melt, that's true. Burning badguys make sound too, but it's very quiet. The sound could be changed to something else, but I'm not the right one to do it. I've noticed too that the shell that jumpys and spikys leave look to dangerous, there are two options: make it dangerous or redraw it so it will be obvious that it isn't dangerous, for example it could rust in that powerful fire. For the melting animation, we can't apply the normal melting process, because this melting is very fast. To do it really precise would also require much more realistic water physics. I'm not sure about lags, but I can look arround on the web for a suitable water simulation algorythm. — Reply to this email directly or view it on GitHub.

Karkus476 commented 8 years ago

@LMH0013 To be quite honest, the burn animation looks dangerous...

Hume2 commented 8 years ago

The result of burning iron is rust. Anyway I calculated that the fireball could be made of coal near its melting point, so it might be senseful.

Karkus476 commented 8 years ago

@Hume2 There's no point trying to explain what goes on in SuperTux, it's a game.

misterhat commented 8 years ago

What we probably need a sound person to generate a unique fire sound to denote burning. We could at least get the code in place, change the name of the sound made and duplicate an existing sound file as a filler.

http://opengameart.org/content/fire-evil-spell or http://opengameart.org/content/magic-sfx-sample (the first clip of each)? They could be sped up and/or cut.

LMH0013 commented 8 years ago

@Karkus476 You're right about the burning animation, but at least it doesn't look like the living badguy that does hurt Tux. The burning effect could be toned down.

@Hume2 While burning iron produces iron oxide, which is the same product as rusting, the processes are quite different. What I wouldn't do is make the spike helm spontaneously rust, that's going to cause confusion. A toned down burn leaving behind a rust colored, disheveled ashen helm that then crumbles seems like a viable possibility.

@misterhat The first part of the fire-evil-spell sounds perfect to me. In addition, we could use the ice blast (second sound in the magic-sfx-sample) as the sound for freezing enemies which is also currently missing (might as well work on that at the same time). Thanks for the suggestion!

What do others think about the sounds?

Hume2 commented 8 years ago

It was decided that only some of those issues will be fixed, so I'll close this after I'll fix all of them.

tobbi commented 8 years ago

@Hume2: The sound above is CC-BY. Did you add the credits for that?

Hume2 commented 8 years ago

@tobbi It's in the ogg metadata, nowhere else yet.

tobbi commented 8 years ago

@Hume2 Please add it to the credits and the AUTHORS file in data/