I'd really like to see a major overhaul of the harpoon physics as I think the idea of the weapon is brilliant, but we can't put it to use properly due to the weird rubber strap behavior of the rope.
E.g. if you put a Harpoon at the front of the Pyra, hook an enemy and he flies away vertical to your direction, you'd expect to be pulled around by it so your ship faces the enemies tail. However the opposite is the case - you aren't able to steer anymore while your opponent can fly further away.
Here's a suggestion how to alter your Harpoon:
- As the movement of your ships feels quite realistic in general, I assume you've got physical models of your ships including masses, mass centers and moments of inertia. Use those to calculate realistic influences on hooked up ships!
- if a player hits with a harpoon let the length of the rope stay constant - no elastic yo-yo behaviour.
- if the distance of the ships reduced, simply let the rope sag and don't influence the movement of the ships at all. (some visual appearance of a sagging rope would be nice here...)
- if one of the ships tries to disengage this is prevented due to the rigid rope which can't be streched. Apply forces according to the ships relative movement at the two ends of the rope (weapon and the position where the hook hit the enemy ship) and calculate reacting forces and momentums influencing both ships movements. A simple elastic collision model might do the trick here.
optional:
- large rope forces could result in hull damage.
- allow friendly ships to be hooked. This would allow some advanced and fun tactics: E.g. pulling up allies whose balloon has been destroyed, dragging slower ships or stopping powder monkey captains to rush into the enemy trap
- terrain hooks like mentioned
here might be interesting as well - you want to turn around, but your steering is gone? - shot a harpoon into structure vertical to your movement direction and hurl around it.