This time around I'm trying a different approach: instead of tying up the player around a location, we directly "push" the player towards the spot. Result: more linear movement
PRO: makes the grapple mechanic more straight forward
CON: need to explore more options to apply the "swing" mechanic
Use GetUnitDirection(Vector) to get a Δvector between player's location and the grappled location. Then normalize this vector so that it now represents a direction with the default unit as "1". Then we exaggerate this "1" by a certain amount to act as the impulse force applied to the player movement.
To mimic a motion of "push" with a little bit of "oomph", a sudden (not constant) force that applies to the player towards a direction is applied using Add Impulse.
What stays: applying a Force towards camera location to enable better movement control
What goes away: the circular motion that lets the player spin around the location
A way to define a fixed distance between the player and the grapple location
so that player could adjust the length of the cable mid flight?
so that player could stay in a fixed location to apply other motion?
player can keep a minimum distance with the grappled location to maintain the empowered/current momentum
Dialing the Left-Right movement up by giving a multiplier air control.
I noticed that the higher I put the gravity scale at, the harder it becomes for the grapple to pull the player "up", by that I mean Y-axis. Therefore I played around with the number and currently found a sweet-spot at 5.0, this could be updated in the future after other potential confounding variables come into play
In addition to boosting the current velocity (speed towards the current traveling direction), another velocity vector will be added, which is (Where Player's Camera is Facing) * (Current Speed) * (a fixed amount 1.5). With this addition, the player will have a better control of where to dash into after coming out of the grappled state.
While this somewhat in the way of keeping the "Grappling Hook Experience" authentic, it improves the player's air mobility for later potential boss fights. Keeping it or not will be decided after playtests.
Adjustment to On-Grapple movements: Now there will no longer be a force added to wherever the camera is facing. Instead, the multiplier that enhances the pull force towards the HookPoint has been increased from 150 to 180, with an addition ExtraPull parameter that could be accessed (currently set to 0).
HookableBooster, an actor that acts like a power-up that the player can grapple to. Currently only have a green booster that pushes the player towards the currently traveling direction.
Trying to implement a melee slash for the player that acts as the main way to deal damage.
Blender model for an armguard-blade: based on Kassadin
Texturing in blender
Porting in (after texturing)