The Jam

Last weekend, I spent almost every waking minute working on a small game I ended up calling Sam.

At 9PM Friday, I shut down everything else, pulled up my workstation and proceeded to work on this game until 5AM, at which point I went to bed. Somewhere in between there was a 40 minute break. Anyways, after plunging into this arduous journey I came out on top some 72 hours (16 of which I slept) later at 10pm Monday, when the submission hour had ended. It was done.

This was the Ludum Dare, a game jam that challenges developers to make a video game in two (the compo) or three (the jam) days. I chose the jam, because I knew I wanted music in whatever I created, and am not currently confident enough in my music or sound effect production skills. The compo requires absolutely everything come from scratch, whereas the jam allows participants to use open source assets.

 

The Theme

I was ready and the theme was set: One Room.

I allocated the first hour to coming up with a rough outline for the game. I generally listen to music while working, but had to switch to a more neutral genre to avoid outside influences. I wrote down whatever game ideas came to mind in regards to theme:

  • Escape the jail cell.
  • Murder mystery – the story unfolds through clues in a single room.
  • Interrogation room – similar to the murder mystery, this allows the story to jump places through a narrative told during a police interrogation.
  • VR or computer situated in a singular room as a gateway (also works as a meta reflection on the player and video games themselves).
  • Bunker survival or management.
  • Surveillance room / some sort of over-watch.
  • A dark room – a story unfolds as photos develop.
  • Externally see the room, manage it in some sense (this one is pretty broad).
  • Abandoned in space, there is one source of oxygen. The player must control airlocks to manage oxygen flow (they must maintain their own single room to keep breathing).

If you played the Sam, you’ll see I ended using a couple of theses in conjunction. If you haven’t; spoilers ahead. Looking back on these themes, it was pretty clear that I wanted some sort of narrative driven game. I got particularly attached to the space idea, as well as the simulation arch and went ahead developing that. Reflecting on the oxygen management and narrative, I decided I want player decisions to have game-play impacts as well. The first scenario that led me to incorporating choices was a hypothetical where the player has to decide to kill someone else on board the ship to make the oxygen supply last a bit longer. This was the main starting point for what I developed the game into.

 

The Development

Starting development was a bit of a struggle initially. After the first hour of outlining the game, I spent about another hour going through the story-line. I split it up into 6 scenes, where each scene would have a moral decision the player must make. In the end these ended up being a lot more blended together, but what this did do was give me clear milestones to work toward. If I had 3 days and 6 scenes, I would need to complete 2 scenes a day.

This was a good idea in theory, but in the end the first 2 scenes ended up being 50% of the work. The first scene was  a one off with single use assets, and the first scene in general so here I had to set up the weather systems, lighting, movement, characters, and dialogue. For dialogue I ended up using a template because I wanted an elegant solution and didn’t want to spend hour trouble shooting my own, or sacrificing functionality to save time. All other code was done during the jam. The second scene was the longest because I had to create so much original art as well as set up the sound effects and game-play systems.

I think this was the first game I’ve made where every single art asset used was created by me. This has always been a weakness for me, but I’ve been focusing on improving my pixel art this season and I’m pretty happy how it came out in the end. It may look amateurish to some, but I think it is functional enough to get the job done without being so bad it’s distracting. The end goal here isn’t perfection, but visible improvement.

Something that helped me a lot was to sketch out how I wanted each scene to look. Even if my sketches are terrible, they gave me a direction to go. Another thing that helped me out, and is a cornerstone of game development in general is creating re-usable assets. This is especially important during a game jam because you have such limited time. Design your assets so you can create content with it multiple times over. Here are some comparisons of the sketches and final results:

379 events built, 1,266 objects  placed, 50ish art assets, 14 grid notebook pages, 27 hour long youtube music mixes, about 5 episodes of Community during breaks, one all nighter, and two caffeine pills later, I was finished. In total I estimate I spent 47-50 hours working.

 

The Result

My mindset changed a lot during the development of Sam. I kept going back and forth between feeling like the game was going to be one of the best entries and that it was absolute garbage. In the end, I’m fairly confident and pleased with how it turned out. It’s not without a few flaws, but I’m proud of the finished product.

So what went wrong? Plenty. I over-scaled. I always over-scale. I had to cut quite a bit of content out to finish in time. Originally, I planned to have an actual escape sequence, with falling and exploding ship parts everywhere. I wanted the robot to be destroyed in an accident rather than powering down. I wanted a slide after the credits showing how your choices stacked up against other players. The entire oxygen level broke somewhere in the last hour of development. Luckily, I was able to go back and fix that one.

A cut statistics screen. It would adjust real time with player choices.

 

Scope is one of the most pressing issues in the industry. Bioshock Infinite, Halo 2, Fallout New Vegas, and countless other examples of games at every level of budget have cut content. A part of the reason I wanted to participate in the jam was to get better at scoping projects, yet I still over-scaled. Maybe the more important lesson here is that over-scaling is almost always inevitable, and the real value is in being able to cut content without crippling the game.

 

The Takeaway

To me, there seems to be 3 primary mindsets to approach a game jam with. While these obviously aren’t exclusive, and we should try to take on the best aspects of each, it can be helpful to categorize yourself in a way to clarify what you want to get out of a game jam.

  1. The Hobbyist – Those who jam for primarily for fun. This is not to say they don’t work hard, or make excellent projects, but they engage for the sake of the jam itself. They are a sort of purists, participating in the jam without an ulterior motive.
  2. The Competitor – They want to win. Generally seasoned in some form of game development, they want to be among the best, scoring in the top. They are willing to lose sleep, among other things, if that’s what it takes to finish.
  3. The Introspective – The introspective competes to learn. While high scores and having fun would be ideal, the first and foremost goal is to come out with a new trick or two up their sleeve. They are competing, yes, but above all else they are competing against themselves.

I started out somewhat of a competitor, and while I’m still hoping I can score high relatively, it was a worthwhile endeavor for the experience of it alone. In other words, I came out as the introspective. The Jam offers something unique: an objective self-evaluation of your skills in a given scope. If you asked me beforehand what I can get done in 72 hours, I would likely over or underestimate. Participating gave me a frame of reference of my game development efficiency that I can translate into a larger picture. I’m proud I was able to accomplish what I did in the time span. Never have I done locational audio, or relied on lighting this heavily in any 2D game I’ve done. On the other hand, I can see how far my goals are as well. What I did here is almost nothing what I want to be able to do eventually. My entry next year should put this one to shame, and that trend should essentially never end. Semper Improvidus.

I’ll be honest. I came into this jam already exhausted. Not physically, but mentally. I haven’t released a game in 11 months. I’ve been working on quite a few projects lately, but I haven’t had the opportunity to go full sail at a passion project in some time. I haven’t written a blog post in a while either. It’s hard to write, especially when you feel you don’t have anything worth writing about. A huge part of my motivation here was to do a full system reboot. I needed something to kick me into gear writing again, and it’s rough not getting feedback for almost a year. I’ll be releasing a lot my projects soon, but getting past that final stretch can be an uphill battle. This jam presented the opportunity to be creative again, to ignore everything else and start with a blank slate. That’s something with real value.

Next time I participate, I’d like to either do the compo to truly test my mettle, or do the Jam with a team for greater production capacity. I was impressed with a lot of the other entries I saw. As a whole, seeing all the competition is a bit intimidating, but the indie game industry is alive and well, and jams like these breathe even more life into it. Here were some of my favorites from LD37: Cozy Christmas, Smallest Dungeon, Toy Box Metropolis, and Voyage.