After having been long displeased with the clunkiness of the throwing in DLD, I went and prototyped a more advanced throwing system than the one we had previously been using.
Prior to this change, both flinging and throwing an enemy worked by using the instantaneous linear velocity of the motion controller on the frame you let go. Many VR games do this for their throwing (probably because it’s so easy to code), but it can produce some weird results. For example, if you flick your hand down during the follow-through of the throw and release the grab trigger during this flick, you’ll end up throwing in the direction of the flick!
The current system does a better job of figuring out the direction the player is trying to throw the thing in: we sample the velocity of the motion controller on the frames leading up to when the grab trigger is released, and then process these data to create a resultant velocity which is applied to the object being thrown. There are many possible ways to process these data, and I look forward to continued experiments and iterations that will get the throwing feeling progressively tighter.
-Chris, Game Director