Ludum Dare #23 — How I Battled a Spider, a Fever and the Power Grid to Finish a Game in 72 Hours
A game jam story of intense dedication, hallucination and divine revelation.
I recently went through a bad fever, and the accompanying exhaustion made it feel impossible to get anything done. I tried to remember what I’d done in the past to power through an illness. Perhaps that would give me some strength.
Instead, I realized how comically insane that episode was and decided to share this story.
Ludum Dare is the biggest recurring online game jam. Every 4 months a theme is chosen and thousands of people (from hobbyists to professionals) spend the weekend creating games inspired by that theme.
The theme is always announced at midnight UK time — which meant it was 3 am in Alexandria, Egypt. This was in April of 2012. I was 17, my brother was studying abroad, and my parents were gone for a conference. Which meant there was nobody to pester me about things like “You need to consume something other than coffee” or “You haven’t moved out of that chair in six hours” etc.
It was my first Ludum Dare, and I was determined to prove myself. I wanted to win. As soon as the Tiny World theme was announced, my artist and I began a flurry of brainstorming.
Now the best advice I’ve ever received about game jams is to take the first idea you get, no matter how good it sounds, and throw it away. That’s because it’s most likely the same idea everyone else also got.
Our first idea was a game centered around the mechanic of shrinking down to overcome obstacles. Tossing that away, I thought about exploring the idea of controlling two characters simultaneously, one large and one tiny.
It would still allow you to see the world from this shrunken perspective (where seemingly harmless things like a house fly become deadly obstacles) but you’d have to hold the macro and the micro views together, using both characters’ complementary skills to progress.
The idea of controlling disparate things simultaneously using the mouse and keyboard was a theme I’d revisit again and again that always proved surprisingly fun. It occurs to me now that this is essentially fun for the same reasons trying to pat your head and rub your belly at the same time is fun: it’s not as easy as it sounds — and feels pretty good when you get it right.
And so we started building Tiny Timmy and Big Bill.
The first 24 hours were great. I worked through the night, took naps when I got tired and snacked when I got hungry. It wasn’t too long before I got stuck trying to create Big Bill’s arm system.
It was really frustrating trying to read through confusing explanations of inverse kinematics and feeling like I was losing precious time. I was starting to panic.
Now panic, sleep deprivation, and a lack of real food is an excellent combination for getting sick. I could feel my energy dwindling, my temperature rising and my momentum grinding to a halt. What if I just fail to get this arm thing to work? We’re not going to win — we’re not even going to finish a game!
My world was falling apart.
But there was no time for that. I ran to the bathroom, splashed my face with cold water, and started anew. Perhaps I didn’t need to know how to construct a whole bone-joint system. After all, the palm was always horizontal so Timmy could stand on it, which left just the forearm and the upper arm. I came up with two rules:
- If the mouse was further away than the stretched out length of the full arm (~500 pixels), then the arm should be fully stretched.
- If the mouse was closer, the forearm would follow the mouse and bend, depending on how close the mouse was. The palm and upper arm would just follow.
It wasn’t a fully functioning bone system, and it was hard-coded to work for this particular situation, but after some tweaking it was convincing enough for Billy!
I was relieved to get over the arm system, and momentum had picked up. We were already making levels & everything was falling into place. I got stuck again, this time while trying to create a spider as an enemy.
I couldn’t figure out how to get realistic string physics like that. This was crucially important to the game because so far, this spider was the only obstacle that Bill couldn’t kill. Punching it would just make it swing (and thus hit Timmy if he was on Bill’s shoulder). Only Timmy could cut the string. Without this, you could just play the whole game with Bill and ignore Timmy. If I couldn’t this to work, the whole beautiful simultaneous-world-views thing would fall apart.
I was panicking again, and my fever was getting worse. I was so exhausted and my mind was groggy. Was the game really going to devolve into some boring generic sidescroller because of me? I was getting existential, and slightly delirious.
But there was no time for that. I ran to wash my face with cold water again, but it wasn’t enough. It would wake me up for just a few seconds, and by the time I dried my face and got back to my desk I was warm and groggy again. I had to step it up.
Cold Shower Coding
Cold Shower Coding is the practice of writing code immediately after stepping out of a cold shower and before putting clothes on. It is usually accompanied by frantic problem-solving, a fever, and a pinch of despair.
I was dumping cold water on my body, running to code, and repeating every 10 to 15 minutes as my body warmed up again. I was shivering but my mind was clear. I was shoveling cold green beans & rice leftovers in my mouth to boost my energy. I put aside the spider code for now, and worked on finishing the levels, the final boss, and putting together the menu, preloader & splash screen. It was all coming together! We were so close!
Everything was practically done except for that spider. I was staring intensely at the code. There were 2 hours left to submission. There was no time to figure out & implement a real physics solution. I had to be clever. Could I come up with some hack like I did for the arms?
That was when I saw it.
Not quite the solution — but a spider. A real spider, at my desk, just dangling at the edge of my monitor.
I wouldn’t have been surprised if I was actually hallucinating. The last time I was this sleep-deprived I kept hearing a distant phone ringing when there was nothing there.
I reached out to poke it. It was very real, as far as I could tell at least. Just a lone spider, dangling with the tiniest white thread.
I want to pause here and emphasize how peculiar this was. My mom kept this house meticulously clean. I had never so much as seen a little bug around here in a long time. Why was there a spider here, not in some abandoned corner of the apartment, but here on my computer screen?
I did what any sane programmer would do at 2 am with just an hour to the deadline — I grabbed the white string with my finger and began to move it side to side in front of me, watching it carefully, trying to figure out how it worked. What was I missing here?
Now, spiders in real life are a lot lighter than I had imagined. It doesn’t swing like a pendulum. It was very light, almost like a balloon…
That was it! A spider was just an upside down balloon! It was an epiphany.
It had to be a sign, my despairing delirious self thought.
This spider must be divine.
Sent to me in my darkest hour to expose its secrets.
I had already created balloon physics before in a different game.
All I had to do was flip it upside down! That was just it. I set the holy spider down gently and began furiously coding. It ended up working perfectly. I jumped up and exclaimed with joy.
I didn’t think anyone would believe what had just happened. I couldn’t even believe what had just transpired. What were the odds a spider would appear just at the moment I was trying to figure it out?
I lean back in my chair to momentarily reflect on probability theory, the spider that saved Prophet Muhammad and the nature of God.
But there was no time for that. It was time to submit.
Submission hour for a game jam has a special melancholic feeling. The marathon is over, but you’re not quite done yet. You can’t just collapse on the finish line. You’ve still got to pack up your belongings and find your way home, but you know the hard part is over. It’s all over.
It’s bittersweet because it’s fun to take screenshots, make some gifs, and dress it up nicely, but you have no idea how it’s going to be received out in the wild. Will people hate everything you’ve labored for? What if you forgot just one thing that makes it completely unplayable for some people? It’s nerve-wracking, but it’s exciting.
I didn’t think it mattered too much how it was received at this point. I almost killed myself making this game. The vision I had for a game just 3 days ago was now complete and functional. The vague idea was now a reality to be shared. I did not waiver nor back down. Nothing could take this away from me. I felt powerful.
I was waiting for a couple more screenshots from my artist before hitting that submit button. I gazed longingly at that button. One click was all that stood between our precious creation and the world. It was like sending your kid off to college — you know things will never be the same again. Everything around me faded away, and my laptop shone with a brilliant light amidst the darkness. A bit too bright actually. Also, my internet had stopped working and my laptop was running on battery.
The power had gone out.
Intense panic ensues.
The Power Grid
In the spring of 2012, power outages in Egypt weren’t very common, but they weren’t quite rare either (it happened perhaps once a month). Had I submitted just a few minutes earlier, the power would have gone out as soon as the game jam ended, and it would have been another grand divine intervention to go to sleep; a sign that my work was done.
But this is not how my story ends. I was panicking because I was the one who had compiled all the final changes on my computer. I had the game file, I had typed up all the descriptions, controls, and figured everything out for submission. We were so close.
I would not accept defeat. We had come so far. How would I transfer the file over to him? I would need power. No, all I needed was internet. My dad owned a USB internet stick. Was it even still in the house? Was it even still functional? It was my only hope.
I rummaged around the house in the dark at 3 am, looking through briefcases and briefcases within briefcases (my dad owned a lot of briefcases) before I finally found it.
I plugged it in, it connected. The chat came back alive. I grabbed the final screenshots. I submitted it.
It was over.
Tiny Timmy and Big Bill ended up winning 1st place in the “innovation” category over at least a couple hundred entries (there was almost 2,000 total entries but the solo & team games are ranked separately).
I had designed the game to be a single player experience, but the most heartwarming thing was hearing from people who would play it with their younger sibling and try to cooperate together. It was something I had not foreseen at all, but really enjoyed thinking our game inspired some sort of bonding amongst siblings.
I am proud of what I accomplished here, but that was the last time I forced myself so far beyond my limits. This is something I struggled with for a long time because these unhealthy habits often produced results. The game did win after all. But it’s not necessarily because I didn’t sleep or eat. Perhaps I wouldn’t have gotten stuck for so long on the arm mechanism had I gotten some rest.
My current strategy is to step away from the computer when I’ve hit a wall of frustration and am not making any progress. I’ve learned that the hardest problems do not give way just by throwing more effort at them. A good hour of clear thinking beats 5 working in groggy exhaustion.
I learned to just take a break when I’ve got a fever.