A downloadable game

Goal

Create a grab system which feels physical in under 10 hours.


Thoughts going in

As soon as I think "physical" I immediately think of the messy, weighty, unresponsive, world of, well, game physics. Be it Unity’s solution or something bespoke, I immediately began contemplating techniques I could use to create indirect and system driven motion (as opposed to direct and player driven motion).


Thoughts throughout

Joints are physics-y, so an initial and lingering plan was to just attach a hand sprite to a cursor via some spring-y joints to provide the object some heft.

More interesting opportunities arose when I stopped thinking about a hand as a monolithic object, and instead began thinking of simulationist potentials within a hand itself — the articulation of individual fingers, palms, thumbs, wrists.


In my initial implementations I had set ‘opened’ and ‘closed’ positions, and then then all the joints would try interpolate towards these states using Forward Kinematics. But this left the hand feeling lifeless as it didn’t react dynamically to the object it was grabbing. It didn’t reach, it didn’t adjust it’s grip.

After these aesthetic shortcomings I hoped I would find more success employing Inverse Kinematics instead, as the hand would then be able to respond to the position of the object it was grabbing — hopefully imbuing it with some organic dynamism. Unfortunately, IK is significantly more complex to implement and so the polish of the end product undoubtedly suffered as a result of this decision.

Some Noteworthy Shortcomings

  1. Due to a lack of time the codebase is ultra prototype-y (not clean and the architecture is not super robust). However there is not much code or abstraction bloat so refactoring and restructuring shouldn’t prove particularly arduous in the future.

  2. I wish that the hand reacted more to obstacles and forces outside of the item it was immediately grabbing.

  3. I wish there were some “idle” animations (twiddling fingers?) which were blended with the IK so the hand would continue to move even when its relative position to the avatar is constant.

Download

Download
grabb_hands_higher_resolution 6.2 MB

Leave a comment

Log in with itch.io to leave a comment.