First we'll want to convert to world coordinates:
nozzleAngleWorld = nozzleAngleLocal + shipAngleWorld;
// Note here: nozzleAngleLocal is the angle your nozzle is *facing*/thrusting
// in your local coordinates, NOT the angle of the line from the center of mass through the nozzle.
forceWorld = new Vector2(
cos(nozzleAngleWorld) * rocketForce,
You have to scale both the jumpVy and the gravity.
jumpVy is the (upward) velocity of your character.
If we never decrease this your character will fly away.
Ok, so we decrease the velocity by using the gravity which pulls your character back to ground. Each iteration the upward velocity gets reduced by the gravity until it gets a downward ...