Why did I make this?
This tiny game was made in 4 days for the GMTK 2025 Game Jam.
A jam is a friendly competition between game developers who are tasked to create a complete game, based on a set theme, and in a very short period of time.
Participants usually grade the others games to create rankings.
I seriously wanted to go back to game dev, and jams are a great way to learn the most in a short amount of time. I heard of this particular online jam through its host, the GTMK channel, and this week was marked on my calendar since months.
This year, the theme was only one word: loop.
With my friends Booalban and Azarom, we came up with this idea and built it.
Before the jam
In the previous weeks, I had assembled a small team of gamedev enthusiasts. We were 4 males, french, developers.
Quite the boy band, but instead of arguing about who could be the singer, we asked ourselves: “which one of us is the least bad at < something unrelated to code >?”.
I had tried to refresh my scarce drawing skills by practicing vectors design with Inkscape, hoping to make a bit of custom “art” for the game.
But I knew it would be a “dev game”: based on interesting mechanics rather than immersive vibes.
First day
We gathered on Discord for the theme announcement, which was at 7pm in our timezone (so each “day” of the competition would start at 7pm).
Intro…have fun…eat healthy meals…sleep… L O O P ??
Based on previous themes, we weren’t expecting something so broad like “loop”. I was a bit bewildered.
Anyway, we jumped on an online whiteboard and gave ourselves 1 hour to think about game concepts that would be pitched to the others.
I tried several techniques to find ideas, including looking up all definitions of the word and building mind maps:
- the electrical loop in a circuit;
- the ones in programming;
- in transportation;
- loopings…
But nothing interesting came until the last 20 minutes.
I had this idea of a warioware-like minigame where you need to quickly draw a train loop to make it avoid obstacles.
The others came up with these concepts:
- a physics-heavy throwing-yourself-around-planets game, with rogue-lite elements;
- an alienating narrative desk job simulator, where you try to break this bleak routine (by eating the rich?)
- a factory game in which you are making rubber wristbands.
After brainstorming, we kinda mixed the alienating desk job with drawing train loops (weird, but creative!).
Next, we made a little plan for the rest of the week:
- Second evening (end of day 1): have a working prototype
- Day 2: have a playtested and enhanced prototype
- Day 3: have a published version on the jam page
- Day 4: have a polished game
After some sleep, I jumped into Godot, the engine I chose to make games with, and started making the drawing system.
It was hard, because even if I found a youtube tutorial, I needed to add a lot of obvious things that I didn’t think about, like auto-snapping the line to cities.
Azarom worked on the train simulation system.
And I lost so much time (and sanity) in resolving version control issues when trying to merge these 2 parts.
At the end of the day, stress peaked because:
- we lost a soldier than won’t be able to help us at all for the rest of the jam;
- another was only part time;
- I thought we were too slow: the thing we were building wasn’t a game yet, it lacked win/loose conditions and, most importantly, fun!
Fortunately, we were able to do most of the work still needed during the night, so I went to bed, exhausted, but happy.
Second day
After a short night, we rushed to make a prototype that could be playtested as soon as possible.
At noon, it was playable.
After some usability tweaks, we hosted the first playtests with friends and it cheered us up: people loved the drawing mechanic and the overall flow of the game.
They also gave us a lot of feedback.
Third day
While the team was focusing on tweaking the game in response to playtests, I wanted to give it some personnality by designing a desk-like user interface.
The objective was also to fix some of the readability issues.
I started by drafting the UI in Inkscape, using premade vectors to save time.
Then it took AGES (all day in fact) to integrate in the game, mostly because we hasn’t done a lot of UI in Godot before that.
So we learned by doing mistakes.
But following playtests were waay better, and people were starting to play the game for longer times (even half an hour!).
They were clearly having fun, and it was so supportive.
I started to see the timeline were we finished this great game in time.
Fourth day
We worked a lot during the night: I was able to design an interesting map for the drawing zone, and the others shipped a lot of bug fixing and quality-of-life improvements.
So we started next morning in a pretty chill way. I managed to create a basic itch.io page for the game. This is the only, but compulsory marketing you need in a jam, especially if you want ratings!
We also added some sounds and a nice chill ambient music (as always, you’re the G.O.A.T kevin).
Then the stress started going crescendo, as we were shipping more and more fixes (doing “polish work”) while the deadline was coming nearer and nearer.
In an interesting way, we scrapped everything that we weren’t able to complete in ~1h. We could do that because the core of the game has already been created.
At the end, we pushed our last version 15min before the deadline, just prior to the crash of itch.io’s servers.
Yup, 9k+ games uploading at the same time can be very harsh for these computers, even if they are working for the biggest indie-games-only platform.
The organizers gave 1h more to allow contestants to upload their last version, despite of the massive traffic servers were being bombarded with.
But we didn’t try to fix more during that time. We all called it a day (and what a day!).
As for me, because last days were entirely dedicated to the jam, I was having a weird “empty-brain” feel. I was at the same time:
- exhausted;
- delighted;
- proud;
- and unable to do anything.
Ratings
We had 5 days to play others’ games and rate them.
I played ~10, excluding those that were not working at all.
First, I was relieved because a lot of things seemed “less good” than our game. There was a lot of laggy, unfinished projects (which is perfectly normal, it wasn’t an expert-only contest!).
Quite a lot of people played ours and gave very nice feedback. They had fun, like our playtesters.
Then, rankings were revealed.
With 38 ratings, we reached #1196 and #1705, for the Creativity and Enjoyment criteria respectively, both being our north stars for the development.
In retrospective, it was very good for our first jam as a team. Myself, I was a bit disappointed.
But next, I played the top games of each category. And most of them were very good. Moreover, they were often made by a solo participant!
Key takeaways
Let’s sumup with no particular order what I’ve learned from this project:
- I love working as a team to release something bigger than what I could have made alone.
- Rigorous planning and task management is compulsory to create something in so little time.
- Playtests are incredible, even for game jams.
- Art is important, but juicy feedback is a lot responsible for the “finished-game” look.
- You’re quicker when you practised your tools before the jam.
- I love making games, and want to focus on that for the long-term.
And now?
We were all very happy of our experience, which was a first thing for nearly everyone.
Azarom and Booalban thought that the idea couldn’t be easily expanded in a fuller, maybe commercial, game.
So they won’t work on it anymore, but were eager to jam again!
As for me, I thought there was a Papers, Please like potential in this (yes, I’m not known for my humbleness I’m afraid).
We could improve the alienating job feeling, take the rogue-lite route with upgrades and randomness and deepen the gameplay with some mechanics we ditched to save time.
I also wanted to improve the “art” by giving proper textures to the trains and rails.
Finally, as a nerdy-challenge, I wanted to try refactoring our spaghetti code (basically, everything is a mess and we kept adding things in the cracks, but that’s normal for a prototype), to practise making good architectured games (for future, bigger projects!).
Will I do it? Not so sure. But I won’t stop making games!