Archive for August, 2011
Black clouds above my residence
Fixed the event in the fifth level, which was broken by bugfix 1.0c. Squish a bug, create a new one, it’s the circle of life. Go try it now.
McPixel hasn’t said the last word yet!
Tuesday, August 23rd, 2011 5:05 amSo, I am really satisfied with what I achieved this LD, and I must say that good planning is to blame for that
I got all excited and uploaded the game to Kongregate, but then I thought “Wait! If I made 6 levels in one day, how many could I make in a week?”
So I took it down from Kong, and I plan to make many more levels now!
Here are the six original levels
![]()
Play it if you dare!
Incredible! 599 Entries! Time to rate games!
Absolutely incredible. All of us are amazed at the sheer numbers we did this past weekend. When the smoke cleared, we were left with 599 entries! To compare, Ludum Dare 20, an event taking place just 4 months ago did 358 entries (288 Compo). Yowzers!
Of course, this weekend wasn’t without its share of problems. You can visit this link to read my postmortem of how things went Saturday and Sunday.
Even still! After getting the site usable, Phil had to come back several times to HEAVILY optimize the site code. We still can’t even turn the sidebar back on yet due to the extra load! Yikes!
But no matter. We are on top of this. Lets talk judging.
For the next 3 weeks, entry voting (judging) is on. Everyone that entered is strongly encouraged to play and rate games. The Rate Entries page will give you a custom random selection of games for you to play. The more games you play, the better the averages, and better the results. Still confused? Check out this guide by matthias zarzecki.
And remember! Only people that submitted a game can vote!
Still no matter the results, be proud of yourself! Whether you finished or not, you did something amazing this weekend! You did in 2-3 days what large companies take months, even years to do (well not exactly, but you get the point). Job well done!
That’s all for now. Thanks everyone for coming out and making this our biggest event yet!
EscApe Post Mortem
EscApe was my first entry to Ludum Dare and I did it mainly to learn stuff. I’ve had a lot of programming experience before, but I’ve never done any graphical games. Although I use C++, Python, PHP in everyday manner (work stuff), I decided to go with FlashPunk, having no knowledge at all about either the framework or the ActionScript 3 (besides that they exist) – but being familiar with object-oriented programming, this issue itself didn’t turn out to be that much of a problem.
I’m quite happy with my creation. I’m unhappy with the code, but I decided on developing speed, not beauty. As this is my first game, and done in only 48 hours, it feels just O.K. in my opinion (that is, I could do better, but it’s not awful).
See below for idea explanation, “what went right & wrong” and playthrough video.
I Will Ramble Over Your Game!
Tuesday, August 23rd, 2011 4:26 amOh hi there, you’re looking fabulous today. That Ludum Dare has really done you good…
I’m dogbomb. I do silly things. One of the silly things I do is play/review/mock/love indie-games on a weekly basis. This week I’d like to tickle a few of your Ludum Dare entries and see what happens.
I did this last time; it was my 50th review so I decided to cram 50 games in. You can see how that turned out here:
I truly wish I could play/record all of your games, but I can’t due to time constraints, so please leave a note if:
- You want your game to be played
- You want to recommend someone else’s game for me to play
- You really DO NOT want me to play yours. I’ll take you off the list.
I’m quite kind, but I can understand that you won’t want this British chap with a weird accent pointing out bugs in your 48 hour game or swearing at it because he doesn’t understand it through his drunken haze.
This is pretty much first-come-first-served, though I already have a small list I’ve put together myself. I will get upset if people WANT to be reviewed and I have to say no… so I’ll close this when I need to, to stop me bursting into tears.
TL;DR : This dude wants to play your game and put 10-15 seconds of it on youtube while shouting over it.
EDIT: I HAVE A 50+ LIST NOW. YOU’RE TOO LATE FOR A GUARANTEED SLOT IN THE VIDEO. WORTH GIVING IT A GO THOUGH… I MIGHT ADD YOU IF SOMEONE ELSE’S GAME DOESN’T WORK OUT. ANNOYING ME ON TWITTER IS MORE LIKELY TO GET MY ATTENTION IF YOU’RE DESPERATE!
p.s. I love you all. Thank you for the great response. x x x
Bunnies, Back Into Your Cage! – Post Mortem
“Bunnies, Back Into Your Cage!” was my second Big Ludum Dare game, so I didn’t expect anything surprising here. Of course I was wrong.
WHAT WENT WRONG?
1) Idea and tools
I began my 43 hours of game development (I woke up ca. 5 hours after the theme was announced) without any idea. I already knew I wanted to use Unity3D though (because I use it at work and made my last LD game with it), so I tried to make my concept fitting a 3D engine. After some time I had the idea of a guy running faster and faster as long as he doesn’t hit anything concrete. If you run fast enough (e.g. after running in circles quite some time), you could break certain walls and destroy enemies. Objects would have different values to which speed they react.
So I started Unity3D and did a small prototype. One of the first problems here were the physics though. Smashing through walls only looks good with falling and tumbling pieces of trash, but physics aren’t much controllable. As soon as the player runs into something, he becomes slower. When there are many bricks (sized 2*1*1 meter or so) lying around, the player becomes slower constantly. Which is tedious and not much fun.
The lesson here: Don’t add physics unless they are part of the core gameplay.
2) Motivation
In the end, the prototype just didn’t make any fun even after some hours of work, so I started to distract myself with things on the web and IRC. Motivation was completely vanished – the fact that the theme “Escape” wasn’t really to my liking didn’t help much either. But as soon as I realized that I was more procrastinating than working on the game, I stopped. Grudgingly, I closed Unity3D.
Even though this was bad at least it led me to using Flash, with which I made my final entry: “Bunnies, Back Into Your Cage!” – a game about capturing bunnies that escaped.
3) Again, theme
My second idea didn’t fit the theme any time. I had the idea of a really minimalistic Minecraft which I would call “Pixelcraft”. From there, I began to write code, with more motivation, and at some point, the prototype was playable, and even a little bit fun.
Of course, it was missing the “Escape”.
4) Controls
The player controls were wonky from the beginning, and still are wonky. “Tedious” is the adjective I hear most as feedback to my game.
This is because everything moves/works block-wise. A block was originally meant to be pixel-sized, so this is why I chose to do the movement this way. Now, to add a little bit detail, the blocks are 8*8 pixels (they really are 32*32 pixels, but you can’t see that, hehe), and the controls feel strange. It feels like you often can’t direct the protagonist where you want him to be. Of course, I have no problems with the control scheme, but I am the creator, so this is expected.
The lesson here: Take the time to let your game test by others. They will crush your ego by pointing out all the bugs, but it will be worth in the end. I think. (Of course, the *real* problem is that in the Ludum Dare IRC channel were 330 people who all needed game testers. Try another channel or your girlfriend then.
)
5) Being not Notch
With ~600 entries, not being the creator of Minecraft can draw some of the attention off your entry. You have to compensate it with marketing. And like most people, I hate doing marketing.
Lesson learned: Be notch. Top notch!
6) inudge
I like inudge, but the music sounds just like the one from my last entry. Also, there still is no way to export to WAV or MP3, so I had to record the tune with Audacity. But whatever recording method I tried, it either didn’t record or it all sounded strange and noisy. Even other recording tools made it sound like some horrible sound experiment.
The lesson learned: Sometimes, just rebooting your computer can help. It’s some kind of magic.
WHAT WENT RIGHT?
1) Flash. And FlashPunk.
I just began to love this combination, because you get results so fast. I started my second try at 18 o’clock, so I only had 34 hours left – sleeping included. Yet I came around to make full game, with levels. Cool!
2) FlashDevelop as a level editor.
This is a screenshot of my “level edtor”.
As you can see, you can edit not only rows, but also columns with FlashDevelop. This made it much easier to edit my ASCII array level definitions. Also, I am happy that I decided not to dwell into level definition files, but just hardcode the whole thing. I got levels pretty late, about 8 hours before submission, and yet it didn’t feel like “too late”.
3) Pixel art.
I often hear “nice art” or “I love the graphics” for my entry. This baffles me – everything is just 8*8 pixels. It was a piece of cake to do the graphics. I don’t even have animations, or different frames for walking left/right. OK, color selection may be a factor, but that isn’t hard to get right, either. Just choose colors with nearly the same saturation. Bang, instant good-looking art!
The lesson here: Minimalism is for teh win!
…
That’s it for now. Thanks for reading, and don’t forget to play my game!
I could not escape : Leveldesign
I entered this LD21 with my own additional theme : “No level Generator”.
I’m designing game for a long time now and I have always eluded the leveldesign problem by programming levelgenerator for any game. Breakout generators, sokoban generator, shmup generator, etc.
I was pretty proud of it. Knowing that my game have sort of infinite ammount of levels feels powerful and trying to make them fun althought they were not craft-handed was challenging.
Back when I was 14, My iconic game was Frontier Elite 2. I had no clue what a random seed was, but having a universe on my 3.5 floppy disk sounds magic !
When I started to read the LumdumDare blog, I was surprised by the time spent on leveldesign. Filling a .txt file with “O” and “X” was the kind of thing I totally wiped of my mind. It feels like and old age thing.
That’s a very twisted point of view, but I cant help thinking like this
Enough with the psychoanalysis, what about the game ?
In Rainbow Jail I tried to design the level instead of procedurally poping block and baddies by reversing puzzle solution.
and… Hell, it’s hard work !
For manually designing these kind of puzzle, you have to think hard ! First you have to make some easy level. Not only player must achieve them by doing almost anything, but they must feel like they made some wise move to do it. After that, more challenging levels. For achieving this, you have to test.
A lot.
And I’m awful a this too.
Spending all my time playing my own 48h game seems like a nonsense.
The hope : A Solver !!
So of course, I want to create a a LevelSolver that will check for me the ammount of solution for the current level so I can, just by blindly add or remove block, navigate between 0 & infinite number of solutions until I reach the “only 1 path” holy grail.
Well that would still be leveldesign, but it seriously take the generator twist. And moreover dealing with the fact that player can push some blocks ( sokoban factor ) is not making it easy.
Back to reality
I had to face the harsh reality. For every single level, I will have to check
- is my level possible to finish ?
- is my level fun ?
- is my level erhh.. beautifull ?
- is my 12 move ultra-smart solution is not overlaped by a 2 move solution I didn’t notice ?
I did my best and I think the result sucks
- My urge for quantity over quality made me add those grey dots (random color block ) so I can easily create enough room for my game. Most of these levels are untested and boring.
- Not enough testing : maybe 10% of the room are truly tested. It turned out that making a good level take me 30-45minutes. I should have spend 6-8h on 12 good level instead of this zelda-ish interconnected room map.
The good sides :
- Creating an ambiance for your game is easier with a manually drawn map, I could for example create some kind of jail look level.
- Thinking and testing each of your level really shorten the distance between you and the player.
- Testing specific features of the game is easier : Just draw the situation and test it !
I wish I could design fantastic puzzle like chocolate castle, or better, mix procedural generation and leveldesign to produce gem like spelunky…
Well you can’t become a good leveldesigner in 48h, but a sure thing is the LD competition help me to progress in this way !
Presentation of Faceless
Hello there. May I present to you my jam entry: Faceless. I hope you will like it, or at least the idea of the game :p
You can test it and rate it there: http://www.ludumdare.com/compo/ludum-dare-21/?action=rate&uid=5454

It’s the first time I participate, and I had a lot of fun improvising a game within 3 days.
As I didn’t release a single game nor demo for some years, I feel relieved that it can still happen to me haha.
It’s a nice and refreshing boost before going back to my main project ( http://www.youtube.com/watch?v=g4O71nPsJmo ).
I’m definitely becoming a regular, too bad I couldn’t set up a timelapse this time tho.
Good luck with your games,
DragonSix back to rating!
AWOL – My Timelapse
Hey guys, finally got round to editing together my Timelapse footage! For your viewing pleasure!
enjoy!
Time Lapse
Here’s a time lapse of my LD21 entry! Enjoy.
I hope to write a post-mortem in the next couple days as well, time permitting.
Escape from Dorf Bay – Post-mortem & Lessons Learned
Today I posted EfDB post-mortem.
I made the fix everyone that played requested, now the navigation arrows will always appear, instead of only when your mouse cursor is hovering them.
This is a simple problem, even simpler to fix, but annoied a lot of people.
It also is a problem that, without proper testing, will surely go unnoticed, as when I was deving it, I thought every path seemed very obvious, and everyone would be able to find their way easily.
I also learned that sometimes you don’t need to do the art to make a game, but without a script, it’s way harder…
The Melancholy of Right 31, part 2
I guess I could write up how I coded the thing as well. (The thing being my game, also time is shown from 00:00 being the beginning of Ludum Dare. Add 4 hours to get the time in my timezone)
Beginnings:
A day or two before the Ludum Dare I realized i’m going to my grandmas, which meant no PC. I was, therefore, stuck with an Asus EEE Pad Transformer – a tablet running a Tegra 2 clocked at 1.2GHz/core. It also had two cores.
Thankfully, someone fixed the build of Ubuntu available for it to support the touchpad, making work on it a few times easier. Granted, the driver was quite experimental, but I used it anyway.
After fixing the WiFi issue, I was ready to go.
06:00: Let’s go!
I downloaded the JDK, then XChat and Pidgin. Configured everything so I could easily and effortlessly work. I also set up scrot to take screenshots every minute. On this part, no problems appeared.
06:50: Coding!
First, I wrote the basic canvas code. Next I added scaling for it (I decided lo-res pixelart is easy enough to draw for me.). It scaled from 160×128 (the resolution of the game) to 640×512 (sorry, VGA screen owners, you’re out of luck).
Next, I drew the tiles. I decided they’re going to be 16×16, creating a tile resolution of… 10×8. Yes. That made everything easier.
Then, I created the code to load tiles.png and render it from an array. Good.
07:30
After a while, I added code to make it scrollable. After a few bugfixes, it worked. By 08:40 into the LD (I had breaks, mind you) I drew and rendered the player properly. Finally, I coded a simple mapgen (whose general concept stayed up into the final).
08:45
Until 09:30, i was preparing mencoder/ffmpeg for timelapse rendering. Then I took a break. Up to 10:20 i was busy IRCing and IMing, as well as replying to people on /compo. Then, another break.
11:00
At this moment, I started adding physics for the player. At 11:45 I was improving the mapgen code. Then, mostly community activity from 11:50 to 12:30. Finally, another break.
12:50
I tried setting up the microphone so I could live stream. That failed (stupid buggy drivers). At 13:00 I was designing the enemy “bug” graphic. By 13:40 they kind of worked. Major IM/IRC activity until 14:20, then a break.
From there, I forgot to timelapse, but IIRC i was improving enemy/player physics code.
16:20
Code/IRC intertwinned until 17:00. Then I released the first beta (of mostly working singleplayer). I showed it off to people, finding bugs, chatting, procrastinating and fixing a bug until 17:45.
SLEEP
(remember, it was 21:45 in my timezone!)
27:07
I’m up and running again! Time spent chatting with GreaseMonkey and coding until 27:25, after which I went fully into coding mode. At 27:45 i released another beta on IRC, because why not? I spent time discussing it with people until 27:53. Then, EARLY MORNING LUCKY STAR WAKEUP SCHEME
28:15
Until 28:35 I was bugfixing. Then, I designed the “story” title board until 28:50, at which point it was in the game. Then I started work on wraparound and called off singleplayer as complete. Mostly chatting until 29:30, after which I rendered the first part of my timelapse (on an ARM tablet, in “high” quality!) and uploaded it to YouTube.
30:30
Hardcore mutliplayer Googling/coding with minor IRC. (I had some knowledge on how to code multiplayer right from a sandbox game, 64pixels, that I made in 2010-2011.) At 31:00 I took another break.
33:00
By then I had multiplayer about 50% done. But enemies were a LAGFEST. Too many packets, even for loopback :< Tried fixing until 33:20, then IRC. Fixing/IRCing until 34:15, then break.
34:30
Screw enemies, I was trying to get block throwing work right. Of course, I couldn’t, because ENEMIES ATE ALL THE BANDWIDTH (and CPU). Then, IRC from 35:00-35:10 and I was forced to go outside for 3 hours.
38:10
THE PERFECT IDEA - I made the client do enemy movement prediction! Sure, I had to throw out random movement but IT WORKED! Multiplayer was closer to being completed than ever. Hardcore fixing until 39:10.
40:00
Hardcore fixing/online testing until 42:00 ON MY OWN, FAST COMPUTER. Yay!
42:30
I realize I made a fatal bug after release. Can’t sleep.
48:30
I wake up, realize I can’t fix the bug anymore. Major depression until 49:50, including crying and loss of sanity.
50:10
PoV saves the day, telling me crash bugs are fixable. Attempting to fix a few (with lots of breaks) until…
57:30
I fixed all but one, released a “fixed version”, then stopped it.
Timelapse of NO ONE CAN STOP THE HARDWARE HERO!
Here’s the timelapse of me making my LD entry:
I made it with chronolapse, taking screenshots every 20 seconds for the 2 hours of development.
If you haven’t played my game, you can check it out here. I made it with Multimedia Fusion 2.
The Melancholy of Right 31
(EDIT: You may want to play the game first. It’s a platformer game about throwing blocks on enemies. Timelapse: http://www.youtube.com/watch?v=TNpejFN19pQ http://www.youtube.com/watch?v=E5rtT8qZgyo )
Right! 31 hours of coding out (yes, I was fixing bugs after LD), and I could write up an explanation of how the game worked.
Main.java: It was supposed to run either the Game class or the Server class. That’s about it.
Common Files:
Block.java: Defines the block behaviour. Instead of playing with (co)sines, I decided to hardcode the directions, getting:
Yeah, it wasn’t as good as you think.
Enemy.java: Enemy behaviour. Falling code was a copy-paste from the player code in Game, and the rest is straightforward.
Map.java: Map code. Also, the most complicated part of the game.
First of all, “if(r>11) enemies.add(new Enemy(this,(i*16)+4,(rand.nextBoolean()&&(currpos<6)?(((currpos-1)*16)+8):((height-1)<<2)+8)));” Try to find out what this code does. DO IT
Second of all, it stored the player movement checking code. That wasn’t half bad for a simplified collision detection attempt, but it could be done easier (and faster (and better)).
Third of all, map painting code.
This shows how hacked it was (I was adding wraparound near the end, mostly).
Fourth of all, I had a very easyway of checking whether a player was on. If they weren’t,
px[i]=-1299293; py[i]=-9238223;
Straightforward, isn’t it?
Fifth and final,
block throwing functionality.
MyRandom.java: A version of java.util.Random with a visible seed. Was experimenting.
CLIENT CODE:
Canvas.java: Basic canvas rendering code. Not half bad.
Game.java: My… what? It handled player movement, key handling, ticking map and network code, almost everything D:
First up,
WAAAAAAAAAAAAAAAAAAAAAH IM SCARED
That leaves the key handling mostly alone, other than a trick that made moving faster when jumping, but… meh.
JUMPING AND FALLING WHAAAAAT
Net.java: Fairly sane (but buggy) networking code.
SERVER:
Server.java: Uhh… fairly sane server connection acception code. Except this snippet:
Client.java: Again, fairly sane networking code. Only pretty buggy.
How did I manage to LD without a PC?:
Battleship ASUS (EEE Pad Transformer) running a quickly hacked up Ubuntu. Which I had to fix 6 hours into the LD before I could finally start:
Obligatory anime girl album cover on iPod connected to surround speakers included.
What did I learn?:
- Race conditions will destroy your sanity. ONCE AND FOR ALL
- Sometimes, generic code is better than making a solution yourself. Not always the case.
- I should try to plan out work more than “Singleplayer: Day 1, Multiplayer: Day 2″ next time.
- NEVER WORK ON GNOME AGAIN
- BUGTEST EVERY SECOND
Thanks for reading. If you tl;dr, :<
Newer & Better
I used the extended submission time (I started very late) and made jam my game much better!
- Resampled my song so there’s one simple download
- Fixed a HUGE white-whale of a bug that was a show-stopper and took me over an hour to track down – and now I don’t remember what it was :/. LOL.
- Added another level and made some fuel tweaks to make the game more accessible and fun
- Cleaned up distribution zip (all media is in media folder
) - Made a slighty less cynical and more rewarding win screen
This game is FUN! At least, in my forgiving eyes it is
. I submitted it less than 2 minutes before the final-finalest deadline and I just finished beating that version. I’m brimming with pride!
I’ve really enjoyed this whole experience and I want to thank the awesome people who put in extra work behind the scenes to make LD happen!
There’s a time-lapse (with plenty of time-lapses
) on the way but if you haven’t yet,
How I rate your games for theme
In case anyone is wondering, here’s how I reason when I hand out Theme-ratings.
The main question is how important is “escape” to your game? It’s very easy to start any game with a text box saying “you have to escape this XXX!”, but in how many of these games could you replace that sign with “you have to find the treasure” or the “…evil XXX hiding in his dungeon”?
Many, you say? Indeed. If you could simply exchange one or two dialogs and the game would still play exactly the same, that’s going to give you a lower Theme score. Not necessarily a 1, but low. Notch’s game is an example of this. Overall it’s a fun game and incredibly impressive for being made in 48 hours. But IMHO it’s more a game about killing monsters and gathering trinkets than an escape themed game. I’m not going to give him all 5s just because he’s Notch
On the other hand, if something is so intimately tied to escaping that it would be an entirely different game without it, you get higher scores. If you look at ChevyRay’s Flee Buster the escape (though technically, it could equally well be “chase” but I’ll let it slip this time) is very central to how you play.
And I might have to add, if you write a story driven game and it’s about escaping, it’s of course possible to get a high score – if the story actually is about escaping. But I’m not sure there are too many of that kind here, most games I’ve played yet focuses on gameplay and mechanics. Nothing wrong with that though, there are a lot of good games where the story is unimportant!
Finally, what do I consider perfect (theme) score? I had a look at my ratings and the only game that has a 5-star theme so far is Gjarble’s Beyond the Fourth Wall. In other aspects, it might not rate as high as Notch and ChevyRay, but it’s a solid mini-game 100% dedicated to an escape. Flee Buster could still be a cool platformer, but take away escape from BtFW and you pretty much have nothing left.
So there you have it. Luckily there are many aspects to give points for, and personally I’m basically focusing on humor and theme (guessing I’ll have pretty low scores for overall and fun, because as a game it really sucks). If you’re going for a high theme rating, or perhaps got lower than you initially expected, hopefully this provided something to think about.
Now I have to go back playing all your entries. Having great fun doing so! If you know any game that took good advantage of the escape theme, please post a link in the comments!
UPDATE EDIT:
I also rate [theme] based on how originally it is used. Bonus points for not using the most simple and common “escape from prison-like facility” and “escape from XXX chasing and trying to kill you”
Some Afterthoughts
I finished my game over a day ago. I expected the event to be over then too. But it certainly is not! There are still 200 people hanging out in irc! I very much like the social aspect of this event, so I’m trying to participate in that a bit more. I’ve uploaded a timelapse of me developing my game, “Who let the robots out?”
I also helped some kind fellow port his game to Windows, which is something I’ve never done before. It’s always been the other way around for me, porting Windows applications to Linux. Can you believe that Mingw doesn’t implement all of the standard library? Some functions, in particular drand48, are completely missing! Perhaps this was just an oversight?
Getting back into the swing of things has been pretty difficult. I had a hard time sleeping during the competition, and briefly broke my polyphasic sleep schedule since I was too excited to nap. And it doesn’t help that tennis just started today and I had to do an hour long run. I also look back onto the project I was working on up to the competition, and think “there’s no way I can go back to the normal, slow-paced programming I normally do. But if I write sloppy code on such a big project, I’m screwed”!
Beak Free – Timelapse + Postmortem
Entry: http://www.ludumdare.com/compo/ludum-dare-21/?action=rate&uid=5470
Timelapse: http://www.youtube.com/watch?v=HQfTh-Z26wU
This is my first entry to Ludum Dare, and one of my first Unity games, as I’ve only recently started using it. Development went fairly well and I was on time for most of my goals, I only had about 8 hours sleep during the 48 period though, but not all of it was spent at the PC.
What went right:
- The competition began at 11AM local time(JST), meaning I basically woke up normally and was right into dev
- My game idea was really simple to pull off, in fact, the core gameplay was done in about 30 mins, the rest was spent polishing everything
- The artwork turned out better than I expected
What went wrong:
- It took me over 5 hours to come up with a game idea based on the theme
- My library had some bugs in that I spent some valuable time fixing
- My library lacked some features like the ability to swap out textures for UI elements, this meant I couldn’t implement a mute button in time without using major hacks
- I didn’t have any plan about how to make music, so I didn’t
- I didn’t have any generic code to handle 2D animations, so I had to settle for very basic texture swapping which took a while to write and didn’t allow me to implement anything complex
- Apparently the sound effects caused people to want to vomit, even though I thought I set the volume quite low :’(
- I had no code ready to make creation of collision meshes easier
Summary:
It was a great first attempt, next time I’ll be far more prepared and way more code ready to save me time during development. The IRC is cool, it’s full of helpful people and the structure of the competition is very nice. Next time there’ll probably be even more entries, so that should be fun!
GaolBreak – Postmortem
This was my first Ludum Dare competition (but not my first 48 hour competition) and I’m very happy with how my game turned out. When the theme was announced, I was disappointed — I didn’t think I could come up with anything good, but eventually settled on a sliding block puzzle with patrolling enemies.
By the end of Friday, I had all the sprite-work done, a player that could move around the screen and some basic level collision stuff. Saturday was much more productive, and by mid-afternoon I had most of the game mechanics finished. Saturday evening was divided between making music/sound effects, making title and instruction screens and trying to come up with more levels.
On Sunday I made the animation smoother (originally characters moved an entire square with each step; a quick hack changed this to a fluid motion over several frames), added some slightly better music and introduced pressure switches.
I also redesigned all of the levels except for Level 3, making them more compact and placing more emphasis on the puzzles. In hindsight, leaving Level 3 alone was a bad idea, and it seems like the game for most people ended up looking like this:
…which is a shame, because Levels 4 and 5 are my favourites.
Lessons:
- I need more practice with LMMS/Musagi/Sfxr. The music and sound effects definitely need work.
- Programmer art can sometimes be charming.
- Running all the way across the screen to reach a puzzle is not fun, and neither is a puzzle so dependent on perfect timing that it frustrates people.













