Last week I participated in the 2021 GameDev.tv Game Jam .
It was technically my second game jam but it was the first one where I really felt 100% committed. The jam was so fun from start to finish and now that I’ve had time to process it, I wanted to write down some tips for any other developers interested in doing one.
This article will be focused mostly on game jams, but I think the tips can also apply to hackathons or other time-sensitive coding projects. Feel free to use the links I've provided to skip to the area of the article that's most relevant for you.
- What is a game jam?
- Where can I find game jams to enter?
- What programming languages do I need to know?
- Stick to your skill set
- Done is better than perfect
- Adhere to the theme
- Don't overwork yourself
- Engage with the community
OK let’s get the basics out of the way. What is a game jam anyway?
If you’re new to game development, then you might be wondering what a game jam is and whether you should participate in one. For a long time I would see game jams pop up on my Twitter feed and marvel at all of the awesome projects people were working on. But at the same time, I’d dismiss my own abilities and think I’d never be good enough to work on a game jam myself. Oh, how wrong I was. As it turns out, game jams are for developers of all skill levels, not just experts. In fact, I think that working on a game jam is one of the best ways for new game developers to build confidence, design and work on a project from start to finish, and level up their coding skills.
Game jams can be anywhere from a few days to a month long, but most average out at about a week to ten days. Every game jam has a theme. Sometimes it is a total secret, but sometimes the theme is voted on by the community before the jam actually begins. Depending on the jam, there may be different rules regarding the use of assets from places like the Unity store but the general rule of thumb is that free assets are OK, paid assets are not. And of course, attribution is necessary when you’re using assets that are not your own!
Once you’ve submitted your game, there’s a period from a few days to a few weeks when you have the chance to rate other games that have been submitted. Usually there are different categories you base your rating on such as Gameplay, Visuals, Audio, and Adherence to the Theme. While a game jam doesn’t typically award prizes, at the very end of the rating period you get to see how your game scored in relation to other projects in the jam. This is excellent feedback that you can carry forward and apply to future projects in your game development journey.
Now that you understand the basics about game jams, you might be wondering where to find them. The best place to look is on Itch.io, which is a free game-hosting platform. You’ll see a ‘Jams’ link right in the top menu bar on the homepage. On the Jams webpage, there is a full color-coded calendar which displays current and upcoming jams. Each jam has its own webpage with additional information about the theme, duration, any special rules, a community tab, and a sign-up link. You can even host your own jam but as a beginner, I recommend joining an existing one to get some experience first.
So let's say you've found a game jam you're interested in but you're not sure if your coding is up to snuff. The good news is that if you're not much of a programmer, there are ways to make games without knowing much about coding at all. While most game making programs do require you to have some coding knowledge if you want to make something customized or unique, programs like Twine or GameMaker are beginner-friendly options for the non-coder. Of course, if you're considering a career in game development, then you'll probably want to spend the time learning one of the two main game engines: Unity (C#) or Unreal (C++).
The program you use will depend on the game jam you choose. Some jams specify a program/language, while others allow the developer to choose. Pay careful attention to the game jam instructions and make sure you're following the rules before you start working on a submission.
In case you're new to game development, I made a chart which shows the most popular game development software and their associated languages. Keep in mind that some of these programs officially support additional languages beyond what I've included in this chart.
OK, now that we’ve got the basics out of the way, let’s look at some tips for trying your very first game jam. These are tips I wish I had known a year ago so that I could have tried one sooner. A lot of these tips will apply to hackathons too so if you’re a web developer I hope you find them useful.
A game jam is probably not the best time to try to learn an entirely new branch of coding or try out a complex piece of syntax. Of course, it’s great to challenge yourself but trying to take on something overly complex will not be in your best interest.
For my most recent game jam project, I knew I wanted to practice using for loops because they’re something I still feel uncomfortable with. I definitely pushed myself out of my comfort zone a bit by using nested loops but I didn’t try anything crazy with my code. There’s a fine line between challenging yourself and designing a project that’s impossible to finish within the timeline of the jam. Make sure you know where your skills are at before starting so that you don’t end up over-committing and having to scale things back at the last minute.
When you’re working with a time limit, it’s more important to get your project done than have it be completely bug-free. Most game jams acknowledge this up front. There will be time to iron out small issues or build upon the features you’ve got in your project later. Community members who rate your jam game will also be aware that there were limits to the amount of features you could build. They’re not expecting to see a Triple A game when they click on your page by any means. And having bugs to fix or issues to iron out is a fun project you can tackle once the rating process is over and the jam is officially finished.
I’ve seen so many game jam submissions that only vaguely touch on the theme. I guess it’s not a huge deal but I think it’s kind of disappointing because creating something based on the theme is part of the challenge and the fun. It’s a great chance to flex your creative muscles, particularly if you’ve been stuck in a rut. It sucks as a community member when you have to give an objectively good game a lower rating because it doesn’t fit the theme. So spend some time thinking upfront about how your game will incorporate the theme before diving in and building it. The best jam submissions are ones that reflect the theme organically. Trust me-- you can tell when the theme has been jammed into a game at the last moment and your rating will probably reflect this.
We all like to joke about how we work late into the night or even pull all-nighters and this is fine once in a while. But if you can help it, don’t make overworking a habit. A game jam or hackathon can be an important milestone in your developer journey, but odds are that it’s not worth sacrificing your mental and physical health over. So take care of yourself and get some sleep! Bug fixing in particular is something that is often so much easier after a good rest. Honor yourself and the work you’ve put into your game by keeping your mind and body healthy, fit, and strong.
So let’s say you end up submitting something that’s unfinished or that you’re not really happy with. That’s OK! One of the most important aspects of a game jam is totally independent from the quality of your project, and that’s connecting with the community. Most game jams host a Discord server or discussion forum where you can start meeting fellow developers before the submission period even begins. During the rating period, you’ll have the chance to trade feedback with them and discuss design and technical issues. It doesn’t even matter whether your game is what you thought it would be; take advantage of this unique opportunity to connect with other developers who have the same skills and passion as you. I’ve met so many cool people through jams and typically everyone in the community has been friendly and inviting.
A screenshot from my latest game jam submission called Grave Digger.
I hope this article familiarized you with game jams and made you feel more confident about participating in them.
Game jams are an awesome way to meet other developers, practice coding, and flex your creative muscles. Even if you're a beginner without much experience under your belt, there are ways to participate in a game jam and you shouldn't shy away from the awesome opportunity to level up your skills.
For seasoned veterans, game jams are a great way to test out a new game idea or mechanic. A jam's built-in rating system provides automatic feedback and is an indispensable resource for developers.
So what are you waiting for? Get your jam on and go see what you can create!