Victory! – LD #21 Post-Mortem

August 22, 2011

Victory! - A Ludum Dare #21 game

Victory! was a game developed over a 48hr span of time for the Ludum Dare #21 competition.

> Play here: http://www.refrag.com/gamedev/LD21/>
> Rate/Vote/Comment
> Time-lapse
here: http://www.youtube.com/watch?v=bZ-33t8MXBQ

As is the tradition in Canada I’ve written a bit about how the weekend went.

The Theme & My Idea

Victory! - Friday Screenshot

End of day Friday

 


Ludum Dare 21′s theme was “Escape”. I was really hoping for “Dreams” but “Escape” was close
enough. I wanted to play more with platforming mechanics so I knew at the very least what I was going to make genre wise. I also really wanted to do something creative and a bit cerebral like I did with Abarrane. The core “escape” game concept came to me at 9pm on Friday. Platform “levels” with walls closing in on you. I also decided that my secondary “escape” concept would be about the constant pressures of life, releasing burdens, blah blah blah.

The remaining details all came organically throughout the development.

I’m very pleased with my overall take on the theme. While the artsy-fartsy-ness of it is a bit heavy handed, it has some nice touches given this was a 48hr affair.

Time Structure

Victory! Saturday screen

Saturday AM

 


I kept to my standard Ludum Dare time structure more-or-less. I wasted a few hours Friday night fighting with Flixel 2.55 but I did manage to have a core skeleton of a game with crushing walls and crate mechanics working before bed. I spent a lot of time on Saturday polishing the game well before I had even started on the main content. By end of day Saturday I had only completed half of the game levels (the easy ones). But those levels had a very good difficulty curve that some folks in IRC were kind enough to test and provide feedback on.

Sunday was a bit of a rush to complete the last 10 levels, add spike logic, add “pill” logic, write the “story” and polish a bit more before release.

In the end, my time was crunched but I did not have to make many sacrifices to get the game done in time. I had 2 healthy 8hr sleeps, did not work past midnight on Friday or Saturday and made it to my movie-date with Melinda on Sunday (which forced me to submit 2hrs prior to cut-off).

Technology

Victory! Saturday Screen

Saturday PM

 

I knew I was going to be a bit rusty this compo. I hadn’t fired up FlashDevelop in months and haven’t really written any serious code since Abarrane in December.

Mistake #1: Downloading Flixel 2.55 for the first time ever at comp-start. I really wanted to use the latest and greatest of Flixel, but I grossly underestimated how ingrained I was with Flixel 2.35. For hours I fought with stupid things (like bringing up the Debug overlay). This was not a smooth compo start. Thankfully AdamAtomic (the dashing gentleman that he is) has a wealth of knowledge in his open-source-code examples. I used Mode, Grave Robbers, and other Flixel example code to get my inertia going again.

Mistake #2: I wanted some nifty cut-scenes for Victory and Failure. Vector animations were ideal for what I wanted so I figured it would be easy to just whip this up in Flash Professional. Ok so #1, my Flash Vector drawing skills have LONG since atrophied. It took me a stupid amount of time to do a simple shape tween animation. #2, fucking Flash and importing .swf files into ActionScript projects. You’d think Flash would be smart enough to listen to timeline actions on the imported .swf. Well no, apparently it just treats the .swf as a sequence of frames that it auto-loops over and over and over. *twitch* had to hit the forums to find a code solution. Very inelegant. Wasted wayyy too much time on those Victory and Failure screens.

Art:

Victory! Sunday Screen

Sunday

 


The original game concept was going to be grayscale again. The 50s color palette evolved over time (thank you ColorLovers.com). I stuck with the autotiles in Flixel, but just recoloured them. The character has no animation. So yeah, overall I stayed very conservative and within my artistic comfort zone. The game looks pretty good if you ask me but again I just tried to stylize the minimalist art I could muster.

Level Design:
I haven’t had many opportunities to design levels but really stretched myself to build 20 for Victory! I used the .png TileMap importer in Flixel and did all of my level design in Photoshop. This worked out really well and I’ll definitely be leveraging this workflow again. I spent about 8 hours on level design this weekend (just over 25% of my total time) and I’m very pleased with the difficulty curve.

Overall:
I again like to focus on new things I got to try this weeend.

  • Built 20 levels of platformer/puzzle content
  • Upgraded to Flixel 2.55
  • Embedded .swf vector animations

My coding style was really bad for Victory!. Almost all of the code is contained in the gameloop class PlayState.as. I also had to hard-code loading each of the levels. As a post-compo exercise I’d like to break apart Victory! and try to come up with a more sane architecture.

Victory! came together quite well though. I definitely felt that this game evolved on it’s own this weekend and that’s not a bad thing.

I <3 Ludum Dare. I always have such a blast.

{ 3 comments… read them below or add one }

Jorjon August 24, 2011 at 1:48 pm

Interesting game… I liked the changing mechanics every time a new element appears. Where is the entry so I can rate?

Reply

kaylasara August 24, 2011 at 2:00 pm

Well that was silly for me to not link it… http://www.ludumdare.com/compo/ludum-dare-21/?action=rate&uid=1277

Thanks for your comment!

Reply

Mel August 27, 2011 at 6:04 pm

Sweet, I didn’t know you could design your levels as images and just import them, that’s so much easier. I just started learning flixel, and didn’t realize that the way levels are defined in the EZPlatformer example isn’t the only way to do it.

Thanks!

Reply

Leave a Comment

Previous post:

Next post: