Thursday, May 1, 2014

Ludum Dare 29 #2 - Post-Mortem

Ludum Dare 29 was my fourth jam this year, and definitely the one with the toughest restrictions. LD is a 48 hour competition (or a 72 hour casual team jam, but who wants to be a filthy casual?) which, compared to the time-frames of other jams I've done so far, proved to be the biggest challenge. This is also the first jam I've entered where the theme wasn't directly related to the purpose of the jam, meaning that you really start this jam cold as far as ideas/concept go. When it was released, the theme, "Beneath the surface", didn't really get my motor running, but doing something that you don't necessarily want to do is what jams are about. Lastly, I did this jam in a more social setting, instead of my regular "hidden away in my bedroom" situation. I worked alongside Jamalaide a bunch of local jammers. It meant I had to get shower and get dressed daily. Luckily it was only for two days.

The Good

Despite the current state of the game, it mostly works as I envisioned it during that first hour of planning. I knew I only had a tiny amount of time to make something, so I tried to shave down the scope as much as possible without losing the key concepts (i.e. using units to uncover information, using different units to work with that information). There were plenty of other things that got cut during the planning, but nothing that got finalized in the planning was necessarily cut (just badly implemented). So far, this has been the only game that I haven't had to change scope mid development.

Additionally, this is probably the best application of time I've done so far. Graphics-wise, this game was never going to be anything special, but code-wise, I think I did as much for this game as I did for the Candy jam, but this time I did it in 2 days compared to a week.

It was also the first time I'd done a jam in a social setting, which was both fun, terrifying and kind of disappointing at the same time. Fun because it was great to meet other like-minded people. Terrifying because by the end of day one all I had was a bunch of circles and lines on a screen that did nothing and I felt like people would judge me. Finally, disappointing because out of the people there only one other group really worked on something.

The Bad

The biggest personal shame is that Agents & Assassins has at least one major crash/stall. In the final hour I noticed it because it was causing an endless sound loop... So I stripped out the sound effect and then couldn't find it again. I had assumed it was fixed. Unfortunately, it was not and in trying to get the end game screenshot for this post I had it happen about 4 times. Additionally, I also found a bug where killed units weren't being removed from the screen which is pretty annoying as well. I can't really remember any major bugs from the previous game jams but this is definitely the first showstopper I've had.

Obviously the next biggest issue is the general confusion and lack of feedback to the player. With such a tiny time-frame, getting any amount of polish into the game is a tough ask, but plenty could have been done better while building the base mechanics to firstly make it more obvious what is happening where, and also improve the flow between turns for the player. Some examples:
- When an agent moves to a new neighborhood, it should take a couple of seconds to highlight if this neighborhood is corrupt and then a couple of seconds per new unit found (as well as moving the camera to highlight them. Maybe with some kind of animation, or sound effect.
- When a known corrupter unit infects a new neighborhood (and is consumed) it should make a point of moving the camera there so its obvious to the player where the unit went instead of just disappearing. Similarly, it would be better if all units slid across the map instead of jumping neighborhood to neighborhood.
- You should be able to scroll the map around, or zoom and and out, to get a better view of where enemy units are.
- When a unit is killed, there should be more notice given to the player, especially if they're killed by an unknown assassin.
- When a new unit is created, it jumps to the front of the turn queue.

Some of these I attempted to fix in the time I had, but since I hadn't done much with the camera before I wasn't really sure how to make it work consistently. In the end, I decided a consistent average camera was better than a sometimes working decent camera.

The root cause of most of these issues stems from the crazy overblown ways I attempted to implement stuff. Because I've been so focused recently on building stuff that's easily extendable in the future, I kind of wasted a lot of time ensuring everything was placed dynamically and that the various systems could handle additional units or mechanics... I wasted a lot of time on the first day trying to get the neighborhood and road placements correct. Really, I could have placed them all statically in the room in an hour or two and it wouldn't be any different for a player. For a week long jam, it might have been a good idea, but it was pretty unnecessary for this one.

The Ugly

Speaking of time spent, the breakdown went something like this:
1 hour - Research and planning
12 hours - Coding the neighborhoods/roads/links
9 hours - Coding the turn system
5 hours - Coding unit behavior
5 hours - Coding the A.I.
3 hours - Art and UI
1 hour - In-game "Tutorial"
0.5 hours - Sound effects
1 hour - Preparing for submission
2.5 hours - Eating
1 hour - Driving
7 hours - Sleep

Development wise, I'd already cut back the initial idea a lot during the planning phase, so the end product is pretty close to what I had imagined. Obviously I had envisioned something a little more polished of course, and I think next time I do this I'm going to have to cut scope more to give more polish time.

A Fistful Of Dollars

I didn't really try anything new this jam, so I can't really say there was a lot of new things to learn/note about Game Maker. I guess there are some things to remember for next jam though:
- Even if you've cut things down as much as you can, you can still probably cut it down more. The key concept this game was to use one unit to scout and other units to do stuff with that information the scout uncovers. I could have changed the loss condition to having half the neighborhoods dissenting or something similar, cutting out the need for assassins and guards entirely. Alternatively, I could have had one unit that remains hidden while not moving, and have it capable of either investigating or purging a town if waits a turn.
- A 2 day jam probably wont lead to a marketable product, even if it could make a decent prototype. Its still not worth putting in a lot of time to make sure you're left with something that's easy to build on. That extra time can be spent doing stuff from scratch post-jam, really.
- After this and the Candy jam, I kind of think I need to focus less on big ideas and more on presentation/communication. It's pointless to have some kind of new concept if it gets lost within a clunky interface. I need to get better at providing a better, more concise experience in a shorter amount of time. Next jam, that should probably be the goal.

For a Few Dollars More

While I still kind of enjoy the basic concept and think it could possibly lead to some interesting stuff, I don't think I'll be going back to this game anytime soon (except to maybe fix that crash). I've got the submission cut off date coming up for AV-Con, plus I really need to do something I can release, and I'm not convinced that this concept has a wide array of people that would be interested, be them passers-by or potential customers.

I also don't really know what jam I'll do next. I was interested in the LowRezJam, but I dunno if I'll have time to do something and work on something for the AV-Con submission at the end of the month.