The Game of Jamming

Reflecting on twenty years of Ludums and Dares, the “game jam” has become a staple of game development education, recreation, and the profession. Who knew what taking a “dare” too far would do?
How I found myself in a jam
Growing up, I was obsessed with computers and video games. If I wasn’t playing games, I was reading about or dreaming of making them. I read and reread the same books on programming the Commodore 64--my family’s 8-bit computer. I repurposed stacks of perforated printer paper as sketchbooks. I doodled maps and chunky pixel fonts on every sheet of graph paper I found. I’d hang out with friends to play their Nintendo or Sega Master System to expose myself to more and more games.
I was that kid.
The obsession continued through my teens. In high school, I was building role-playing games, coding real-time graphics on MS DOS, or showing my computer teacher what to teach the class. By college, I had a portfolio of computer games and homebrew GameBoy games I’d released freely on this new thing called “the internet.” In 1999 I dropped out of college to accept a job as a professional game developer. I was 19.
I’d like to say things slowed down for me, but they didn’t. I was a game-obsessed man child that fell into a career, somehow thrived in that career, and went on to develop and lead numerous kid games for GameBoy, PlayStation, and mobile.
Making games professionally was different though. I was a hired gun, a programmer, doing client work. I wasn’t creating and designing games like I was before. Instead I was working (indirectly) with Disney or brands like Barbie, creating what they wanted with my team. Getting paid to do it was nice, but I missed the old days. I missed making my games.
My friend Geoff started an online forum. He wanted to build a community for developers that were serious about making games. The problem is websites like Flipcode and GameDev.net were already home to large forums discussing game development. Why should anyone care about this one?
He posed an unusual question: Does anyone want to try making games from scratch in 24 hours?
“That’s impossible! You can’t do that! Games take months or years to make!”
“I’m in!”
A few dozen of us got together on the forum and chatroom and did exactly that. The games varied wildly in how playable they were, but by the end we had 18 brand-new things that didn’t exist 24 hours before. We were exhausted--many of us didn’t sleep (not recommended)--but we were thrilled by the result.
“Let’s do that again!”
And we did. 24 hours was hard, so we decided that next time would be 48. I drafted the official rules, we picked a date, and we ran our first of many 48 hour events. Over 100 people showed up and (amusingly) created 48 games.
It was clear we were on to something, but more importantly we were doing it for us. This was something we wanted to exist because we wanted to take part in it.
It was motivating.
We all wanted an excuse to make more games. There was nothing stopping us from independently doing it, but something about doing it together and competing was far more exciting.
We didn’t invent the competitive programming competition, nor were we the first online programming challenge. But everything else was either an in-person event, or an online event tied to a specific tool (Allegro, Python, etc). There was no online crossover event, no place for the Python developers, the C++ developers, and the Flash developers to all come together and create.
Geoff’s forum never took off, but with our friends we created something amazing together. I never expected to still be running it 20 years later--more than a decade after the other co-creators moved on--but I suppose this is what became of my life long game obsession. We kept the name: Ludum Dare.
Reflections
Over the past twenty years, our community has grown larger and more prolific than we could have ever imagined. Our first event saw a respectable 18 games submitted, while our most recent event saw 2900 games from over 8000 people that signed up. Numerous games that began in Ludum Dare have gone on to become hits and bestsellers on mobile and Steam, as well as across every console from the current and previous generations. Many creators cut their teeth making games with us, or took a break from their jobs to test and hone their skills. So many new creators continue to join us to see if jamming or game development is right for them. I’m humbled that so many of you continue to join us after all these years.
Something I’m really proud of is what we did back in April of 2020. Everyday a different conference, trade-show, or event was being canceled. Not us, because Ludum Dare is an online event. We went on to break every record of ours as over 13000 people signed up and created just shy of 5000 games. It was an incredible thing to see during such a nerve wracking and uncertain time. With so many things changing every day, I think it meant a lot to have something that didn't.
Given my history, I never expected web development to become a big part of my life, and something I really enjoy. I remember hacking away at the WordPress theme of our older website, but I remember distinctly trying to avoid getting too deep into PHP because “I was a game developer, not a web developer". I’m glad I got over that, and that the lines between games and the web have blurred so much. My forte later in my career was making my code run everywhere. “Write C and C++ code to this older specification, because console vendor Y ships an old GCC, and vendor X uses Visual C++, so I can't use this”. Nah, forget all that, just target the web. There’s no better way to share a game: send a link; recipient clicks and starts playing right away. No download required!
The rise and fall of development tools is something that’s fascinated me. We had a front-row seat to the fall of Flash and the rise of Unity. Flash used to be everywhere, until one day Apple decided, “nah,” and the industry (including Adobe) accepted its fate. Even though I've been doing this for 20 years, I never had a great excuse to try-out and explore other game making tools: I already used the advanced stuff. But this past year, I've had the privileged of helping my wife learn to make games. I would crash-course myself in a tool so I could answer her questions. This meant I finally had a chance to learn Game Maker and PICO-8, both well loved tools that have been around for so many years.
Oh by the way, I got married back in July.
Last year we achieved the impossible: the original “48-hour game jam" ran its 48th event. This year we hit Ludum Dare 50, and the impossible age: Ludum Dare is 20 years old. I used to joke about these happening.
I need a new joke.
What we do here is incredibly important to me. I've been nervous about changing what we do, but having achieved even our jokes, the only way forward to evolve. 20 years is an extremely long time. Few of us make games like we did 20 years ago.
What’s next?
At a high level, I want to see big improvements to the experience for both the users that have been around a while, and those that are brand new. I’ve covered some of the short term changes in this post here.
For Ludum Dare 50 we introduced Extra, the first change to the Ludum Dare event format in nearly a decade. Extra will continue to evolve and improve as we go.
Something that’s been on my wishlist for years: Playing embedded games on ldjam.com! We used to support embedding Flash games hosted by anyone, but in hindsight, this wasn’t the best idea. I wasn’t prepared to support game embedding on ldjam.com unless we could do it securely, unless we could cover the costs, and unless we could do it without burdening our servers.
Our work with Akamai
My friend Jesse Freeman has been (rightfully) pestering me for years to accept sponsorships. When he joined Akamai a couple years ago, we got in touch again. This was a rare and exciting opportunity for me. I've used Linode and CloudFlare for many years as my go-to for servers and CDN, and that combination has done a great job creating a fast responsive website. But at the time, that was the limit of what we could do with them. As a gamer, I fondly remember seeing “Akamai” mentioned in game download URLs. I wondered if game downloads were something we could do with Akamai too?
Yes.
I worked with developer advocate Mike Elissen to move our CDN to Akamai, and explore how to best introduce game uploading and embedding to Ludum Dare. Akamai’s NetStorage and Download Delivery are a natural combination for hosting and delivering files, but unexpectedly NetStorage made supporting embedding games really simple: NetStorage can serve files directly from ZIP archives! Finally, we could avoid burdening our servers with files by generating URLs and headers we could safely give users to upload directly to NetStorage. Everything we needed was there.
Mike has been a great help as we dive deeper into the spam problem as well. We’ve been tracking suspicious activity, and have some good data we can use to begin mitigating things. This will take a bit longer to show, but I'm happy to have help with this.
I’m really excited about what we’ve done so far, and look forward to what comes next.
In an unexpected turn of events, earlier this year Akamai acquired Linode. I’ve been a happy Linode customer for the past 7 years, and I think this is great. I think Akamai and Linode compliment each other really well.
Wrap-up
That’s it from me. I hope you join us this weekend for Ludum Dare 51!
Thanks everyone!