Améliore le système de mort des vaisseaux #130

Closed
opened 2026-08-28 12:17:27 +00:00 by metaheavens · 2 comments
Owner

Les vaisseaux ont une explosion simple pour le moment lorsqu'ils meurent j'aimerais quelque chose d'un peu plus spectaculaire Ils se détacheraient de la flotte sur quelques mètres, Et finirait par exploser un peu plus loin avec une explosion un peu plus explosive que juste Une animation légère.

Traduit ce ticket avant de le commencer

Les vaisseaux ont une explosion simple pour le moment lorsqu'ils meurent j'aimerais quelque chose d'un peu plus spectaculaire Ils se détacheraient de la flotte sur quelques mètres, Et finirait par exploser un peu plus loin avec une explosion un peu plus explosive que juste Une animation légère. Traduit ce ticket avant de le commencer
Author
Owner

English translation (as asked, before starting):

Improve the vessel death system.

Vessels currently just get a simple explosion when they die. I would like something a bit more spectacular: they would break away from the fleet by a few metres, and end up exploding a little further off, with a rather more explosive explosion than just a light animation.

So the death is a short sequence rather than an instant: the hull leaves formation, drifts/tumbles clear of the fleet, and then goes up - and the explosion at the end of it is bigger than the one there is now.

**English translation** (as asked, before starting): > Improve the vessel death system. > > Vessels currently just get a simple explosion when they die. I would like something a bit more spectacular: they would break away from the fleet by a few metres, and end up exploding a little further off, with a rather more explosive explosion than just a light animation. So the death is a short sequence rather than an instant: the hull leaves formation, drifts/tumbles clear of the fleet, and *then* goes up - and the explosion at the end of it is bigger than the one there is now.
Author
Owner

Done in 710dcbf.

The hull comes off the formation and keeps going: it breaks away from the fleet, tumbling and venting, and only then goes up - out where it has room rather than inside the wedge it was flying in. Measured in the test: 85px clear of the fleet by mid-drift, exploding 150px from where the ship was hit.

The wreck is a separate node, not the Ship staying alive to animate itself, and that is the load-bearing decision. A dying Ship still in the tree is still an Area2D in the player_ships group with live weapon components - it would keep firing, keep being fired at, keep counting as a target for every enemy's EnemyTargets.nearest_ship, and keep colliding on its way out. So the ship's own lifecycle is untouched: it leaves the fleet, emits destroyed, and is freed on exactly the frame it always was. What is left behind is scenery, and the test pins that specifically - fleet size, group membership a frame later, and the node itself.

The explosion at the end also needed the second half of the ticket. It was taking ExplosionVFXBase's defaults - 12 particles, half a second, no shockwave - while an enemy kill was deliberately made the loudest thing on screen by #87. Losing one of your own was the quieter event of the two, which is the wrong way round: the enemy's explosion is a reward, this one is a loss. It is now 30 particles over 0.8s with a shockwave, and the test asserts it is no smaller than the enemy's rather than checking a number that would drift.

Done in `710dcbf`. The hull comes off the formation and keeps going: it breaks away from the fleet, tumbling and venting, and only then goes up - out where it has room rather than inside the wedge it was flying in. Measured in the test: 85px clear of the fleet by mid-drift, exploding 150px from where the ship was hit. The wreck is a **separate node**, not the Ship staying alive to animate itself, and that is the load-bearing decision. A dying `Ship` still in the tree is still an `Area2D` in the `player_ships` group with live weapon components - it would keep firing, keep being fired at, keep counting as a target for every enemy's `EnemyTargets.nearest_ship`, and keep colliding on its way out. So the ship's own lifecycle is untouched: it leaves the fleet, emits `destroyed`, and is freed on exactly the frame it always was. What is left behind is scenery, and the test pins that specifically - fleet size, group membership a frame later, and the node itself. The explosion at the end also needed the second half of the ticket. It was taking `ExplosionVFXBase`'s defaults - 12 particles, half a second, no shockwave - while an *enemy* kill was deliberately made the loudest thing on screen by #87. Losing one of your own was the quieter event of the two, which is the wrong way round: the enemy's explosion is a reward, this one is a loss. It is now 30 particles over 0.8s with a shockwave, and the test asserts it is no smaller than the enemy's rather than checking a number that would drift.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
metaheavens/spaceship#130
No description provided.