Funny Worm Game

Funny Worm Game is a 2D physics platformer in which the player controls a worm to maneuver around the level, grabbing, eating, and jumping as they go. It was made for my Game Studio 1 class in the spring of 2021 with a team of seven people over a three week period. The game is inspired by physics platformers like I am Bread and QWOP and tries to capture the feel of fighting against the character in a fun, goofy, and enjoyable way. As such, the primary player controller was the game's biggest priority.

Features I built:

  • Player controller creation

  • Animation rigging

  • Physics and controls

  • Level progression

  • UI/UX implementation

Player Controller

The player controller was an interesting and fun challenge, as the movement and game feel required for a physics-dependent worm is a lot different from a normal physics character. The anatomy of a worm removes many standard forms of movement, but for the game to be feel good, it required a system that felt intuitive. I went through many iterations, usually focusing on different ways to connect segmented physics bodies. During the first week of development I created seven different prototypes before selecting the most promising and continuing from there. One version used spring joints between each segment, which didn't work well at all. Another use scripts to manually hold each in place, which was cumbersome and didn’t look good in motion

The very first model of the worm's movement

Final Worm Movement

The final version of the worm only has one joint component, a distance joint between the head and the tail. The other body segments are held together actually by animation bones, with inverse kinematic joints holding them in place and animating them in real time to let the worm bend and stretch. I rigged the worm sprite to essentially be one long multi-jointed arm. The head would be considered the ‘hand’ in the inverse kinematics system, and the body acts as arm joints connecting the head to the tail. Thus, the player only moves the head directly, which pulls on the the tail at the end, and the rest of the spine arranges itself to best fit between the two.

One of the first prototypes of the finalized model

Jumping

Jumping however does have a baked in animation as the worm scrunches up, then when the key is released it ends the animation and applies force to the head, giving lift in the desired direction. Later on a visual cue would help indicate how strong the jump would be when charging, and the worm was allowed to move in the air with a 70% speed penalty, making it still a risk to jump high but giving the player enough control to platform.

The worm charging a jump.