I'm thinking about programming a 2d simulation of a spaceship that takes damage depending on where the projectile came from (e.g. from behind - engine, from the front - lasers, sides - hull, etc.). When a given part is below a certain durability factor it explodes into physics simulated particles. What is a good way of storing such particles (ship built out of parts, parts built out of particles, e.g. 6px triangles) taking into consideration the following:
- different parts have different shapes,
- it might be needed to add more parts in the future,
- possibility of avoiding a pixel-perfect projectile-to-part collision detection,
- the spaceship should be affected by physics but particles shouldn't unless exploding.