How Game jams are an amazing way to learn game development

Parminder Singh
Chingu
Published in
6 min readJan 2, 2019
The finished game :)

So you have a lot of interest in game development but you have no team. Also where will you get an idea to build a game about? Game Jams!

What is a Game Jam?

It is a contest where you get a theme in start and a deadline before which you need to finish and submit the game. It is like a hackathon but for game developers.

Where to find one?

There are always 10+ game jams running simultaneously on Itch.io. So you can easily find one that fits your schedule. If you are very busy you can pick a weekend one like I did.

The UI is so friendly too :)

How to get a team?

One amazing thing about these game jams is that there are always Discord channels or Forums associated with each. Here you can post the type of work you want to do and you can team up with others that are finding you.

It can be scary most of the times to ask out someone. But has it ever been easy? Think it this way, you are here to learn. You want to enter this contest so at end of it you know a thing or two more about game development than your current self. These jams are popular enough that you will surely find another newbie teammate.

Can I do these solo?

Yes, there have been game developers that are successful as solo devs. But personally I prefer working with a team. It divides the work and you finish faster. Speed is important in these jams.

What if I fail my teammate?

Keep this pressure, use this as a motivation that you want to prove yourself. There is a limit to your knowledge but you have to push it. Also your team should always decide a game idea that would not cause a lot of pressure. Keep a simple and enjoyable idea.

Idea…?

As a beginner your idea must be simple like a platformer, endless runner or a puzzle game. Mix in the game jam theme in it. e.g. if the theme is “hangover”, make an endless runner with an alcoholic man. If the theme is “sun”, make a platformer where the main character can drop a sun beam from above.

In games, the best fun arises when you use something familiar to the players and add a twist to it.

What tools to use?

I used Unity engine as it is very beginner friendly and you can easily search your errors. It uses C# for its code. Don’t worry if you don’t know C#, there are a lot of other solutions too like Phaser (JS), Godot (Python-like), Pygame (Python), Pico-8 (Its own lang) and many more.

You can choose the one that compliments your coding skills. For the art and music, there is no special need. Use whatever image editor or audio editor suits you.

How does submission work in these?

It depends on the organiser but there is mostly public voting. You put in your game files and create a eye catching page and description. You need the attention of people! So that you get more plays and you get more reviews. The players then rate your game on various factors like Art, Sound, Story, Innovation etc.

At end of the judging period, your game is given some rank which you can brag about. The reviews show the ratings on each aspect so you can improve on those next time.

This ends the motivation part :)

My Game Jam Experience!

I had bought a Unity course recently and I started to follow it. Unity started to seem interesting and easy to work with. Now I wanted to build using it!

I knew about game jams by then because I had made a game previously. It was very bad because I went the solo path. This time I wanted a teammate along with me! I have an online friend from Sweden that loves to make art. She had never worked on any game either so I asked if she could join in and she agreed. Her first question was an obvious one.

But what will we build?

I looked on itch.io’s game jam calendar. Christmas Game Jam looked great! The exact theme was to be declared the next day.

The themes I pre-planned were,

  1. A platformer where Santa defeats evil elves.
  2. An endless runner where Santa will dodge Grinch.
  3. An endless runner where Santa will drop gifts into houses.

Now we waited, and on Saturday morning I open up the page and theme was “You’re on the naughty list”.

I brainstormed for fifteen minutes and then came up with the following idea:

An endless runner where Santa will drop gifts into houses that can have nice children and naughty children!

With this idea in place we had the key elements of our game. We had to be fast as we had just two days!

Every game needs some music, and I found some stock Christmas music that sounded good. Then I needed to make it turn on and off. I needed the settings on the main screen. We decided the game name will be… “Santa delivery”.

At end of the first day, I learned to build a Game Manager singleton! It made everything very simple. It is like a store in Redux if you have a React background like me.

Main menu done!

Now, instead of making the game itself, we made the gameover screen instead.

:) My highscore!

Then we called it a day. Next day we had to build the game!

Here is the advantage of being in a team: while I am working on orienting a bunch of white squares on the screen and making them work, she was building the assets for Santa, houses and gifts. Asynchronous execution is beneficial if the Promises resolve. :)

When the Santa was done, I had finished the gift dropping

Meanwhile I also caused some “weird” bug.

Hehe non-euclidean space

But at end, everything worked out.

We submitted the project, Santa Delivery, on Christmas Eve! :) I even published it to the Google Playstore for showing to my android friends in the future.

Then I got the feedback from friends and family. They loved it! Meanwhile I also got comments on itch.io submission.

And finally, we got the score and ranks!

Very satisfactory!

To conclude, if you are into game development, I highly recommend taking part in game jams. You’ll have something to show your next employer, you would get tons of ideas that you won’t make for the game jam but you can build those in the future. You get a quantified score and reviews that help you in finding out what skill you need to improve.

--

--