Ludum Dare 32
An Unconventional Weapon

Compo Ends in

Jam Ends in

Final Results

Show full results




Archive for the ‘LD #14 – Advancing Wall of Doom – 2009’ Category

“Quarter Quell” Ludum Dare Week!

Friday, May 3rd, 2013 10:13 am

I have to be honest, I mostly didn’t participate in the last LD because I wasn’t a huge fan of the theme. I know, I suck, but it’s the past now…

….. But now, to make up for my laziness, I am bringing the past back!

Starting this Friday, I’m having a Quarter Quell (#HungerGamesReference). For a week, I will make a game based on one of the 25 first topics, and it would be cool if you guys joined me in this effort! If not, it’s cool lol.

You can pick any topic (or topics) from the random list below. I went to and randomly selected 10 out of the 25 numbers:


So the topics are:

Advancing Wall of Doom
Build the level you play
Preparation — Set it up, let it go
It’s dangerous to go alone! Take this!
The Tower
Growth … <– “Grow”, also this May’s optional theme for One Game A Month

I think standard LD rules should apply, minus the week to do it. I plan to do this alone, but you can be in a team if you so desire. If you want to participate, post in the comments of this post your intent to do so… and share your finish products when you’re done!

If any of you decide to participate with me, let’s see what awesomeness we can create!

Mind Wall a finalist at IGF China

Posted by (twitter: @ludumdare)
Friday, October 2nd, 2009 12:38 am

igf_china_logoLudum Dare entrants are really on a roll this year.

The latest in the continuing legacy is Seth “mrfun” Robinson’s Mind Wall from Ludum Dare 14. Mind Wall is on it’s way to China for the inaugural Independent Games Festival China competition.

IGF China Info:
Finalists List:


Download Mind Wall:

Mind Wall was created for the 14th Ludum Dare’s theme Advancing Wall of Doom, and took place in April of this year. Seth has since improved on his Ludum Dare entry, and even ported the game iPhone!

One of our favorite Mind Wall moments has to be this youtube video recorded by a player. His girlfriend captured this tense and tender moment as he conquered the unforgiving beast that is the Mind Wall.

So hey, Ludum Dare. Not bad ‘eh? First it was Phil and I at the IGF Mobile in March, Lexaloffle at the TGS Sense of Wonder Night last week, and now mrfun at IGF China. Not to mention our record breaking 123 and 144 entries the past 2 compos. A fantastic year for us all.

Lets keep that going!

The Independent Games Festival and Independent Games Festival Mobile are now accepting entries for 2010. We’d love to see more of you keeping this little streak of ours going. Both competitions require an entry fee, and for you to provide your own travel if you make it. But if you ask any finalist, they’ll tell you that attending is totally worth it. :)

Independent Games Festival (Due November 1st, $100):
Independent Games Festival Mobile (Due December 1st, $50):

I’ll be there at GDC next year (perhaps with Phil). Not that meeting me in person is all that monumental an event, but hey. If we get enough of an LD crew out there, we’ll totally have to do something.

Keep up the great work everyone! :)

– Mike Kasprzak (PoV)

Your House is Wet

Posted by
Sunday, September 20th, 2009 3:16 pm

I participated in yesterday’s Glorious Trainwreck. My self-imposed theme? RAIN.

Play it! (Windows)

Xue (and Crushing Pressure, too!) post-LD updates

Posted by
Sunday, September 13th, 2009 11:45 pm

I did make some updates to Xue after the compo, which I spun into my “game of the week” for this past week.

I’m not really super pleased with the result (in the end, I think the game still has too much “oooo… parallax” and not enough “wow, that was fun!”), but I also don’t have a clear direction that I’d want to push the idea in at this point, so I’m letting it stand as is for now. Maybe someday when / if I get a better sense of exactly what I want people to do in those caverns I’ll spin off a different game based on the entry.

Anyway, heres an updated screenshot (once LD was over, I immediately and shamelessly plugged in some graphics from


It’s playable online here:

As Kobel suggested in the comments on the entry, I did use a color matrix to tweak the background layers (actually, the original entry did that too, but it only darkened them, so it wasn’t much of an interesting effect). There are a few different “atmospheres” that the game uses for the caves, each of which fiddle with the colors of the background layers in different ways.

Gameplay-wise, I added some fireball spewing monsters, along with items that restore fuel. I also fiddled with the controls for the player’s ship (and actually I’m still fiddling with them, even with the game already released online), and adjusted the way the crystals spawn.

The map is also completely enclosed now, so there shouldn’t be any more invisible walls, and there’s no longer a way to fly off into space off the top of the map. Technically the map generation got tweaked a bit too, but nothing terribly interesting (the maps start out at half size and get scaled up, which both speeds up the generation a bit and cuts down on some annoying small-scale features).

I’m always happy to get feedback (though on this one, like I said, I’m not sure if I’ll stick my fingers into it again for a while unless a really compelling new direction for it comes up).

I also realized when I was getting ready to write this post that I never posted the updated version of my LD14 entry — so I hope nobody will mind if I tack it on here!

That entry was Crushing Pressure, and it turned into this little Flash game:


You can give it a whirl here, if you like:

The original entry for LD14 had the same basic goal (rescue the little people while avoiding the walls), but it didn’t have any other obstacles to avoid (the updated version adds the DoomCubes and WhizBlades). The released version also added music, and little extras like an honest-to-goodness score counter and some quick transitions between levels. It’s still a pretty simple game, but there are a few minutes worth of gameplay hiding in there, I think.

Thanks for the feedback everyone left on both the original entries!

The Triumph of Time 2.0

Posted by
Thursday, May 21st, 2009 8:29 am

Just a quick note to let people know that I’ve finished the post-compo version of The Triumph of Time from LD14. It has many more levels, a tutorial and a level editor, and hopefully a more forgiving difficulty curve. I’ve also implemented many of the suggestions people have been making.

It’s up on my web page, where I’ll also be posting updates to it.

UUWD – Why I didn’t post my timelapse.

Posted by
Wednesday, May 13th, 2009 1:59 pm

Ludum Dare 14 Results Now Available!

Posted by (twitter: @ludumdare)
Wednesday, May 6th, 2009 9:29 pm

Final results for Ludum Dare 14 are now available.…

Congratulations to all the winners.

A big thanks to everyone that participated. It was our largest turn out to date, with a final count of 123 entries. That’s nearly twice what we usually get. Wow!

Speaking of records, we also had a whopping 17 entrants record and share time-lapse videos during the compo. You can check those out here:…/time-lapse-videos/

In addition, Hamumu produced 2 episodes of his internet video show Behind the Dumb from his footage. You can check out episodes 6 and 7 here, as well as the rest of the show archives here:

– – – – –

Ludum Dare 15 will be in August. Stay tuned for that. We have many ways now for you to do that.

Mailing List:

And if you just can’t get enough of Ludum Dare, stop by May 22nd weekend for MiniLD #9, hosted by destroysound. Check out this teaser post for more information.

– – – – –

After much deliberation and deep thought, we’ve realized we’re not perfect. With 123 entries to sift through, the faults of our current system have started show their ugly head. So in an effort to improve, we’ve started collecting feedback for next time. Post any thoughts you have in the comments of this post:…/compo-process-feedback/

We may solicit some help in the next couple months on the site or in IRC.

Thanks again everyone that participated, and we hope to see you again in August.

– Mike Kasprzak (PoV)

– – – – –

News Archive :: Theme :: Advancing Wall of Doom…/ludum-dare-14-april-10th-12th/…/ludum-dare-14-date-change/…/theme-voting-has-begun/…/final-theme-selection-note/…/theme-advancing-wall-of-doom/…/record-number-of-entries/…/compo-process-feedback/…/shal-we-extend-voting/…/three-more-days-to-vote/

Ludum Dare 14 Theme Voting
Round 1, Round 2, Round 3, Round 4, Final Round

Ludum Dare 14 Time-lapse Videos

Posted by (twitter: @ludumdare)
Wednesday, May 6th, 2009 8:16 pm

Speaking of records, here are links to the 18 time-lapse videos from 17 entrants in Ludum Dare 14.

The majority of the videos can be found on YouTube. In addition, Hamumu produced two episodes of his internet video show Behind the Dumb from footage taken during the compo. Now that’s hardcore. :)

Hamumu: Behind the Dumb EP6 and EP7


Posted by
Wednesday, May 6th, 2009 7:05 pm

On time too!


Posted by
Wednesday, May 6th, 2009 6:42 pm

I started making this timeline a few hours into LD14. I have imagined a program which would produce something similar, although I enjoyed the open ended prototyping and creative potential of doing it with pencil and paper.


issues with python

Posted by
Tuesday, May 5th, 2009 8:51 pm

ok so i’ve noticed the games with the least number of votes are python games that i haven’t been able to run because of some weird python error. i would imagine others have similar issues or perhaps don’t have python installed at all. i’ve just read something interesting, uninstalling old versions of python and reinstalling can help with issues. we’ll see how it goes..

wow it worked! i can finally run python games. one less stumbling block between me and games =]

python 2.6.2:

pygame 1.8.1:

A few strategy hints

Posted by
Tuesday, May 5th, 2009 8:02 am

UPDATE: Now with (spoilerific) screenshots after the break.

Since several people seemed to find The Triumph of Time pretty hard, I decided to give some pointers as to how to best play the game.

Let me describe the core mechanics of the game. As soon as you have built a pylon next to a star, it will extract particles from it at a fixed rate. The larger the star is, the more particles are extracted per time unit. Building several pylons next to a star will not increase this rate, the particles will just be randomly distributed over all pylons. The particles will then go on to more or less randomly distribute themselves along all barriers which extend from their current pylon.

At a fixed time interval (every two seconds, if I recall correctly), the cloud of antimatter will expand in every direction. It can only be blocked by having a barrier which is powered by particles in its way. However, for every grid cell along the barrier which the cloud tries to enter, one particle on this barrier will be destroyed; when all particles are destroyed, the barrier falls.

So here are some rules of thumb for successful play:

  • Try to tap each star at your disposal as early as possible, especially the large ones.
  • Try not to lose any stars to the cloud as that will severely cut your particle budget.
  • Do not build any superfluous barriers within your territory. Every particle that swirls around on a barrier which is not at the frontier does not contribute to your defenses and is essentially useless. So, try to keep the paths which transport particles to the frontier as efficient and short as possible.
  • Keep the frontier as small as possible. Every frontier tile (i.e., a cell on a barrier which delimits your territory from the cloud) will cost you a particle every two seconds, so minimize your surface. PRO TIP: It’s well known that the shape with the smallest ratio of circumference to area is a circle. It may help to keep your territory roughly circular.
  • I’ve found that once a critical barrier has fallen, it’s often very difficult to recover. It’s better to stake out your territory on the conservative side rather than lose it all.

I hope this helps a bit. After the break (SPOILERS): screenshots on how to solve the first four levels.


Timelapse + Journal part 2!

Posted by
Monday, May 4th, 2009 8:09 am

Behind The Dumb Episode 7 is available now!  Thanks to the handy extended voting, it is available before voting is over!  Of course, again, I filmed it all during the 48 hours, but didn’t edit and release it anywhere close to that time, so probably not valid for voting.  But I hope you enjoy seeing what kind of sandwich I ate, in one of the most epic cliffhangers since Sylvester Stallone’s Cliffhanger.

Three more days to vote!

Posted by (twitter: @ludumdare)
Saturday, May 2nd, 2009 11:51 pm

As expected, people have asked for more time to download and vote for entries. And who can blame them with over 120 entries to pick through. But rather than make the winners wait an entire week to find out they won, we’re going to have only a 3 day extension.

So, 11 PM EST/8 PM PST Wednesday night is the new voting end date. Check the clock on to get an idea when that is locally. I’ll flip the switch shortly after that hits zero.

Voters, keep an eye out for the entries with under 20 votes. When I last checked, we only had 28 entries with 20 or more votes. Some are very close to that, and if we can get half of the entries that high by the middle of the week, it’d be great. I understand some entries may have unusual setup requirements, but we ask that you do what you can.

Looking at final list, we had 123 total entries in Ludum Dare 14. I was chatting with one of the guys in #ludumdare today that’s reviewed over 100 entries in the past 2 weeks. As he put it, games “that don’t require me to install a bunch of stuff to run”. That’s a pretty impressive slice of playable games if I do say so.

Thanks everyone for helping out and participating in such a monumental compo.

– Mike Kasprzak (PoV)

Diodontidae – postmortem

Posted by
Saturday, May 2nd, 2009 10:07 pm

I believe a better name than post mortem would be lessons learned, so let’s see my lessons learned from the  competition. I would love to read this before the compo, as I can’t make the time go backawards, let try at least to help other newbies.
1. create the menu navigation at the start of the competition
As I was fighting agains some physics problems during the development process most of the menu was left behind. Then I realized 30 minutes to the end that my menu would be an image =) and a play button…

The lesson on this would be, use time in the middle of the nightmares to do these brainless activities, because what can go wrong while build a menu ? =)

2. draw in the paper build and color in the computer
That helped alot, I save my day manipulate the lines with inkscape, but … in order to slice images I have a nightmare with inkscape, go with Gimp works as a breeze

3. dont split images, let the engine split for you
ahhhh I spend some hours cutting images lol !!, could use something like to draw a subsprite of the image …

4. make physics work for you
Oh Well after the physics hit me in the head, I learned some details and was able to make it work in a decent way, special note for the boats that hang around over the sea, for that I created a sequence of x,y that is the path to the boats, and I try to follow the path, I believe if I make the water line as an object and change its group to only colide with the boat would be the best to move the boat around.

5. clean the tables in one place only.
Not sure why, buit when I was removing items from my objects list in teh collision handler the LOVE was just crashing … workaroiund that I found : flag to items to be removed and remove in the update() method and one by one from each table, this is call at the end of the update() for each cleanable table :

[code]— clean the tables
function cleanTable(table2Clean)

for n=1,table.getn(table2Clean),1 do
if table2Clean[n].dirty ~= nill then
table.remove( table2Clean, n )

and at the collision handler, I dont remove the pig from the list, just flag it
and I believe that this would be a nice way to animate the pig booom =)
by using a multistate, like alive/almost dead/dying/im outa here :)
would change the image section, or play an animation … and at the end remove from the list
that would be great …

function killThePig( id ) audioCollision, 1 )
pigsKilled = pigsKilled +1

for n=1,table.getn(pigs),1 do
if pigs[n].poly:getData() == id then
pigs[n].dirty = true

6. reusable files should be in a folder
I’m using for labels the .lua classes that I made called LOVEly-eyes, but I had this problem with the Text object that wasnt transparent … Oh well I went in the code changed the super class, Rectangle to handle this and the Text is transparent by default, cool, but but but … :) after that I just copied all the files from the LOVEly-eyes folder to my game folder … too bad because I copied a main.lua file together … If I wasnt using subversion would be a nightmare … now LOVELy-eyes are in a separated folder =)

7. use a version control system
I used subversion, saved me when I made an stupid folder copy … revert and just lost some minutes of work… bu remember keep on committing =)

8. put together a zip with everything
Better that just the .love file, create a package with the execs, the best would be create an installer.

9. level up level up !!!
people like rewards, so more than the score I should add level concept, just with faster attack of the pigs, or a different scenario with different speed .. hummmm that would be cool a .lua file for each level :)

10. collision has 2 sides … A and B
It took me some time to realize that A and B collision data, first they are the DATA from the polygon nothing else, just disconnected data, not a reference, not and pointer … hehehhe string data what makes very nice and unplugged from the code, and you have to test both sides, if wherever A colide on B and the oposite, this was my colision code

[code]function collision(a, b, c)

if string.starts(a, “pig”) and string.starts(b, “battery”) then
killThePig( a )
removeTheBattery( b )
elseif string.starts(b, “pig”) and string.starts(a, “battery”) then
killThePig( b )
removeTheBattery( a )
elseif a == DIODONTIDAE and string.starts(b, “food”) then
eatFood( b )
elseif b == DIODONTIDAE and string.starts(a, “food”) then
eatFood( a )


function string.starts(String,Start)
return string.sub(String,1,string.len(Start))==Start

note that I used start() because I add the object id after the type, so I can grabb it from the list, something like “crap_2″, “crap_3″

11. scroll the view is possible Luke… use the force !
Ha ! not the force, at the end I solved the screen scrolling with a simple solution, calculated a shif from the main character and update this shift in the update() method and every single draw has this shift. So the camera is following the character, thats stays in the screen all the time, and to avoid the char to drop outside the world I add invisible walls on left and right side and check if the cameraX is in the possible range,

this in the start of the code

startCameraX = ) / 2
startCameraY = 200

cameraX = -startCameraX
cameraXLimit = {}
cameraXLimit.start  = 0
cameraXLimit.finish = -2905

+ cameraX on each draw
diodontidae.theChar:getX() + cameraX,

—— draw the batteries
for n=1,table.getn(batteries),1 do
batteries[n].body:getX() + cameraX,
batteries[n].body:getAngle() )
this on the update()

[code]    cameraX = startCameraX – diodontidae.theChar:getX()

— keep the camera in the boundaries
if cameraX > cameraXLimit.start then
cameraX = cameraXLimit.start
elseif cameraX < cameraXLimit.finish then
cameraX = cameraXLimit.finish


Posted by
Saturday, May 2nd, 2009 7:49 am


PET THAT KITTEN! was my second attempted Ludum Dare,  my first actual entry, and my first XNA game. Going into this I knew I was going to use this competition as a way to get my feet wet with XNA. Considering the added learning curve I aimed for a very tiny scope. I think I went with the idea that crossed most LD’ers minds, turn the wall into an enemy and have it chase the player.

Development Tools

I had worked with a bunch of C# in the past so putting everything together in XNA wasn’t a problem. I had done my art up in Flash CS3.  I had planned on using hobnox to generate my sound effects and music.

What Went Right

The scope I had planned out mostly revolved around the fact that I was tackling XNA for the first time. The scope had lots of features I could easily cut out while still leaving me with a “complete” game.  I had done a bit of and C# managed DirectX stuff in college, XNA turned out be extremely similar so only very few features got cut.

Despite the programmer art, I’m pretty pleased with the way the artwork turned out. It was more time consuming than I had liked, but I feel like it breathed a lot of life into an extremely simple concept. I also decided that however crappy the artwork looked at the start, it would make it into the final project, no placeholder art.

What Went Wrong

I was using this Ludum Dare to kick myself in the butt to get something done in XNA. Most of my perceived problems stemmed from this though. I realize the ideal entries are executeables and broswer based games, no one really likes having to install dependencies or go to too much trouble getting your game going. I’m sure the installer for the XNA framework turned at least a few people away.

On that note, I know I could have gottent his entry done in half the time, possibly with more features if I had just done it in Flash. A good chunk of my time was converting assets to spritesheets and then fixing up the spritesheets (you’ll notice in the wall animation that you can see bits of other sprites on some frames).

My time management for this competition wasn’t too bad, I think I spent too much time on getting some of the artwork done, the time would have been better spent with an in game help screen explaining the game objects and scoring system.  The confusion brought on by the scoring system (and a scoring bug) was a huge oversight on my part.


As an XNA project I’m pretty happy with PET THAT KITTEN!. It’s a complete mostly functional game, and I managed to plan my scope out pretty well for the time frame. However as a Ludum Dare entry it’s a little less than ideal as I know I would have been able to polish it(Sound effects!) quite a bit more in Flash and avoid installer issues.

This Ludum Dare was a great learning experience for me. Planning out a scope under such a tight deadline, learning XNA, and finding a couple of really nifty tools for mixing music and creating sound effects.

[cache: storing page]