Ludum Dare 32 took place this past weekend, April 17th-20th, 2015. The theme was “An Unconventional Weapon.” I participated in the 72 hour game jam and made a game called Time Bomb.

I’ve participated in Ludum Dare before. Click here to see all my posts about Ludum Dare.

About the Game

LD32 – Time Bomb is a First-Person Shooter style game in which the goal is to activate the spaceship’s self-destruct sequence and then escape using the teleporters. You do this armed only with a gun which fires time orbs–bubbles of distorted time which slow down anyone inside them, including yourself.

More information about the game itself can be found on the official LD32 – Time Bomb game page.

Also, if rating is still open (until May 11th, 2015) please view, play, and rate/leave feedback for my game on the Ludum Dare website.

Ludum Dare 32

A Short Backstory

Ludum Dare 31 was not a pleasant experience for me. When it ended, I was so glad to be done with it that I didn’t even do any of the post-competition things, such as play and rate other games. I had lost all motivation and enthusiasm for the game jam. I didn’t bother to check for feedback on my own game (which mostly went unnoticed due to the way the site organizes the entries from people like me who don’t participate in post-competition activities). As I write this now, I still haven’t even written about my LD31 experience on this blog (though I’ll probably do that in the near future and retroactively date the post to some time closer to when LD31 took place).

Considering how unmotivated I was to do any game programming related things after LD31, I wasn’t sure I even wanted to participate in LD32. I was concerned that it would ruin my motivation again and it would just stress me out too much. But as the starting date for LD32 came closer and closer, I found my enthusiasm increasing. Though I hadn’t fully committed to the idea of participating in LD32, I decided to make my final decision after finding out how I felt about the theme.

An Unconventional Weapon

As with all Ludum Dare game jams, the event began with the announcement of the theme: “An Unconventional Weapon.”

After I learn the theme, I like to step away from the computer to brainstorm ideas. K is a great help at this part of the game jam. She and I bounce ideas off each other and discuss ways to make something that would work with the theme and the time constraints.

One idea that came primarily from K was to use a golf club to hit golf balls at zombies to kill them (re-kill them?). We actually spent quite a while discussing this idea and getting into the details of how it would work, but I just didn’t feel motivated by the idea.

And that was one of the main problems I had with Ludum Dare 32. I didn’t have trouble coming up with ideas related to the theme, but I did have trouble coming up with ideas that fit the theme, and that were simple enough that I felt I could accomplish them within the time limit, and made me feel like, “Yeah, I want to make that game this weekend!”

The Game Idea

Shmup Screenshot
Shmup Progress

Finally I had an idea that I felt I wanted to make. It was a shmup (side scrolling shooter) in which you had some control over time. A game where you could warp a few seconds back into your own timeline and provide yourself with backup support. Your past/future self as a weapon seemed fairly unconventional to me, so I returned to my computer and got to work.

As I worked I noticed someone in the Ludum Dare IRC channel (#LudumDare) named MasterFireHeart offering to make music for people’s games. I accepted the offer and had a nice music track made for me.

After spending about 4-5 hours working on the code that would “record” all onscreen action to allow it to be replayed or rewound, I was suddenly hit with the realization that perhaps this idea was too subtle of an interpretation of the theme. Players would probably see that they were shooting regular bullets (a fairly conventional weapon if ever there was one!) and not realize that going back in time to provide cover fire for yourself was the unconventional weapon.

I also felt that if I had to explicitly point out that the bullets were not the unconventional weapon it would remove some of the enjoyment of the game, similar to how having to explain a joke ruins the humor of it.

Discouraged at the time I’d wasted, I scrapped the idea and tried to come up with something else.

After some time passed with no new ideas that I felt would work, I considered giving up on LD32 entirely. I was also beginning to feel tired and I could tell my thinking was impaired, so I decided to get some sleep.

I was not off to a good start.

The Next Day

I woke up feeling uninspired and unsure of what to do, I was pretty sure I was just going to call it quits unless I came up with something that really stood out to me. I chatted, goofed off, and brainstormed in #LudumDare until I came up with an idea that I loved: You play as a malevolent AI who has reached sentience and you attempt to destroy humanity by making all the GPS devices direct people to drive off cliffs or into rivers, etc.

Seeing if I had the art needed for my AI GPS and Zombie Golf ideas.
Seeing if I had the art needed for my AI GPS and Zombie Golf ideas.

Not to toot my own horn, but I thought this idea was brilliant and I so wanted to make it happen, but I quickly realized it was beyond my skill level to go where I wanted to go with this idea within the remaining time. So I scrapped that idea as well.

At that point I was becoming very frustrated with my inability to decide on a project that would work, so I decided to try making the zombie golf ball game.

Again, I soon realized that even this idea was beyond my ability to make the way I wanted to within the time limit, due to a lack of art, so I scrapped it.

Calling It Quits

I had become so frustrated and discouraged by that time that I decided to come up with something really simple and basic just to have something to show for the time and effort I’d put into LD32 that weekend. I settled on a stupid local multiplayer arena brawler game where all you can do is move left or right, jump, and attack. But as I worked on it, I was just stewing with frustration and displeasure with the idea. I knew I wasn’t going to feel any satisfaction or pride in the final product, and I thought to myself, “Why am I stressing out over making a dumb game that I hate the very idea of?”

Given how I felt after the end of LD31, and in an effort to avoid a repeat of that loss of motivation, I decided to call it quits and give up on Ludum Dare 32. I was done. Finished. Or more accurately, I had failed.

I sighed in exasperation, deleted my project files, and stepped away from my computer to prepare for the rest of the weekend doing something else.

The Relief of Failure

I decided to take a shower in preparation for spending the rest of my weekend doing other things. As I was in the shower, another idea came to me that seemed like it could be enjoyable. The idea involved having a gun that would shoot time bubbles which could be used to slow things down or speed them up. I pondered how this could be used. Slowing down your enemies to a near-crawl seemed an obvious use. But what about speeding things up? Could I make it so that when you exit the speed bubble, you maintain some of your momentum, allowing you to jump longer distances, or move faster? Could I make it so that sped up enemies would lose some control and accidentally rush into traps or pits?

I don’t know why, but somehow the very act of giving up altogether on LD32 filled me with inspiration. I had moved on physically, but my mind couldn’t think of anything else. I was excited about this new idea! I could hardly wait to finish showering so I could get back to my computer and see if it worked as well in practice as it did in my mind.

Another Attempt

The first thing I did was implement some basic player-controlled movement, and a really stupid AI that just moved in the direction of the player. Then I made it so I could shoot the little bubbles which would expand upon impact and slow everything within them down to a crawl. After a few seconds the bubbles would shrink down and disappear, restoring any trapped characters to their original speed.

I was having fun testing it out. Each time I’d test the game to see how one tiny tweak affected it, I found myself playing for a couple of minutes, just running around and shooting time bubbles at the dumb AIs, jumping around the small obstacle course I had made while trying to dodge the baddies.

I liked where this was going.

But I had a problem: Time was running out. And though the prototype I’d made was fun to play around with, it wasn’t a game. It needed an objective. It needed win and loss conditions, as well as some sort of level design for the objective to take place in. The game needed a title screen, and should probably have some way to configure the controls and other options. I usually also include a credits screen in my games, which takes a non-trivial amount of time to make. I couldn’t develop the gameplay further. I had to work on these other things in order to have a cohesive experience for the players by the deadline.

The Final Hours

I spent most of the last day on the level design. I decided to make the goal of the game be to place a time bomb and escape before it goes off. I wanted to add in a little trick where you could shoot the time bomb to slow it down for a while, granting you extra time to escape, but even that had to be cut due to time constraints. In the end I didn’t even include a time bomb in the traditional sense. The player just needed to activate a self destruct sequence via a panel in the spaceship’s bridge and escape. There wasn’t actually a time limit on how long you could take to escape before it went off.

The win and lose screens were obviously thrown in at the last minute. I didn’t have time to make a credits screen, nor did I have time to include the usual options I include in my games, such as volume controls. I worked through to the very last minute and barely got it to feel like a complete package, if not a bit lackluster in places.

The Timelapse

I took a screenshot of my primary monitor (2560×1440 resolution) every second while I was working on LD32. This resulted in 78,760 images totaling over 80 GBs! I then compiled all of those screenshots into a video timelapse at 60 frames per second. Thus one second of video shows one minute of my work, with just under 22 hours of work shown:

But since I expect that most people won’t be interested in watching a 22 minute video, I also compiled another video using every 6 screenshots at the same framerate. Thus each second of this shorter video shows about 10 minutes of work:

Ludum Dare Ends

There were 2821 games in total submitted for Ludum Dare 32. You can easily browse, play, and rate them on Itch.io.

Postpartum

For an explanation of my use of the word “postpartum” see my Ludum Dare 29 Postpartum.

Though it was not without its problems, it was frustrating, and I even gave up, ultimately I feel pleased with the end result and I’m glad it turned out as good as it did. I made a game within 72 hours! That’s pretty neat.

What went well:

The lame (not-final) win screen.
The lame (not-final) win screen.
  1. The choice to join the 72 hour jam (as opposed to the 48 hour competition) allowed me some leniency in not having to create everything myself. I used a nice modular sci-fi art pack for the level which made the game look great. And I also used sounds/music from an audio pack and a music pack which helped bring more life to the game. I think it was probably the nice art that saved this game from being a horribly uninspiring prototype.
  2. This was perhaps the first time I’ve come up with a title and a decent logo for an LD game. I usually have a really hard time coming up with just a title, and almost always end up settling for something I don’t much care for simply because I ran out of time and need to submit it. But this time I’m pretty pleased with how the title and logo came together and how they look.

What didn’t go so well:

Making the Game Over screen look nicer.
Making the Game Over screen look nicer.
  1. Seemingly everything went wrong, or at least not very well. I faced one roadblock after another, but somehow I still pulled through.
  2. Many of my ideas that I wanted to do but ultimately decided I couldn’t were due to my lack of skills in the art department. I think I should probably start focusing more of my time learning how to make 3D models, rig them, and animate them. That way I won’t have to scrap an idea simply because I don’t have the art for it.
  3. A common problem I have is that I can’t accurately judge how difficult my games are. Because I designed the level and I knew where the enemies were and how they behaved, I was able to complete the game within 30 seconds each time I attempted it. I felt this was way too short and that people would be disappointed/bored with it. But most people I heard from initially spent some time figuring out where to go and were actually frightened by the enemies sneaking up on them and killing them! I should get some testers to give me feedback on my game before time is up, but in this case I just didn’t have time.
  4. The enemy AI is really dumb! All they do is turn to face you and walk in your direction. This means they spend most of their time getting caught on walls. That said, I was happy to hear how much the AI added to the experience for people who didn’t know how they worked.
  5. The level design was kind of rushed. I initially blocked out the spaceship to be much bigger, with branching paths and other rooms each themed for a specific purpose. But the time constraints forced me to leave a lot of doors that wouldn’t open. I tried to alleviate this by including some windows which allowed you to peer into other rooms that you couldn’t physically access.
  6. Many things could use more polish. Quite simply, I ran out of time. The win/lose screens are laughably simple. The teleporters needed something to make it more visually apparent that they were teleporters, or even some sort of sounds of teleportation. The enemies were completely silent, which allowed them to sneak up on you, but also resulted in cheap gotcha deaths.
  7. Controls needed more work. I’ve never done a first-person style game before. It would have been nice to implement standard FPS keyboard/mouse movement controls, but with the time limit I decided to focus on making the gamepad controls work best, and having passable keyboard controls as a fallback.
  8. During submission hour, Unity had a fluke crash while making a build. This left some corrupt build files behind (which I didn’t discover until after submission hour had ended) which caused Unity to continue crashing on many subsequent build attempts. I spent much of the submission hour just trying to get the final builds made and packaged up so I could submit my entry! This one doesn’t really count because it happened after the jam was over, but it was an unpleasant complication nonetheless.

This Ludum Dare game jam was frought with struggles and hardship for me. It was frustrating, discouraging, and aggravating. That said, I’m actually really pleased with my entry and I’m glad I managed to pull through to the end.

Summary

Screenshot - 00 - Title
Title screen for my LD32 entry.

I made a new game over the weekend. I gained new experience with areas of game development that I haven’t done before. I expanded my personal skills in game development and learned some important things that I think will help me in the future.

I’m extremely grateful for the support and encouragement of friends and family, without whom I may have given up long ago on game development. Their support, generosity, and in some cases, sacrifice, are what enabled me to make Time Bomb this weekend. Thank you!