A game jam brought me to the ER (I'm fine): Manipulation post-mortem

pew pew (image does not represent the final build of the game)

Yes, I am fine. This is not a post-mortem on myself (yet). However, the way I dealt with this, wasn't. And no matter how much you want to become a game developer, this is a warning that crunch is not worth burning yourself out of your passion... or putting your health on the line.


This game was made for the Pirate Software Jam, running from January 17th to the 31st, 2025.

No link will be provided, as it's not been released (nor it will be).


Training

I prepared for this game jam for months. I spent the whole month of January learning GDScript (a language that's completely different to what I'm used to write, C#), because this jam only allowed web submissions. And we still cannot do Web-based games written in Godot C#.

The gym

For this jam, I wanted to try something completely different. Not only did I learn GDScript, but also 2D. Yes, I've never done 2D games. Crazy, right? For that, I was recreating the Sega CD BIOS animations inside Godot. I actually have a lot of it already implemented, and I just have to put the final graphics and script the animations. All of the code to actually move the sprites is already written.

And, before that, I developed Intuition, the game that was dead-on-arrival. As the name of both of my games (the other being Premonition): I was getting into this challenge with all the experience, preparation and good vibes I could've wished for.

Nothing can go bad, right?

Right????

Timelapses for (almost) each day are available on my Bluesky profile. I have the footage for all days but haven't processed them. Sorry.

Day 1

The first day could be summed up as:

  • Looking at this jam's theme (of course).
  • Laying down my design strategy, inspirations, aspirations and decisions.
  • Sketch out the layout of what I wanted to do.
  • Get on going!

Mapping out the design

The theme was: you are the gun. And my idea was very simple: reverse Clue(do). You are the gun tracing back from your target back to its wielder.

This is the first design spec for this game. It maps out the interpretation of the theme, references to other ideas or games, and how they build up to the game concept.

I really wanted to flex my diagrams and process. It's probably one of the few objectively cool things I do when I have to explain anything. You can really understand the whole concept with just little drawings, lines, and as few lines of text as possible.

This game jam required a Game Design Document (GDD)– which is a half-pitch, half-design specification document. Sadly, I am good at making diagrams, but not at making games.

Manipulation: the concept.

The whole game concept can be summed up with this pentagon of questions:

A diagram with 5 points describing a pitch for my game: what is it, who do you play as, why are you playing (or, what is your intentions), how are you going to achieve them, and where is this game taking place.
  • It's a detective game.
  • Where you play as the victim (or, in this case, the '"spirit" of the perpetrator of your demise).
  • To frame someone for your murder.
  • By possessing NPC's and objects.
  • Inside your own home.

It's called: Manipulation.

Because you manipulate a crime scene!

If I, somehow, am able to wrangle these 5 concepts onto every design decision, then the whole proposal is solid. Now, here's the deal: execution. And this is where everything starts breaking apart.

Day 2

I took the decision to develop an isometric 2D game. Remember when I mentioned that I wanted to try new things? This is where I wanted to shine, and prove the world I am versatile and can adapt to any new challenge!

A screenshot of the work being done on day 2.

I tested doing the artwork on the 45° orthographic style I've drawn in back in 2019. It would look pretty unique, considering also the effects that I could do with blending and other 2D effects. I felt confident that I could create the vibe that would fit this concept and bring it all together.

However, trouble started brewing.

Day 3

I remember waking up very early that day, to work as much as I could on this game and make some headway. My project management spidey sense was telling me that I should be carrying on. But nothing really out of the ordinary. However, that trouble I mentioned earlier... this is when it started to creep in.

Godot has this Node called TileMapLayer. It's just like your average sprite sheet and tile-based 2D graphics common on 8 and 16-bit games. The problem is, I did not practice working with them beforehand. I had to learn how they worked right then and there, which defeated the purpose of actually training in the first place.

Godot's TileMapLayer editor

You might notice the isometric angle changed. It didn't look right to me, so I tried doing it using the 22.5° style we are all used to. It did look much better than before. However, though, the tiling looked like it was going to be a pain.

I was constantly fighting the editor. The edges of the isometric walls kept on being a pain to work around, trying to make them fit around the triangles left between the wall and the floor.

After working for 12 hours, I was mentally exhausted.

Part of the unused sprites for this game.

Day 4

I couldn't really figure out what was going on with the perspective. My tool for raster graphics, Affinity Designer... let's say that it's not the best for raster graphics. It's been the tool that has allowed me to make a living for the last 9 months, doing gorgeous vector-graphics that you should check out right now. But it's not the best for raster. I felt that every single command was a slap of headwind dragging me further and further away from doing what I wanted to do.

With Photoshop, I could draw pixel art with my eyes closed. I knew every single command. It actually worked for me, not against me. As much as it hurts me to say, and as much as I owe Affinity (and the kind soul that gifted me the suite) my whole livelihood... I wanted to go back to Photoshop.

I had issues trying to line up sprites. This was an attempt to find the centreline of the sprites and have some point of reference to draw from. Not having the option to tile graphics really made things even worse.

That pattern on the right was a tile I used to test patterns and centrelines.

On the left: the aforementioned test pattern. It was a 32x32px (iirc) tile, demarcated every 8px.

This was the point where I started having the instinctive feeling that something was going on, and that this approach is not going to work at all. One of the lessons I've learned on my past lives, is that: if you face so much resistance from a novel approach but full of drag, and you still have time to fallback to something you're more familiar with; it's now or never.

The refactor

Refactoring is a heavy word. It's the unspeakable word between developers (and project managers of any kind). It means two things: crunch and a lower margin of error (with higher chances of making mistakes).

And, as much as I hate to admit... I couldn't deliver on what I wanted to do since January.

I said this on the Pirate Software's Discord:

The moment I sealed this project's fate
Framebuffer2025-01-20 17:25 - ok folks: very hard decision. I am having some severe skill issues doing my game in 2D, and it's not working out as I want to. I can switch to 3D and reuse a lot of boilerplate I have, but it also means throwing 95% of my progress so far. Pros: I do have a lot of objects, boilerplate and experience there. Cons: losing a lot of work to date.

And one of the answers was:

RPGoogles — 2025-01-20 17:27
idk but I would say that if your going to throw everything away, better to do it now while it's still pretty early in the Jam than later towards the middle/end of the Jam

I swallowed my pride. And it was not the first time I'll have to do it during this journey.

Day 5

I am ~1/3 of the way in. This is pretty much all of my margin of error that I had accounted for. And I remember very clearly saying this to myself: from now on, I can't afford a single mistake. And I'm getting into mistake overdraft.

The 3D map - Revision 1

Fortunately, I had the code for a 3D game up and running in 3 hours. I had a lot of boilerplate and assets already done for 3D games, out of the two other jams I've been on. And these will come extremely useful later on.

Marshmallows in 3D. Tested and running on itch.io

I started thinking about some ideas about the map. I knew it had to have some linearity, and had to have room to move around pieces of evidence around. The gameplay centred around the idea of moving 5 (or an odd number of) pieces of evidence around. Their (mis)placement would determine the outcome. Since it's an odd number, it has to come down to a single perpetrator. It can have one or more accomplices, but there's always one with the most amount of proof against. This was one of the first concrete decisions I took to define the game.

On day 5.

The first draft for the house.
What ended up being the final map, but there's another one that'll come up later.

Day 6

This is the second biggest mistake: the third map.

Not being content with having a working map by the end of day 5, I wanted to explore having a bigger map, where I could use the environment as a gameplay feature. This is something that I've tried to do ever since Premonition (with some success, and barely done in Intuition).

This is probably one of the biggest mistakes I keep on committing: trying to go for something bigger when I already have something working already. It's ambition.

I don't know what's going on.
I could dig up more images but I don't want to.

I wasted all of the effort done that day. Now, remember when I said I couldn't make more mistakes? Well, just like an addict, I thought I could salvage it if I crunched a little bit.

If I had to pinpoint a moment where I fucked up the project, it was here.

Day 7

I went back to the previous map. I even had it rigged with collision boxes and everything AND I DELETED THE SCENE THINKING I WOULDN'T NEED IT.

The way it was all set up made it time-consuming to rebuild the scene, since all of the rooms are on separate files. This was made so I could load and unload them if I wanted, another feature I wouldn't end up using.

Game without shaders.

However, if I had something that I could say it was progress (and what saved Intuition a bit), was the vibe or graphics. After all, that's my namesake after all.

I fixed the issue I had with the light leaking through the meshes that I had on my previous games (where the solution was as stupid as flipping the faces). I could really start feeling comfortable with this project.

Game with shaders.

I feel that I was doing something special. It was the same microwaved leftovers I've had from previous games... but now with an increasingly more mature execution. Well, far from being mature enough but I feel like it has some improvement over my last game(s)... or tech demos.

Day 8

The furniture is in! I started by using the GUI in 3D tutorial code (complying with its MIT licence, of course) to make a UI that I could manipulate using only 3D elements. I thought that this would speed me up a lot by skipping the whole UI building, which I really hate.

The layout of the whole map.

The idea was: you mouse-overed an object, and this square will appear with all the options needed to interact with the game. Very simple. Even the logic itself was pretty simple.

Vibe.

It had this insane dark vibe to it. It felt like you were inside a place where something happened, without being blatant about it. This has been a balance that I've trying to strike ever since I started game development. I don't want to be too obvious but also too abstract. And this was one of the first times that I think that I was starting to really hit that point.

And this is when the proverbial camel's back broke.

On the evening of the 24th of January at ~18:30, I started feeling a very strong migraine. I took some meds, and went for a walk. It did not subside at all. Then, I remember very clearly going to bed early, without having dinner. My brother was playing DnD and every word felt like nails through my brain. I thought it was just a migraine out of working 12h a day on this game, plus all the pressures of my daily life. I needed to take a rest.


Content warning:

Medical emergencies. If you're sensitive to those, skip to Day 12.

If you want to see the proof (because I know someone will claim this is clickbait), check this post here. TL;DR: tummy very very bad.

Day 9, 10 and 11

I couldn't sleep that night. I didn't know if I had some kind of gluten cross-contamination (for the record, I'm allergic to gluten), or if I caught something. Let's say that my digestive system just flushed the cache every 20 minutes, on the clock.

It goes without mention that I couldn't even stay at my desk those days. I felt so horrible, and I couldn't eat anything. If I had any kind of psychological stressor, this one was catching up to every single mistake I've made throughout this project (and the accumulated stress of absolutely awful years. See this blogpost and this one to know the lore). My body gave up.

An event like this is tricky to talk about, weaving in between what could be clickbait or unhealthy neglect to bad behaviour. I'll state the facts made by the people in the scrubs: it's a good call to go to the doctor if anything red is consistently coming out of you. Not good.

Crunch culture in game development

This is a tricky topic to talk about, considering I want to get into this industry and I burnt myself out of another one with similar malpractices.

Is this really worth destroying your body?

No.

This is not a death march.

I am well aware of what exactly is going on inside the industry. I am deeply aware of the feeling of being enslaved to what once was your passion, turning into your own personal reaper.

But if it serves as some kind of cautionary tale, you shouldn't get to the point I reached those days.

And this is where it led up to.

The Emergency Room

You don't want to see red outside your own body. I had to convince my parents to bring me there. Remember when I said that my body really really doesn't like gluten? Well, that makes my gut particularly angy when anything happens to it. Any stressor, combined with that precondition, makes everything 100000x worse.

I walked in, and it was all fine. I was feeling better at that point, and the good thing was knowing I was OK and on my way to recovery. Not that my parents really cared about it more than the ER bill, but well. I am here telling the tale.


Day 12

I had an user interface, but notice how the moody lighting is gone. I didn't know what did I do, but I just carried on.

I felt a sense of urgency to figure out a way to finish the game. I was deep in time debt. Maybe it's a deep personality flaw that also leads me to publish incomplete projects, in spite of better, complete ones; but I have some insane inner strength to carry on with awful situations like these.

I had my own internal war room meeting to discuss what the hell do I do now.

The plan came up to:

  • The interaction will come down to
    • Click an item, and a menu will appear with two options:
      • Plant evidence
      • Steal evidence
    • Try to implement drag and drop.
      • That meant implementing static bodies on all walls and change every single object to a rigid body.
    • Point to one of several perpetrators:
      • Murder to hide evidence
        • Stealing a video tape, disks and leave the rest alone.
      • Murdered by a close relative
        • Only destroy a picture frame.
        • Have all the food in the kitchen half-prepared, like someone came in and suddenly got killed.
      • Murdered by a robber
        • Only steal evidence.
        • Maybe empty the fridge?????
    • But, why start in the bathroom?
      • Is it an accident?
      • What's up with the gun?

I tried to resort back to the idea I set at the beginning. Thinking like I'm a bullet leaving a trail of destruction behind me. How do I implement that?

Nevermind, I'm going to implement the rest of the game and figure something out later. This is the exact same error I made in Premonition. And I refused to accept it.

The living room.
The office
The entrance

Day 13

Disasters are a chain of events that culminate on a single unfortunate outcome. The night between the 29th and 30th of January I felt a distinct sense of duty to revive the already dead. Just like holding the defibrillator and keeping on charging well past the time of death.

And I remember clearly the folks at the #godot chat on the Pirate Software Discord server also sharing they dropped out... and just feeling this positive vibe of knowing I wasn't alone, and that I did everything I could.

I make a lot of parallels with death here, even though it's just wasted time. But what hurts the most is my pride and the obvious self-loathing I sprinkled throughout this journal.

Am I a game developer, even if I cannot deliver a single finished game?

I used to say "dude if you delivered anything on itch, you can call yourself a game dev". But in retrospective, I feel like a hypocrite coping its own failures by projecting what it think it is: successful.

And, despite having this very, very pessimistic aftertaste of this experience; I have nothing but myself to push myself forward. Because, just like people did with me that day, I want to at least make someone else feel empowered enough to reach the end with something to share.

At that moment, this is the state of the game's development:

0:00
/0:08

Click to move. Arrow keys to move back and forth between rooms. Clearly, the salmon was raw.

0:00
/0:26

And these are the rooms.

Day 14

And, on the last day, everything was a disaster, and so I rested. For real though, I might've wanted to cry the night before for a minute or two... but I felt relieved. That same day, talking about the experience from the outside, it all makes sense.

I have to take the L for mismanaging this chance to have fun and grow as a developer.

But more will come in due time. They will when I'm wiser.


Lessons learned

The personal

I want to avoid venting, but whatever circumstances were eroding my soul away, compounded by the ambition of speedrunning a better future; that shit broke me. This discipline comes with a lot of extra mental baggage to carry on– it's not made for everybody. And for me, it's just another day at the office.

But this is not the office. This is for fun. I forgot that.

As tempting as it sounds, I'd reconsider a lot doing another jam. Specially considering that these days I literally hunt gigs to survive from, it'd be irresponsible. Moreover, I am burnt out. I haven't opened Godot for more than 5 minutes after this. And I don't want this, one of the few things that has made me so happy at the hardest of times, to disappear.

I will see how things carry on.

I forgot what this was all about, just out of hunger and desperation. Don't let ambition kill your sense of fun, or yourself.

The technical

Pretty self explanatory:

  • Play to your advantages.
    • Experiment when you're not on a deadline to deliver a product. If you're confident about something, and your pipeline is streamlined enough, then carry on.
  • Plan for the unplannable.
    • If you're physically compromised, bail out before it's too late for yourself.
    • It's OK if, despite everything you planned for and prepared, cannot deliver. Shit happens.
  • Have fun (obligatory).
    • I forgot that.


Addendum

GDScript

I hated it. Skill issues on my side. Coping, malding, seething. Won't elaborate any further.

Brush by vigorn from Noun Project - Controller by Artur Lopato from Noun Project

(CC BY 3.0)