Lorenzo's Blog About me

My first Game Jam

On  - Reading Time: 6 Minutes,

In January 2024 I started making small video games for pure fun. After some practice, playtesting with friends and new languages, I decided to test my skills and publish something. So I joined my first Game Jam and submitted my first game: Yak Shaving Space Delivery. Here are my thoughts and learnings about how it went so far! (Yes you can play the game too) 😝

Learning something new

I wanted to learn something new, and different from SRE work! I have always been attracted to this kind of work because it combines more than just a front-end or back-end. It has art, lots of logic, user experience, music and on top of that, plenty to get excited about!

Showing your friends an API, some YAML, or a React web page is not the same as playing a game you made together! Being able to export the game to different platforms was key for this to happen.

My love for free and open source software pushed me to use Godot as a game engine. Even if I worked for Unity and I admire the work of my former colleagues, I still went with FOSS as I wanted to rely on something more stable. I don’t want to learn C# nor wait long time to install petabyte of things that I don’t need on my Mac. Godot is the right thing to do for me.

Since this project is not backed by a company charging for services, I encourage you to consider donating to the Godot Fund. As usual, I am happy to give back: I can’t contribute to the project with code, so instead I am donating and paying every month.

My first Game Jam

Since I started using Godot, I have made small games that I have never published. I consumed a lot of tutorials, videos, and read a lot of documentation, and I followed some suggestions of making a few games, starting from a simple PONG, and increasing gradually the scope of the projects, as well as the audience… I wanted to pass a real test: make a game public! What better option than a Game Jam?

So I decided to join Brackeys Game Jam 2025.1 and on February 16th at 12:00 the theme was revealed: Nothing can go wrong… My goal for this Jam is to learn and gather feedback to improve my craft.

I messed up the dates and reserved the wrong week in the calendar, but nothing went wrong IRL: I ordered a lot of food on Wolt, drank a lot of coffee, and stayed home the whole time, with some breaks. 😄 During the breaks I played online games with the gang at PAN Idraet Gaming and got even some playtests from some of the members of the club!

About the game.

For a whole week, I worked very hard on making a game. I started thinking about what I can relate to when things go wrong, or not, and when brainstorming about decision trees and tasks, priority 2 things came into my mind:

  1. Toil
  2. Yak Shaving

I decided to work on these two concepts and make a game where somebody would start from a single objective, but gradually things go wrong, and the player has to perform tasks that seem unrelated to the main one. Like Hal, trying to replace a light bulb in Malcom in the Middle, also known as Yak Shaving. Though, how can I make something tedious actually fun? 😏

So I started working on it: In the game, you are an astronaut on a spaceship picking up cargo from a planet and delivering it to another planet. Something goes wrong: every time the spaceship visits space, there are new tasks. The goal? Deliver 6 Yaks in the shortest amount of time.

To make the player do proper Yak Shaving, the tasks should have some sort of dependency: do this before that. After leaving the planet for the first time, they have to refuel the engine by picking up new fuel. Easy start.

On the second trip, the gravity generator breaks, things start floating and making impossible to pick up new fuel. They need to fix it before they can refuel the spaceship engines.

There are other tasks that will happen, but due to the limited amount of time for development, I focused on implementing a single game mechanic: pick an object and drop it somewhere.

To make things fun, I decided to rely on silly physics and engaging with dialogues from the ship. The spaceship itself guides the player. Their name? Procrastinator 9000, of course! They are sassy, annoyed by biological life form, and would prefer doing nothing rather than performing the tasks.

As Nothing can go wrong, the player never dies, though something goes wrong, and the challenge is to deal with the chaos. Every trip the player needs to transport more yaks, Yaks poop fuel when in space 💩, and there are more tasks.

At least, that is the basic idea. Give it a spin and play the game here!

Making the game

In my line of work, I have always focused on avoiding repeating code, and reusing things, so I prepared a basic Godot 4 add-on that I reuse to do UI elements, or deal with complex things like Input, Path finding, Navigation, Inventory, a State Machine etc.

To be honest, I used very little of the code that I prepared. 😅 The main reason is that I did not need most of the things I prepared. The theme and time made me focus on a limited amount of mechanics. Though, bootstrapping a basic testable version of the game was easier with my add-on/library.

I enjoyed a lot following some of the Godot principles, one of which is to make everything a Node, with custom Resources too. The code was much cleaner, and I could easily implement different tasks for the player by just customizing a few variables in an instance of my custom Task node.

For the sound effects I could not find right what I wanted to use… so I made them myself! Long time ago, when I was streaming, I bought a Yeti Blue microphone that turned out to be super useful. …and yes, people noticed that 😆

My partner also gifted to me an asset pack from Humble Bundle and I hoarded a bunch of assets, including some of the background sounds.

On the last day (ofc), I had some big issues with Dialogic, that caused me some actual Yak shaving. 🤦 Investigating an issue with instances not being freed correctly, causing memory leaks. It was hard, and I ended up switching to Dialogue Manager, which was much simpler, looked actively maintained, and was easier to use/implement.

I made most of the 3D Assets using Kenny’s Forge Deluxe. I gifted myself for Winter Solstice (Christmas) a tool to make quick 3D models that I could export. I would love to learn Blender at some point. I bought the Astronaut and Yak models (Credits in the game page on itch.io).

Learnings so far

After submitting the game to the Game Jam, I started receiving some feedback. Simple “Well done for solo in 7 days” and “Kudos”, were nice, though not what I wanted. So I reached out in the community to ask for some real and honest feedback. I had to fix some collision shapes and issues with the game crashing due to objects being freed.

I remember watching videos and videos to prepare, but I realised too late that I made some basic mistakes. Here is some learning so far:

  • I should have done more playtests or gathered more information.
  • The orthogonal camera was a risky bet: not everybody liked it.
  • The game is slow, and it might take 15 minutes to complete it.
  • I made a bunch of typos and grammar mistakes.
  • Working in a team or with somebody would have helped a lot.

The first playtests were done by my friends, and they were honest, but most of the time I could not sit behind them and observe the behavior. I only did 1 playtest where I could do that. 😅 I learned a lot, including that the orthogonal camera caused some dizziness, or that the input could have been completely different because of the camera and style.

As a result, I learned to focus on something faster, engaging, easy to learn, and with a shorter game loop. 😅 From the comments I suspect that most of the players quit before even reaching space for the second time, probably because nothing seems to go wrong.

If I could have used AI, I would at least have fixed the typos and have better dialogues! 🙈 Though I was happy to see that people do understan that making a game solo in 7 days means cutting corners. 😅

Right now I can’t update the game anymore (or until the Jam review phase is over). That said, I don’t feel like working on this game more than fixing some bugs, or adding minor changes to polish it! I’ll take the learnings and bring them on my next project 🚀

Conclusions so far!

Everybody seems super supportive, and asking for honest feedback is super useful. 💪 It did not demoralize me. If you are curious, you can read the reviews and feedback here. The game jam reminded me a lot of the pressure I get when doing hackathons, though this felt more fun, almost like the startup weekends I was attending 15 years ago. This is my first game jam, and I would do it again.

I also enjoyed reviewing other games and learning that I am not the only one making these mistakes. I was also surprised by all the other mechanics and different interpretations of the theme “Nothing can go wrong…”. I am gathering these games in a collection of hidden jam gems so that I can revisit it later, when the Jam will be over in a week.

You can play Yak Shaving Space Delivery in the browser on itch.io here, or download it for Windows, macOS, or Linux… and if you are in the competition, please consider reviewing my game and leaving some feedback ❤️

Before submitting I ran the game and delivered 6 yaks in around 636.798747... seconds, can you do better than me? 😜