LukaszBaldyga

Penumbra

Penumbra

Penumbra is a mouse-controlled survival game made for GMTK Game Jam 2025. It was my first game jam. Our six-person team had two days of the four-day jam available to build the game, so we kept the scope small and prioritised a playable release.

I worked on gameplay code, particularly enemies and their drops, and created the animated background.

Play

Playthrough and feedback

I enjoyed seeing people play the game and reading their feedback on the jam page. The video below shows a playthrough.

Team and contributions

Penumbra Godot project

Penumbra Godot project

We built the game in Godot. Roles overlapped, but our main contributions were:

I worked across much of the codebase, with a focus on enemies and their drops. I also rendered and composited the background animation in Blender.

Enemies and drops

I wrote most of the enemy-drop code.

Defeated enemies drop motes, which scatter and gradually become visible. Once fully visible, they can be collected with the player's spell. Uncollected motes fade away. Players use them to open the portal or buy upgrades.

Animated background

I started with a realistic ocean render that looped seamlessly.

Blender window showing the rendering process

Blender window showing the rendering process

I then used Blender's compositor to give the render a more stylised look.

Compositing process

Compositing process

This comparison shows the original render and the composited result.

Original image
Final image

Original image

Final image

With limited time to investigate video playback in Godot, I exported the animation as individual JPEG frames. We used these frames in an animated sprite. Compression kept the files smaller at the cost of visible artefacts. Even so, the background accounted for roughly a quarter of the game's asset size.

The comparison below shows higher-quality versions of the original and composited renders.

High quality original image
High quality final image

High quality original image

High quality final image

Using that quality in the game would have increased the download size and changed the look of the background.

Here is the looping animation:

The final animation, with the in-engine adjustments, is shown below.

Source and development history

The Penumbra source code is available on GitHub. You can also play Penumbra on itch.io.

I made this time-lapse of the Git commit history:

The time-lapse omits the 480 background frames and their associated import files, which added around 1,000 files to the project.