Godot 3, Git, Aseprite
An early design diagram of Clambering's core controls.
Clambering was originally formed in my mind as a rhythm game. The player would use two analogue sticks to control each hand, and would hit targets to the beat. Eventually, the concept expanded to allow for an experience akin to Octodad.
When I decided to use the idea for the Maine Game Dev's Jam, it was obvious that a full fledged comedy experience couldn't be fully made in a week. So inspired by memories of climbing rocks and trees in my home state, I decided to make the game representative of how gargantuan those trees felt to my younger self.
To keep the game's scope simpler, I opted to make Clambering only controlled by both mouse buttons. Holding the left mouse button allowed the player to move the left hand, with the same for the right. The default state of a hand was to grip anything underneath it while these butotns were not held.
Though my initial instinct was to invert it, and have the player's hand grab while the button was down, it became obvious that having to constantly grip the mouse in was exhausting, especially in a game where falling was such a setback.
Most of the struggles I had during the jam were figuring out how to make the controls I had in my brain look and feel good. After a few days of work the arms were controlled by custom inverse kinematics, allowing me just worry about the position of the hands, and let the game figure out the angle of the arms which connected it to the body.
A gif of the player climbing by alternating both hands.
An image of the early Inverse kinematics that I programmed.
A gif of the player flinging themselves. Note how the hands both turn red while not gripping.
A large part of how I conveyed things to the player was through audio. For instance, when the player starts at the forest floor, they can hear the sounds of crickets and birds. However, as they ascend any given tree, the creature sounds slowly fade away into the sound of gentle winds.
However some things, such as the state of the player's arms and hands, were conveyed with graphical details. The Inverse kinematics allowed the player to see thier max grab range quite clearly, and the colors of their hands cued them into which hands were reaching and which hands were gripped.
Lastly, the fling maneuver, which allowed players to pull themselves up and throw their own weight through the air, was encouraged with level design. By having gaps that grew in distance over the course of the level, I slowly aclimated players towards the idea of using their momentum to soar over empty space