Post feature RSS AfterImage: Liberated Pixel Cup Retrospective

A brief, high-level look back at AfterImage's development, from the Liberated Pixel Cup contest announcement to our final entry submission. Also a review from last year!

Posted by on

The Liberated Pixel Cup

Back in summer 2012, hosted the Liberated Pixel Cup (LPC), a two-part game development contest. During June, artists created sprites, music, and other assets. During July, developers created games using those assets. Both groups were judged by a committee for prizes, and, most importantly, all art and game creations were released for FREE to the community at large.

AfterImage was our entry to the LPC. It did not win any prizes, but it was our company's first official release after struggling to find motivation for some time. Even though the game is incomplete, buggy, and somehow impossible to win or to lose, it has served as motivation and inspiration for our other projects going forward. Forward lies a few points of retrospection from our work over one year ago:

Tools, and why you shouldn't rely on beta products

There were two notable free tools without which we could not have completed AfterImage: Tiled and CraftyJS.

Tiled Logo

Going into the development process, we knew our maps would make or break the atmosphere of the game. Tiled let us rapidly prototype our full levels (not just terrain), and worked seamlessly with the LPC assets we were using. It's only gotten better since we used it a year ago, I wholeheartedly recommend checking it out if you're doing any 2D/Isometric design.

CraftyJS Logo

Even though it was only in version 0.4.9 when we found it, CraftyJS was pretty much our only option for a Javascript engine (short of making one ourselves using JQuery or something, and that was not happening in a month). While it provided us great built-in tools for the basic stuff, like sprite manipulation and entity management, CraftyJS did introduce some roadblocks to our development.

Due to documentation issues and a few show-stopping bugs, we ended up having to dig into source code and rewrite chunks of the engine to get it to do what we wanted. This is definitely more our fault than Crafty's: we should have done our research and at least been aware of some of the limitations of the engine. That said, CraftyJS does well with its core features, and is worth a look if you're developing a web game on a $0 budget.

The Actual Work

Joel and I were both working full-time in addition to working on AfterImage, so we knew our throughput was going to be very limited. Additionally, we didn't actually start development until nearly one week into the LPC (not because of laziness, but because we didn't hear about it until then). We spent a few days just planning out the next three weeks of development, making sure we were feature-complete at each milestone...because nothing would be worse than reaching August 1st with a finished "4D-photorealistic-underwater-combat-with-laser-cat-guns" system and no laser cat guns on screen (if that was the sort of game you were making, anyways).

Early on, we set a timeline with bi-weekly milestones that we would revisit and revise weekly. These included deadlines for finalized art assets, gameplay features, and script. As it turned out, 90% of what we planned got thrown out the window in the first week, due to unforeseen issues with our map export format occupying our full focus for several days. Okay, so we ended up with two weeks to make a game. No biggie.

I decided to focus on developing the essentials, like movement, animation, and cutscenes (dialogue), to make sure what little content we were going to end up with felt polished. Joel worked on producing maps, custom art assets like dialogue boxes, and our audio system. The combat system ended up getting hacked together out of the cutscene management system of all things (part of why there's no final boss fight)! We spent the last few days of the LPC fixing hidden colliders and misplaced world objects...Not very successfully, however, as we were quite sleep-deprived by that time.

Submission, and Re-Submission

At 11:59pm August 1, we released AfterImage to little fanfare. After waking up the next week, we remembered all the awful, awful bugs we were unable to fix before submission and felt very bad about them. In the spirit of the competition, we could not change any features or add any content to the entry...But we really wanted to give the community a game that could actually be played. So, on August 6, we released AfterImage v1.1 and provided a download link on our forum thread.
Version 1 has, at the time of writing this article, seen 568 downloads. We don't have stats on version 1.1, but hopefully it has seen more action...I'd really rather people were playing the bugfix version...

Tangent: A Review

...what, he's a penguin.

Fellow LPC entrant Nushio undertook the massive task of playing and reviewing all games entered to the contest. His review of AfterImage was quite favorable...Good thing too, otherwise some very unpleasant things might have happened to a certain penguin (kidding!). He even hosted AfterImage 1.1 for us to make distribution that much easier! What a guy!

And the moral of the story is...

Game jams are challenging enough without entering them late and completely blind. Know your tools, know your limits, and make time early on to plan your tasks accordingly. We had a lot going against us, not the least of which was our own inexperience, but ultimately we were able to complete the jam with something playable. The number one piece of (non-generic) advice that allowed AfterImage to get released at all was:

Don't get attached to what you don't have. If you are unsure what you'll be able to deliver, as we were, but have a grand vision in mind, over-plan and then "shed" features as you get closer to the deadline. Plan feature-complete milestones that, in a pinch, you will be able to release without feeling embarrassed.
AfterImage's final release was supposed to have more interesting puzzles, a real final boss fight, and another whole level; Even though the game did end up extremely short, it doesn't really feel like anything is "missing" (except the ending, I really wish I had gotten that fight polished). By planning for cutting out all that content and other features as we approached the deadline, we were able to end "feature complete" and tell a decent story in the process.

In Closing

We hope you enjoyed all the text! It's about a tiny game that's a year old at this point, but it's good for us to revisit our history before moving too far ahead.

Feel free to follow us on IndieDB and on Twitter (@EvenshadeGames) for updates about our current projects - we're planning on having some content for you in the next few weeks. Until then~

-Piers (@atomic_swerve)

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.