Design Concept

Gelatinous Jeffrey is a 2D platformer that I designed and coded using the Processing language for my GAME 220 class at SCAD in the Spring quarter of 2025.

The player controls Jeffrey the gelatinous cube and navigates the environment by jumping or by opening and closing Jeffrey’s umbrella to either slow his fall speed, or to hover upwards if over a source of heat (flames, torches, etc.)

The visual design of Jeffrey was inspired by wanting to take a common monster – in this case one that comes from the lore of Dungeons & Dragons – and putting them in the role of the hero. 

I intended from the beginning for the tone of this came to be that of a parody, so I naturally gravitated towards the gelatinous cube because I enjoyed the thought of using the air bubbles in its body as though they were facial features, mainly eyes and a mouth.

The idea for using an umbrella came first from the gameplay concept of wanting to be able to manipulate the speed at which the player character falls, and there are many examples of umbrellas being used in similar fashion in pop culture media that have a similar comedic tone to what I wanted to embody here.

Prototype Level

I created the prototype level for Gelatinous Jeffrey with the goal of simply figuring out how to create a simple simulation of gravity to make Jeffrey begin falling at a specific point, as well as allowing the player to open and close their umbrella, and link that action to Jeffrey’s falling speed.

The level contains a simple hazard of spiked platforms that move back and forth within an underground shaft. The platforms are coded with simple collision parameters based on the distance between Jeffrey’s pivot point and the fixed points of the platform’s spikes. The walls are similarly coded for collision, except that they are based on whether Jeffrey’s pivot is currently between a pair of specific x-coordinates.

Level One

The first level of the final version of Gelatinous Jeffrey improves upon the prototype in multiple ways. Firstly, I gave Jeffrey a lives counter to create a heightened sense of tension and as a way to invoke a fail state that would reset the player to the main menu after the lives ran out. This incentivizes the player to learn from their mistakes and strategize their approach to the hazards that they wouldn’t if given infinite opportunities to fail.

In addition to using proper hitboxes to define collision, this level also presents the player with the added difficulty of navigating both vertical and horizontal hazards at once, as he will die if he touches either the water or a fireball. And since the player’s rate of descent even with the umbrella open is too fast to allow them to clear the second set of terrain, they must land on the lowest ground where they are safe from the fireballs. This not only allows the fireball hazard to be used in two different ways, but it also forces the player to become familiar with both the umbrella and jumping mechanics before they are able to proceed.

Level 2

I was slightly more ambitious in creating the second level of Gelatinous Jeffrey. I wanted to improve upon the umbrella mechanic by allowing the player to manipulate their ascent as well as their descent. I opted to use a fire source as the indicator for where this was possible, leaning upon the principles under which a hot air balloon functions, and hoping that the link between umbrella and balloon would be an intuitive leap for the player to make. I also shaped the level such that the player could not proceed without learning this mechanic, and so would also be able to intuit what they needed to do based upon the shape of the level ahead.

Process Sketches

Previous
Previous

Simply Fetch the Eggs

Next
Next

Art Gallery