First LD: UNBOUND Post-Mortem

You can play the product of my labor, UNBOUND, here.

With this being my first Ludum Dare, I (like every other first-timer) had no idea what to expect. I spent the entire Ludum Dare in a Skype call with a few friends, one of them also doing LD (also a first-timer.) Overall, I feel like I did alright, but a few weakpoints of mine (drawing) showed through. Also, I had an interesting time dealing with planning with no ability to write, as I have a broken wrist. But anywho, onto a chronological post-mortem.

Day 1: August 24th

Right as the theme was announced, I felt I was in for quite the experience. I hadn’t a clue what I wanted to do until about 2 hours in, and it sounded like a great idea. It would be called BIND, and the mechanics were something along these lines:

  • Controls were added as needed. For example, the first time you approach a ledge, whatever key you attempt to jump with would cause you to jump from then on.
  • Things you did more often you would gradually get better at, at the cost of losing your skill in your least-used skill.
  • Enemies would adapt and evolve to counter whatever you’re good at.

And so I got to coding with these tools:
Code: Sublime Text 2
Language: Lua
Framework: LOVE2D
Art: Photoshop CS6
Music: MuseScore
Sound effects: Audacity, starring myself

I had no real engine to use, but I had been experimenting with a few techniques in LOVE2D, and I was already extremely familiar with both, so I started the game engine. It had some great code; I got about 500 lines down and some sprites before heading off to bed at 3 AM, Mountain Daylight Time.

“Day” 2: August 25th/26th

I woke up about 10 AM my time, giving me about 7 hours of sleep. The night before I had completed the base engine (with much left to do, however) and a few sprites (a top-down guy running with/without a gun, a tile floor, some dirt, and a couple mouse cursors.) After continuing work on the engine I decided that what I envisioned for BIND, which was to be a fast-paced gun game, would probably be too much. I also had made an error in the base of the engine that caused two issues I wasn’t happy with. First, I had a horrible flickering problem, but that was fixed by the helpful people in the IRC and a few minutes of fiddling about. Secondly, I hadn’t built the system with any sort of collision (let alone physics) in mind. Given the time constraints, I didn’t feel it was worth-while to either rewrite the engine and mirror every object into love.physics for easier interaction, or write the necessary components with my makeshift object system.

And so I went with another idea: a boiled-down version of Dear Esther with a completely different base. I kept the sprites I made, despite the fact they were less-than-stellar. I also kept the engine, disabling, but not removing, all the functionality that would have made BIND, well, BIND. I added in simple tile collision, added a slight light-swell effect for atmosphere, and made an image-based level format with 4 layers: 3 visual (red, green, blue) and 1 collision. (Alpha) I decided that the main mechanic would be “notes” left by someone who had been there a long time ago. Why you were there wasn’t ever defined in-game, essentially leaving it up to you (until I posted the entry, where I declared you were a journalist.) From there, I patched the level format, adding support for “special” tiles: ones that either had metadata associated with them or could be interacted with. I added 3 such tiles: Paper, Start, and LevelChanger, which was going to have support for more than just moving you to the next level, but hey, time. I looked at the clock and noticed it was 6 AM, and determined I wouldn’t be sleeping until LD was over.

I felt I had a relatively okay game base going there, so I went to compose the music. I came back after about an hour with a good few measures of a song that would define the feel of the game. I began working on more tiles and the first few levels. I added walls of various types, and made 5 levels that consisted entirely of tile floor. After adding my new walls to the first 3 levels, I scrapped the 5th level entirely and left out the 4th’s walls in the interest of time, because around that time it was 1 PM. I finished the music, giving a 1 minute loop, and began working on more sprites, such as a red-tint utility tunnel pathway that my friend Andy thought was “random rusted chain” — like I said, my art skills are lacking heavily. I started the actual writing about this time, which didn’t take very long. After all, I had finished many English writing assignments the night before they were due. I patched up the old tile levels with a new metal-floored access tunnel type floor for a couple parts and began working on the utility tunnel levels below.

These maps were much quicker to make due to the difference in tiling needs (in the tile levels, if I needed an upper-right-inner-corner wall piece, I had to composite three tiles together in the image, which was slow.) For these levels, I hard-coded changes such as turning off the music and enabling ambient noises (which were myself vocally letting out the agony I felt and hitting my desk.) At this point, it was 5 PM and I needed an end. I won’t spoil it here, but it required a new special tile to trigger it. At about 6:20, I finished up minor changes and details, packed, and submitted my game.

I then proceeded to celebrate quietly (because I was too tired to make much noise) just before falling asleep around the submission deadline passed.

I’m more happy with UNBOUND as a personal project than one of Ludum Dare, partly because I didn’t believe I’d finish, but mostly because of the different interpretation of the theme and general personal emotional importance it had for me. In the game, I took a completely radical (and probably incorrect) view of evolution: that of the mind. How do people’s emotions evolve as time passes, and situations become more hopeless?

I enjoyed Ludum Dare a lot, and I’ll surely be back for Ludum Dare 25. Thanks for your time.

`

Tags: post-mortem