This is the postmortem for my Ludum Dare 21 game Escape from Planet 21. It was my first Ludum Dare entry and notably took 6th for graphics and 39th overall. It was originally published in 3 parts but I'm reducing it to two pieces for the new blog format. I hope you enjoy it!

The Contest

Ludum Dare is a 48 hour game design challenge. They announce a theme (picked from a wide field via five successive rounds of votes) on Friday night around 10pm local, and your one-man produced game built-to-order is due 48 hours later, Sunday night (around 10pm local). I knew about the Ludum Dare in principle; in fact, I registered for the last one, not realizing that registering did not put me on the mailing list, which meant I did not find out about the previous Dare until it was over. This time a friend in our local game design group mentioned during a Meetup the week before, and since my weekend was more or less free I decided to go for it.

The Vote

I entered halfway through and missed the first two votes; there were a lot of themes which game me immediate ideas for what I might do (Very Large vs Very Small, Castles, Ruins) and some I was less sure about (Evolution, Dreams, Espionage). The Evolution theme seemed a little strange since it was in the final vote along with Adaptation, Genetics, and Self-Replication- if this wasn’t based on approval voting I would say the themes split the the vote and collectively lose but the fact that they were all up there signifies (to me) that the LD base wants to do something with the broader theme of virtual life (or possibly repent, as an industry, for Spore).Escape won. I had actually considered this theme pretty strongly and decided early that if it was chosen I would try and do something about escaping the gravity well of a neutron star. Mostly I had a particular idea for a particle effect I wanted to add, and I liked the color palate of that glow-in-the-dark green/white (with a bloom filter) on black, which is how I imagine it would look as a game. That or otherwise building up enough escape velocity to leave a planet, star, black hole, etc.

The Game That Didn’t Get Made

So neutron stars are dense. Really dense. If you want to learn more about them, I urge you to read Dragon’s Egg by Robert Forward, which was the single biggest influence on the game that didn’t get made. Or, you know, Wikipedia. A platformer set on a neutron star would have some very specific constraints. For one thing, you wouldn’t be able to jump. Standing upright ought to be impossible in the first place (any human, or indeed any object on Earth, would be squashed sub-milimeter thin from the surface gravity) but for the sake of genre that could be overlooked. Similarly, any fall of any distance would be fatal and would happen essentially instantaneously since the gravitation force would accelerate your fall to relativistic speeds. So: how do you make a platformer with no jumps and no falls?

Second question: how do you escape from the surface of a neutron star? We’ll ignore the fact that tidal forces will rip your ship apart as you get close to it (or attempt to leave it)- I mean, we’re already weakening the gravity substantially by letting your survive on the surface at all, right? One thing I considered was trying to collect fuel packs which would actually be used in Project Orion style explosion-riding spaceship with an antimatter twist. You would have to navigate through some sort of platform maze (whose only diverging paths would have to be ramps where you’d hold up or down as you moved through them to indicate which direction to take). Overall it felt like I would be robbing the player of a lot of options, and so I decided to sleep, get an oil change, and go to a company picnic before continuing.

Playing to Weaknesses

Half a day had gone by and I hadn’t properly started, and prior obligations meant that I found myself in a car on the way to a picnic 45 minutes away. Constraints are freeing, they say, and during the ride all I could really do was think. I needed a game concept that met my own weaknesses with strengths to compensate for them. In particular, while I have what I consider to be relatively good Programmer Art, I don’t have good art. System Protocol One’s art is extremely minimal and gets by largely on two things: retro nostalgia and consistency.I am a great advocate of consistency in art for games (exceptions: there are games where specific, intentional inconsistencies are the point) because the human brain loves identifying patterns, and even terrible art, consistently done, is a pattern we can recognize. So the ideal concept for a game would be one with a simple art style that was easily applied across-the-board. I knew that my production values in general would be hindered by the rush, so the same would apply to graphics and sound as well.

I still wanted to use spaceships since for my first concept I had an alluring image in my head of what the Escape-From-A-Neutron-Star game would look like:

Retroactive Concept Art!

I came to the conclusion that B-Movie science fiction- the sort that MST3K routinely made fun of- was the vehicle I would use. B-Movie fiction had a lot of benefits as a framing concept:

Low production values are expected/appreciated

Easy tie-in to space

“Escape from...” is a great B-Movie concept

Distinctive look

So that was the plan. I wanted to have an old-fashioned spaceship trying to escape from a forbidden planet, while avoiding the hazards of space: asteroids, aliens, and the ever-deleting fuel gauge. Initially I was planning on using cardboard-style mockups, but those were actually harder to make than scenery that appeared to be made of crude papier-mâché, and speed of asset creation was critical.

Building Space

The initial spaceship was a “can of spam” style capsule with maneuvering thrusters to fine control:

I think my spaceship knows which way to go

This thruster setup gave the player a lot of options in terms of how they wanted to steer. I set up the physics to be nearly Newtonian- there’s a small downward gravity and a little bit of velocity and torque damping to keep things in check, but apart from that the physics are fairly accurate. The player could maximize thrust by using the main rocket and both rear-facing steering rockets, use just the main rocket for “medium” thrust, or just the steering rockets for a cautious pace. Turning the rocket also presents a number of options thanks to the combinations of thrusters.

So the controls were more or less in place- what sorts of challenges would the player deal with? Well, the rocket was slow. Graceful, let’s say. So avoiding enemy fire was out of the question, and I didn’t want the player to rely on weapons to escape. So the hazards would be physical objects, and what better way to interact with them than by destroying the player’s thrusters as they hit things?

The idea with partial destruction of the ship was to accomplish a few key things:

present relatively unique mechanic to the player

place an emphasis on piloting over sheer speed

give more lenience than a “one hit and you’re dead” model but make getting hit hurt

enable hard-to-achieve but epic victories, when the player wins with one or more thrusters destroyed

This made the game pretty hard even without enemies, so I needed to counter the destruction of thrusters with some defense.

All power to forward shields!

The shields would act as an early prevention system. It collides with obstacles before the player’s ship does, which is simple enough- but how to make it actually effective? To make the shield act in a “realistic” way, rather than simple absorb abstract damage, it absorbs momentum. Since the biggest danger in this game is ultimately going too fast, the shield, once it activates, cuts the player’s velocity by 75%. Which is a good thing, since most of the time they will already be slamming on reverse. Again, the goal with the shield is to put an emphasis on piloting skill rather than reckless flying bolstered by power-ups.

At this stage a lot of the core concepts were in place. The sepia tone I had picked was ok, but for a real B-Move theme I needed some grain and some grayscale. Easy enough:

Your fuel gauge is your biggest enemy

Expanding the Void

I needed to build out the world a bit now. As mentioned, making realistic cardboard cutout is actually very difficult compared to making realistic carved foam landscaping. The watchword was efficiency, so all of the landscape pieces were made to be reversible. In fact, there are only four distinct pieces of landscape in the entire level- they are just duplicated, flipped, rotated, scaled, and skewed to fit the circumstances. Since they were already blobby and gray, it’s nearly impossible to see the seams even though no special smoothing or syncing was planned.

The twin stone faces of Crop Circle International Airport

Texturing was also easy the shapes were so simple- some white noise with a bit of blue and then squiggles on top acted as the texture for nearly every rock in the game. The only exception was the initial takeoff site, which had extra lines chalked in with thick texture to add some interest.

The spotlight is powerful enough to illuminate vacuum itself

From here, the rest was worldbuilding. For verisimilitude, I created an obviously fake matte painting, and I also updated the space ship to be more like what I imagine you’d see on the cover of a pulp science fiction cover.Building the world was mostly an issue of duplicating terrain chunks, repositioning them, and adding new asteroids and obstacles. Eventually I added UFOs, which patrolled between two waypoints, effectively acting as moving obstacles. One thing you may notice is that all of the moving parts have wires attaching them to the scenery.

It's life Jim, but not as we know it

Finally the lobby/manual. This had to act as the “first taste” of the game, establishing the theme and introducing the world. It was an opportunity to make explicit references to the B-Movie genre and poke fun at the conceits of the world. It also serves to establish just what you are escaping from- a deathtrap world, rife with peril.

Let's all go to the lobby...

Next Time...

In the second portion of this postmortem, I’ll talk about what worked, what didn’t, and future plans for the game.