Escape in 60 seconds Post Mortem
You can find a decent post mortem for my game here.
You can find a decent post mortem for my game here.
Phew, now that this crazy 48+something marathon is over, I finally got the time to think about it without having to worry about the deadline.
It’s time to ramble! ^^
I finished my game just in time, ten minutes before time was running out. Without the extension of the deadline it would’ve been just a row of levels with some hastily written tutorials. There are still a lot of things put in without much testing, but overall I’m quite pleased with the result, it is very close to the idea I had in mind when planning it.
Of course not every feature I wanted to do made it in, the most obvious being the missing background music. I’m not sure if I will expand the concept and keep working on it to make it a full-fledged game – it certainly will also depend on the feedback I get – but I still have the feeling that the concept holds enough potential to keep the motivation up for a longer time (and I mean both my motivation to upgrade it and the player’s motivation to play it).
After all, I’m really glad I decided to participate. This was my first Ludum Dare and it was really a thrilling experience. I guess it’s always easier to get something done when you know that it will have some meaning (in this case, that a lot of people will have the chance to see and play it).
I’d like to thank everyone who played it and would really appreciate some feedback! 😀
Kinta
#gallery-1 { margin: auto; } #gallery-1 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 33%; } #gallery-1 img { border: 2px solid #cfcfcf; } #gallery-1 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */
Tags: LD21, postmortem
I keep seeing posts or chat entries that say things like “I used the extended submission time (12 hours) to add XYZ to my game”.
Is that valid? I know the competition is a bit laid back, so I’m not too worried about it, but does this bother anybody else?
I’m kind of kicking myself, because I purposely stopped a couple hours before submission time to make sure I had everything deployed correctly, which meant that I had to stop myself from fixing a few bugs, one of which occasionally freezes my game. If I had also used the extended submission time, I’d be a lot more confident that everything in my game worked. But I didn’t want to abuse the extended submission time.
Oh well, I guess I’m just ranting and wondering if anybody else feels the same way. I still had fun, so I’m not getting too worked up over it, but it does seem a bit unfair. Oh well!
Seriously, my top tips? Nothing about sleep, organising your time or what to eat. I’m not going to talk about thinking out your idea before going into it headlong. I have two tips that will help IMMENSELY :
– KNOW your software, now is not the time to try out a new IDE or use a language you don’t know very well, and make sure you can and HAVE compiled stuff with this software that WORKS. Trying to understand the quirks of VS2010 isn’t what you want to be spending time on.
– KISS : Keep It Simple Stupid. And I don’t just mean the concept. In general in OOP it’s a good idea to make classes for each concept, but here you need speed. Just make a BIG mainloop with ALL your code in it, and make classes for the few things that REALLY need them. Remember, simple doesn’t mean elegant. Simple means an O(n²) algorithm is better than an O(n) if it means you get the job DONE.
To be honest, the game I put out has the gameplay I originally imagined when I started pondering the theme. So in that respect, I succeeded in building the idea that I wanted. But I didn’t respect the two previous points, so my game is SEVERELY lacking in aesthetics, and features.
I usually code in Linux, with gedit or Eclipse, in C++, and I’ve done some SFML stuff. And since I was making my game in SFML/C++ I didn’t think coding on a Windows machine with VS2010 would hurt. Turns out it does. First, SFML hasn’t been compiled for VS2010 yet, so you have to build it from source WITH VS2010. But that means knowing how VS2010 works IN THE FIRST PLACE. I could have done it, given the time to consult a few forums and manuals, but time wasn’t available.
Another mistake I made was that I made classes for everything, the was a state manager, an assets manager, a game loop manager, a class for monsters, a class for turrets and a class for the world, a class for tiles that compose the world, and I think that’s it.
Now given more time, this is a great idea : OOP allows for amazing flexibilty and extensibility if you structure your code nicely. My original design would have allowed easy creation of new monster types, turret types and tiles. It would allow quick and easy mainenance of code, and since only the asset manager had access to SFML, it would be a cakewalk to port to a different graphics engine.
While all these features are nice, it quickly devolved into spaghetti code as I tried to beat the clock with an ever more complex code, sleep deprivation and panic started to settle in by the next day and I no longer understood my own code, and even switching to my trusty linux netbook that I’ve been using to learn coding for the past year didn’t help. My code was a beautifully designed mess.
I eventually bailed and posted an “I’m Out” blog, sat down and gave up.
But then I came to, realised that I COULD do this, and with less than 20 hours to spare, sat down and did it right.
The new code is a messily designed beauty, there’s a huge, unwieldy main loop with monster spawning, monster update calling, turret spawning turret update calling, points counting, credits counting, event handling all bundled up in a big mess. There is a class for monsters and a class for the turrets, and they contail their own rendering code. I do everything WHERE I NEED IT.
But the end result was that I made a game in 14 hours whereas I totally failed to do anything in the 20 or so before.
I’m going to learn VS2010 now, it seems to me like an interesting IDE, and there’s some stuff I’d like to use, and I’d like to develop for WIndows, but I’m going to do it now that I’m out of a time-limited mess. Expect my next LD to have a lot more content, and work better on Windows (My Windows build still fails on some machines, and I have no idea why, if you have SFML1.6 for Windows, please help me compile a version that will work for everyone : http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=1561 )
This competition was very exciting for me. The Theme was “escape” this time. While that is a very good theme, its actually used in lots of games already, so its hard to come up with something entirely new. I did the game “Lost in the Shadows“.
The game is a rogue like adventure game where a dwarf is lost in the mines and tries to escape without dying. You have to find the exit, dig for water to survive and collect as much gold nuggets as possible on the way. Sounds like some fun, but actually the game gets boring too fast. Its probably a content problem but also a design issue as well.
So here is my postmortem:
What when right…
Level generation
Level generation was done very fast and the rocks are layered, rooms where cut in after the rocks were calculated. There are 4 different rock types, the easiest which the level is filled from the start. The second rock type is generated with rectangles. The third layer is more complicated, because it can only exists on the second type of rocks and the same with the forth type. So when you dig the rock gets harder step by step. This makes the game much better and more appealing. The rooms where cut in after the rocks where generated. That was ok, but I would change the now and cut the rooms after the first rock type is set. That should make the levels even better. The hardest rock types sometimes reveal hidden items. You can find gold nuggets and water. While the distribution is ok for this small short game, it needs much more improvement for a decent experience. So balancing is still a big issue.
Sfx
The sfx creation was a lot of fun. I went out with a hammer to hit some stones in the park, fiddled around with water in the sink, walked around to record footsteps and so on. That was really cool and exciting. The recordings have a not so good quality due to the iPad2 microphone, so I pimped them a little with audacity. That was fun and didn’t cost too much time. The mining sound worked quite well, so I synchronized it with some particles. That is actually my most favorite part of the game yet.
Character pixel art
The character creation was ok as well. You have to know, that I am very inexperienced in creating pixel art, so it was really ok for my knowledge level!
Gameplay and gui implementation
The implementation of the gameplay and the GUI was working out very well. Actually I had only a few minor bugs nothing I to worry about and it was done quite fast. Well the code is far from optimal, but that was not the purpose of that competition.
I got it done:
Well it was my first official game jam ever and I got the game done. That’s was and still is really good for my ego! I overall invested around 20hours into the game creation.

What went wrong…
Tileset creation
The tileset creation was really bad, it took me ages, at least 2-3 hours which is, compared to what is looks not worth 15 minutes. There is still a bug in the tile set. Connected to this my biggest time consumption was the FlxTilemap class from flixel. I never used that before and it didn’t work at all for my game. So I decided to implement it by myself, which isn’t too complicated, but I was a little frustrated already about my progress and made bad mistakes.
Game design and game mechanics
The idea was to create a rogue like adventure, but without monsters, just the mine and the dwarf with a tight storyline etc. Sounds ok so far, but the most important part, the storyline, was done in the last half an hour before submission. So just a few atmosphere texts made it into the game, thats it. Well, actually the story wouldn’t have made sense at all, at least for what I have planned for, because you can die quite fast and so everything gets repeated, which is not a good game experience.
The water and the nuggets worked ok as items, but I would have needed some traps and enemies overall. The game is lacking lots of content here and so its really not that much fun. So all in all the game mechanics are quite poor. You walk around dig some rock, try to find water to survive and if you are lucky you will find some nuggets. I have to invest much more time thinking about the concept before starting coding and art creation.
Music
No Music, I have never done music and I started to use musagi 2 hours before I wanted to submit. I realized that this would take me at least several days, because I have never created any music. The game doesn’t feel complete without music to be honest.
Overall I am quite happy and I am will pimp the game so I can release it later on. Thanks to the ludum dare team for all their hard work. I am happy to be part of such a great community and this was definitely not the last ludum dare for me! ![]()
Hi all,
I just realized that the characters in my game are not centered when playing the game in a notebook with integrated GPU. The issue was that textures dimensions are not power of 2.
Here you can see the main character looks small and “uncentered”
I changed the texures dimension in this new version. So if you experiment the graphic issue please try the new version. I didn’t add anything just change the texture dimensions
Fixed version
Please don’t consider this for the compo, of course.
Best luck
JF
Tags: bugfix, screenshot
Hey there guys! I am just offering help to package games on Linux. I know some people are having issues on compiling and distributing their binaries for Linux, so if you are in that group, leave a comment =)
So far, I’ve ported this game:
The Power of Escape – Rate Link
I hope I can help some of you!
ELL DEE TWENTY ONE LET ME HEAR YOU SAY UWAAAAAAAAAAAAAAAA
This was my first LD proper since LD15 (which had a baker’s dozen entries (144)). I love love love Ludum Dare as an event (it feels like THE WHOLE WORLD is building and learning and having fun together), and I’m pleasantly shocked to see 4x as many submissions just two years since my last one. I promise to not let two years pass again my next one! I’ve always been building small games, but my spare time for a FULL WEEKEND of something has been so limited that it’s been challenging to get my Compo Wind back. BUT HERE I AM! Despite having a new baby in the house (my second kid), I was able to carve enough of a weekend away that I got a completed game done ON TIME WOOOOOOOYAAAAAAAAAAAAAAHHHHHhhhwwwmmm.
I had an absolute blast building this little thing (here’s a link to rate it, bros!)

So v1 of my game was done at like 6pm EST on Sunday, 4 hours before the deadline, and I was shocked. I actually got to submit before the site exploded! Here’s my somewhat standard Post-Mortem-formatted Thingie!
What Went Right


)Here are a few minutes of gameplay of my compo game “elastic prison”. I think the compo went quite well for me. Considering this is my first time here and that I haven’t really finished a game in a loong time.
Go to the entry page to download it.
I’ll post my time-lapse later today. And maybe a complete playthrough sometime this week, because I like the ending.
First time writing a post mortem. Woohoo.
Before we start, have some pigs.
Times are noted from the start of LD. That means 0:00 would be 4am in my timezone, and 24:00 is 4am the next day.
~ PHASE 1 – THE IDEA ~
I woke up at 5:00 – 2 hours later than planned. What I thought to do is to look up the theme, then take a walk, play some games, relax a bit while thinking of ideas.
Sadly I had to go at 5:15 so everything was in a massive hurry. I managed to get my idea at 5:30 during a car drive – I arrived at 5:35, and finished the sketch at 5:45. So while I was not relaxed at all, I was able to come up with a nice idea.
What went right: Got my idea quickly…
What went wrong: …while being stressed as hell
~ PHASE 2 – THE CODE ~
5:50. I jumped on the closest PC, got Dropbox and grabbed all my stuff. I jumped instantly into it. It all went very well, though I encountered some really wierd glitches. (I should have saved them to showcase them here. Just imagine the ball goes apeshit and that’s about it)
The biggest timewaster happened to me at about 15:00. This is when I started to work on the lava.
Originally, I wanted to make the Lava Minecraft style, expanding block by block, getting quicker with every km (sidenote: km should actually be screens. Every screen is 1 km) you pass.

Dramatization. A death by lava is not that painful. After all, it's pretty quick and your brain is fried pretty early.
Sadly, for some reason, the collision code decided to be evil. The first time the lava source was created, every single tile would think it collides with something, even when it doesn’t – resulting in no spread at all.
The second time the source is created every tile would think it does not collide, resulting in lava flodding into the walls, and massive lag since it wouldn’t check if there is lava already.
At 19:00 I decided to screw it. I made an enourmous picture of lava, almost increasing the filesize 3-fold. It’s an ugly workaround, but it works.
Finally, I have finished the basic gameplay one minute before german midnight – 19:59.
What went right: Most stuff was pretty easy to code…
What went wrong: …and then there was lava
~ PHASE 3a: IMPROVING ~
The next morning, 27:00… switching on my computer. Checking the code.
What happened was the same thing that happened the last two times I participated at the LD:
“*stare* what the fuck did I write? I should use comments next time.”
First thing I did was implement scoring. For that I just counted how many screens you went right, how many you went down, and -pow- done. Then there were two nightmares at once.
~ PHASE 4: MUSIC ~
After the crimes against humanity which I call music in my previous two entires (#19, #20) it was easy to understand I tried my best. Sadly, I had to leave Ubuntu for it and boot into NightmareOS. You might know it under the name of “Windows Vista”. First thing I noticed is that the internet connection didn’t work again. My WLAN stick only works in one of ten cases when starting Vista, needing about 1 hour of fixing every time I want to play something on Steam. I didn’t have the time, so I just started pxtone and planned to save it on my disk instead of Dropboxm then copy it over.
Now, I was in pxtone and started throwing some note bars here and there. The result should never be mentioned again.
I spent half an hour just doing random stuff until I hit the effect window and heard a sound. THE sound. It was exactly the sound I wanted to do in sfxr later. Then then idea hit me like a train. After (ab)using pxtone to make my sounds, I left Windows behind, went into Ubuntu Studio where I used Hydrogen to make two drum loops, one fading in when you get closer to the lava. Huge success!
What went right: Everything!
What went wrong: Nothing! (except having to boot into Windows)
~ PHASE 3b: IMPROVING ~
Back into Ubuntu, I smacked the sound files into my project. It sounded wonderful.Next thing to do was more obstacles, as it was pretty repetitive. After looking at my code for obstacle generation, I knew this would be hell. Thus, I made a level editor. It is included in my source archive, already compiled, in the subfolder “editor”. It’s a bit hard to use though, as the black walls are hardcoded and there are no buttons. D/Right resets everything, S/Down removes blue walls under your cursor and A/Left will put the code into your clipboard to paste it into the game code.

Dramatization. The game is not as friendly as this screenshot suggests. It will eat you alive.
The last things I did was adding online highscore, adding a texture to the lava and a bit of a backdrop. Then I submitted that thing. Done!
What went right: Level Editor! Online Highscores! Had tons of time left after all that was done…
What went wrong: …but wasted it playing Hatsune Miku Project DIVA on my PSP. derp.
~ PHASE 5: POST-COMPO ~
I was flattered by the feedback. “Oooh this is a nice game! Sounds, music and everything!” – “Amazing, just amazing.” – “The most fun LD game I’ve tried so far.” First thing I did that morning was celebrate that occasion. By playing some more PSP. Then I went back to coding.
After the compo, it didn’t change much things. I added a glow to the lava, a preloader, and fixed a GFX glitch with the motion blur. Then I submitted the game to Newgrounds, where it had a “GREAT” entry rank and has a current score of 3.33. Weee!
And that concludes my tale of my third Ludum Dare, and I hope I will get even better by next time!
Although honestly, you know what makes everything better? Bacon. (I bet you thought I was going to say “taco”.)

This post has just been made better with bacon.
Thank you for reading!
Tags: postmortem
Here are updated versions of the wallpapers I made earlier, now including the jam games!

This is getting ridiculous! :D
Tags: wallpaper
Unfortunately I only just joined up after the competition finished. But I’m very eager to participate in the next Ludum Dare
So watch this space.
HOORAY for Ludum Dare! I’ve been watching my friends do Ludum Dare compos for several years now, but as a dude with a family it’s been hard to commit to spending 48 hours of weekend time on a game. But last Friday, after putting the kids to bed, I sat at my PC, bored, and thought “Hmm… Escape, huh?”
Before I knew it, I’d started sketching out some ideas and downloading Flixel. I knew right away that I should definitely NOT attempt a game that took 48 hours of time to complete, because there was no way I’d actually be able to spend 48 hours working. I quickly latched onto the basic idea that rather than the player himself escaping, the objective would be to help some other things on the screen escape… by hurling them through the exits.
Check out and rate the finished game! It’s only 8 levels – try to beat my time 
My buddies skelethulu and ExciteMike pointed me to excellent resources like Tiled and BFXR as the weekend went on, and I was able to spend a good 12 hours or so between Friday night, Saturday night, and naptime on Saturday and Sunday. I actually “finished” the game mid-afternoon on Sunday, then ended up adding Mochi leaderboards and a couple of extra levels before submitting since I had to wait for my LD-n00b WP registration to go through anyway.
What Went Right:
All in all, I had a fantastic time, I was very pleased with my simple game, and let this be a lesson to anybody out there who wishes they had time for LD: You Don’t Even Need 48 Hours!
Plan something reasonable for your own timeframe, and spend the time that you do have wisely!
I’ll definitely be trying to do this again – it was a great time. Thanks, LD community!48 hours of fiddling with GLUT and GLEW while building my new workstation. In fact, I just finished setting up sound on my workstation this morning! And I just got the details worked out for building a couple binaries. You can now download a 32-bit Windows binary and an x86-64 Linux binary here.
For anything else, you’re welcome to grab the source and try building it. Heck, feel free to contact me if you are trying to build it for anything else. Whether or not you encounter any problems, I’d like to know!
My first post-mortem for my first finished game for my first LD (entry here). Those are all stand-alone firsts. I have never actually finished a game to a point where I post the .exe for others to play. It’s just never good enough for me (we’ve all heard that one before). Anyway, post-mortem:
Idea
Not much to say here really. My first thought was — who wants to escape the most? Well, trapped souls from the depths of hell, obviously. In retrospect, that being my first answer says something about me. I also knew I’m not doing a platformer. From then on, I just kept adding random ideas/features with a promise to not go back and redo stuff.
I think the idea/concept turned out fine (or at least we’ll see after ratings ^_^). I didn’t expect to come up with any groundbreaking ideas and I didn’t have all day to think of one either. I saw a few people bail out and rewrite their code, so I’m happy I managed to stick with mine. I also saw too many people going “need more levels”, “need more level ideas”, “I only have 524 levels, help!” One of the reasons why I did not go the platformer route.
Schedule
Day 1
10am (5h in) — wake-up
10am-5pm — code
5pm-6pm — break
6pm-8pm — code
8pm-9pm — blog post
9pm-1am — Assassin’s Creed Brotherhood
Day 2
10am — wake-up
10am-3pm — code
3pm-330pm — break
3:30pm-4:30pm — code
4:30pm-7pm — beach
7pm–12:30pm — code furiously
1am-1:30am — blog post, submit
That’s a total of 9h+11h=20h out of 48h. Sure, I could have spent more time coding. But if my overnight Uni reach-the-deadline coding sessions have taught me anything, it’s that I don’t like them.
Gameplay
I think I oversaturated the game with features, especially since they all are accessible at once (if not usable). I didn’t think it was possible to have too many features for a 48h game, but there you have it. I have a nice tutorial screen to introduce everything though:
Only now do I realize this, but there are 600 games and finishing every game is near impossible. You have to keep it simple, stupid! Who has the time to read all that verbal diarrhea? I foyu skip the “help” button, you have no idea what you are doing. That said, there is nothing bad with complexity, in fact many games are known and praised for it. But you have to take it step by step. Introduce gameplay elements as the player progresses and plays, not throw everything at them at once. I think this may have be my biggest design flaw (besides lack of music). But then again, an in-game interactive tutorial in 48h? Moving on…
“Art”
Let my art speak for itself! (more likely growl out “kiiill meee”) Here’s the entire sprite-sheet:
I’m not an artist, I’m a programmer. All my units are either static of flying, so my “move” animation is 1 frame
One thing I did wrong is make all the terrain colors too dark. Units and props stand out OK, but the terrain itself has too little contrast, and it really shows in screenshots. My Holy Light could have been more impressive too. I wanted a magnificent beam of shiny and awesome, but all I got is this lousy flashlight.
Audio
I’ve done very little with sound and games, so this wasn’t my strong side. I did decide to try out sfxr, which was a super-easy and quick way to produce relatively awesome sound effects. Ended up with 8 different sound effects. Obviously, I have no music and I couldn’t make any myself anyway. I’ve played around with Fruity Loops or whatnot in my day, and concluded I have no musical hearing. Not that my music teacher hadn’t made that perfectly clear back in grade 3.
Dirty code
Spaghetti code! Argh, my eyes! Not a single useful comment, dirty inefficient hacks, integers instead of constants or enums, … That’s K.I.S.S. and time limit for you! *shudders* I don’t think I could go on working with this code much longer. Then again, I’ve seen much worse too.
What I do appreciate in my coding style is the object-oriented design. Even with the number of classes spanning into second dozen, I didn’t get any game-breaking bugs that were more than careless copy-pasting.
In conclusion
Can’t say anything went terribly wrong. I probably would not have done much better with any other themes anyway. I could have spent more time coding/drawing, but then I would just exhaust myself beyond “fun”. I’m proud of myself for sticking with this till the end, even if my first thought was “Escape? What bollocks!”.
I love C#, XNA, and ReSharper and the speed at which I can chunk out code/features. I also know how many raters I’m losing by not having a “Web” play link. It would’ve been better if I had a Flash or Unity or something entry. But then I would have had to learn it first 
Ludum Dare has been great so far, I love the community activity, and I can’t wait for the super-secret-October-make-a-buck type challenge.
Tags: CSharp, post-mortem, postmortem, xna
I just saw my game in the first picture of the LD article from Rock, Paper, Shotgun.
That I approve ^^
Also: ‘Dodge – DYLC’ ad in the indie(magazine); at http://indiefunction.com/issue11.php
When I saw the theme list on the final day of voting, I was rooting for one of the stealthy themes. They didn’t make it, but escape allowed me to work this idea I had for the past week into a game. I wanted to try and create a top-down game with true line of sight. The end result is Abstraball, a game with true line of sight, so I guess I succeeded with that. But it could’ve been so much better if I changed some things at the start.
Day 1
I did my usual routine for making an XNA game. Create a simple screen system, a world class, entities, and fix up drawing things. This time around I wanted to use polygons instead of using the spritebatch, and I wanted to make variable sized geometry rather than tiles. So I worked on that. The camera would be orthographic instead of perspective, and not being limited to square tiles would mean I could make simple big geometry for large portions, and resort to more complex (read: diagonal walls!) shapes when I wanted fancy things. After doing that, I worked on the shadow effect. First I made the area next to and behind you black. Then I added the effect on geometry. And that’s when I should’ve made a different decision. An orthographic view with ‘shadows’ like that is practically the same as a perspective view with pillars reaching to infinity, but without the texture support, and the without ability to easily prioritize what should be drawn. At first I didn’t realize that, but now I do, and I definitely would’ve done it differently if I had known at that point.
Anyway, I continued with that, thinking I could make it look better later on. I started working on the map. I had the ability to make any shape I want, to make any complex level I wanted. But I had no level editor, and placing things by hand was a pain. So I resorted to creating a bitmap, and importing/parsing that. So at this point I had fancy, unstructured polygons shaped as square tiles, without the benefits of a tile grid. That was mistake #2. I should’ve made it tiled, then I could index things more easily and efficiently, and also easily make a bit more diversity with other shaped walls. But I didn’t. Pathing the world was tiled, but they didn’t support each other. I also had to make some optimizations so unnecessary geometry wouldn’t be added.
Day 2
At this point I started to realize the mistakes I made during day 1. I lost some motivation, but kept on going anyway. I worked on the AI, and after a few hours I got a nice and robust AI system that got the job done very nicely. But again, I had optimization issues because of the way I built the world. So I had to cut on a few things to make it playable. Pathfinding was just bad, and occasionally it would take a second to calculate a path. Line of sight calculations were bad as well, and many other things were bad too. But I worked around most of them. Next to those things, I added the footstep sounds, and the positioning for it. So by now I sort of had a playable game. I named it abstraball because I knew I couldn’t fix the graphics, so maybe coining it as an abstract game would help.
With about 8 hours left I started talking to a friend. He playtested my game and gave a bunch of tips for features and gameplay changes. I added difficulty modes, tweaked the AI, added a compass, the energy bar, fixed a few glitches, added the plague bearer mode, and did some other minor things. He wants to be credited for being awesome, which he is, so his name is savooipeerd. With about 4 hours left I added a few final touches. I composed the music with iNudge in about 10 minutes, added keyboard configuration options, and started to playtest some more for balancing changes. I fixed a few annoyances, and with an hour or so left I was done.
Final thoughts
While I’m not that happy with my game (it could’ve been much better), I still greatly enjoyed creating and playing it. I feel my previous (and first) entry of LD20 is a lot better overall, but during the creation of this game I learned a lot of new things and tricks, which I am sure to use next time. I’m going to stay away from the spritebatch completely now, as I now have a relatively good understanding on how to work with primitives. For the next time I’m going to roll out my own engine/framework/toolset/whatever to prevent having to search for and redo basic things, and to do it right. The current code is such a mess, it’s just plain terrible. I broke so many best practices because of laziness, and while it’s part of LD, it still feels terrible for doing so. 😀
In any case, I really enjoyed this LD and I’ll participate next time as well! I’m also going to attempt to do the october challenge as a motivator and deadline to finally do something with a project I’ve been working on and off for over the past year.
(this is a repeat post of one I did for the last LD, but we have so many new people that it is probably worthwhile to post it up again)
While you can subscribe to an RSS feed of comments on a blog entry, the LD website doesn’t have anything like that for comments on your game. So I made a bookmarklet that uses some Yahoo Pipes magic to make one!
Screenshot of me checking my game’s comments in Google Reader!
WordPress wants to mangle it so I can’t give it to you directly in this blog post, but you can get it and see instructions for using it over here.
It is a bit fragile in that it is looking for particular bits of html, so if the site changes a little it will probably break horribly, but so far so good!
Firstly, timelapse:
http://www.youtube.com/watch?v=M5UoTeDj7jA
Well, that’s my second LD done. As with last time, I’m very pleased with what I got done in the time I had.
This post mortem is very long. Sorry.

The finished drug - uh, I mean product.
PART 0 – The Idea (03:00 – 16:00)
After seeing what the theme was, I was initially disappointed. Escape wasn’t one of my favourite themes on the list. But, as it was 3am in the morning for me, I went back to sleep.
I had a longish car journey the first day too, so that set my back a few hours, and by the time I could finally get started, it was 4 in the afternoon, 13 hours gone. D:
Luckily, that car journey had given me time to think of an idea I liked – the idea of drugs, and them being your ‘escape’ from reality.
What went well – Got an idea fleshed out
What didn’t – Lost 12 hours of time.
Part 1 – The Base code (16:00 – 21:30)
I started by creating a simple platformer base. One of the things I had in mind to do was to create a system where you could walk through things, but jump on top of them too, if that makes sense. Somehow, this took me about 4 hours, and it didn’t even make it into the finished game.
I then started work on the hand – this turned out quite well, but again, I wasted a lot of time debating about the best way to do it – in the end I ditched the walking animation completely and ended up coding the punch animation. However, having the hand as a separate entity worked in my favour later.
What went well – Got a well fleshed out base code written.
What didn’t – Messed about doing features I didn’t need and took ages.

The Doctor Spritesheet.
Part 2 – Enemies (21:45 – 00:40)
I then started work on the enemies – I used quite a lot of the code from the player, which saved a lot of time. I took a break from 22:00 – 22:30, then started working again.
I bumped into a few problems with the hands – before the enemies were introduced, the hands were referencing the player directly. However, the enemies needed hands too, so I thought instead of having 2 hand classes, have one, and make it reference a new class, HasHands, which the Player and Enemy will extend from. I love OOP.
I finished up the enemy code, then headed off to bed.
What went well – Created robust enemy code.
What didn’t – Spent a lot of time on polish that could have waited.
Part 3 – Sleep (00:40 – 8:30)
ZZZZZZZZZZZ (etc.)
What went well – ZZZZZZZZZ
What didn’t – ZZZZZZZ

DRUGS
Part 4 – DRUGS! (8:30 – 10:20)
Woke up refreshed after a good sleep and willing to start working again. I started work on the main point of the game – the drugs. I made the enemies drop them, and when they did, I made them fly out. Again, this polish could have waited, but in the end I think it was worth doing.
I also created the explosion effect you see when you punch a doctor whilst on drugs – again, this is polish that could have waited, but it was something I always wanted to have, and I think it adds quite a lot. I ran into some problems getting the colours correct, and in the end, I ended up creating three different explosions all of different colours at the same time to give the impression of different colours. However, thanks to Flashpunk’s Emitter class, this was a doddle.
What went well – Got another piece of the main game done.
What didn’t – Got stuck on the explosion code for a while.

This place is beautiul.
Part 5 – Walk #1 (10:20 – 11:45)
I’m on holiday on the Isle of Skye at the moment, so we went out for a walk for a bit.
What went well – I got some fresh air and a break.
What didn’t – Lost time.
Part 6 – Finishing gaps (11:45 – 14:00)
I finished up most of the core game code here – made enemies able to hit you, made you able to pick up drugs, etc. I probably should have done this slightly earlier, but hey, at least I got it done. I got stuck on a bug, but it all worked out.
What went well – Got things neatly finished up.
What didn’t – Wasted time squashing bugs I made by trying to save time.
Part 7 – Walk #2 (14:00 – 17:00)
Went on another walk.
What went well – I got some fresh air and a break and some ideas.
What didn’t – Lost lots of time.
Part 8 – Fail hour (17:00 – 18:00)
This was probably my worst hour in this whole process. With 10 hours to go, I decided it would be a good idea to completely revamp the base game code and do something I’d never done before – pseudo 3D/2.5D or whatever – basically, I decided to try and add another dimension to the game, so it resembled the flash beat em ups you see.
To make a long story short, I failed. Miserably. I wasted an hour. Luckily I had made a backup, as I had an inkling this would happen.
What went well – Nothing.
What didn’t – Everything.

How I made the trippy background.
Part 9 – MORE DRUGS! (18:00 – 20:15)
Feeling a bit let down by my fail, I decided to create the background I had wanted – white tiles normally, and flashing coloured tiles when high.
To start with, I tried having the Tiles tint a random colour, then use alpha to fade them out. This ended up lagging the game hugely. I mean a 60fps to 30fps drop. This obviously was not the way to go.
After dinner to think about it, I tried reducing the explosion size, thinking that could have something to do with the lag, but no.
I then tried having the 18 predefined tile colours you see up there, and selecting one of them randomly, but no, that didn’t work either. I then realised that it was the alpha that was the problem (which I should have realised, duh), and so created 10 tile sized white squares, each with a reducing alpha, and layered them over the top of the tiles. Horrah! It worked!
I then finally started work on the effects of the drugs, which was really fun (in my timelapse you can see my playing the game for quite a while :’) )
What went well – Regained my urge to work on the game, and created a nice looking background.
What didn’t – How long it took me.
Part 10 – The aim of the game (20:15 – 22:30)
Running around punching doctors and getting high is all very well and all, but the game needed a real aim. So I added in the Craving Bar. The real pain here was making it balanced – having drugs restore the right amount, etc., but I think I got the difficulty ok.
(I also had a pokemon battle against my brother here.)
What went well – Had an awesome Pokemon battle.
What didn’t – Took ages to get the balance right.
Part 11 – EVEN MORE DRUGS! (22:30 – 00:30)
Having three different drugs wasn’t really enough, so I started adding more. I ran into some problems with Flashpunk’s code – the screen’s xScale affected the whole screen, but with some quick poking round I was able to fix it.
I also played the game a lot here. Which is a good sign, as it means it’s fun… or maybe I was just sleep deprived.
What went well – Added a lot more fun to the game.
What didn’t – Wasted time playing it.
Path 12 – Death & Polish (00:30 – 3:00)
I realised I hadn’t actually made you die, so I hastily coded that in.
I created a title screen, and added in some instructions that appear at the beginning.
With about half an hour to go, I felt like just surviving wasn’t enough. I quickly added in a high score system in for collecting drugs, and with about 15 minutes to go, I had finally finished. I gave it to IRC for some testing, fixed a few bugs, submitted it and collapsed into bed.
What went well – I finished!
What didn’t – I had to rush to do it.
All in all, I think it went very well. And I just realised this turned into a 1300 word essay. Ah well. Have a cookie for getting through it: http://www.techbusy.org/wp-content/uploads/2011/04/web_browser_cookie.gif
Tags: post-mortem, postmortem
That’s why there’s no ending in my game, anyway. The last level just loops. :]