Ludum Dare 48-hour Contest

LudumDare hosted a 48-hour games programming contest on July 14th. The turnout was surprisingly large with over 50 completed games for submission. People used a wide variety of development languages. While C was certainly popular, there were games written in flash, java, basic, and of course, pygame. In the end there were many more pygame entries than I expected, some people trying it out with little experience. You can read more details about the contest on the LudumDare contest page.

Here are all of the pygame entrants, along with a small report on how python and pygame treated them. Each entry was publicly rated between 1-10 in 7 categories; Overall, Gameplay, Fun, Graphics, Sound, Technical, and Complete. (A rating of 7-8 was the winner in any category)


Guardian Angel by Codexus

(waiting for submission)
Guardian is a miniature and fun game. You control a guardian angel and eternally racing to reach deadly objects before they reach your little friend.

  • Source & EXE
  • Overall: 6.6
    Gameplay: 6.2 Fun: 6.2
    Graphics: 6.8 Sound: 5.6
    Technical: 5.8 Complete: 6.3


    Go, Go, Scarecrow! by Pete 'ShredWheat' Shinners

    This was a small game where the user plays a scarecrow and attempts to defend a small farm from lots of birds. Initially development went very slow for me. It wasn't until the final hours that I was really got into my "Flying With Python" mode. This is basically when I am getting working final code into my game as fast as I can type it. For example, the animated skyline and dancing scarecrow. I didn't think I'd have any time for these sorts of things, but the code went in so fast I couldn't believe it. I love programming like this, and I was glad I got to experience it again for this contest. I also lucked out since my temporary artwork seemed to be good enough for release (as I had no time to redo them)

    One other thing that completely surprised me was the actual performance of the game. I didn't get a chance to actually optimize anything, and parts of the rendering were sloppy. I had figured it would only run smoothly on something like my 1.3Ghz machine at home. Imagine my surprise as I tested it out on my 300mhz NT4 machine at work, it ran perfectly smooth. Score one for pygame and it's ability to snap along. So many sprites with fairly complex behavior zipping around the screen.

    In the end I didn't get any time to do "play testing", so the game doesn't really play like a game. Everything works well enough, but I believe it's impossible to really lose, but it doesn't feel like you are in control enough to keep yourself from getting assaulted. I was disappointed in the fact I didn't have time to record my own soundeffects on the microphone, I had been practicing my sounds the entire day.

  • Source
  • Win32 EXE
  • Overall: 6.0
    Gameplay: 5.6 Fun: 5.5
    Graphics: 5.6 Sound: 1.2
    Technical: 5.1 Complete: 5.8


    Parrot by Ken 'MrPython' Seehof

    It's got see through walls (Diablo style), and z-order sprite sorting (so you can control which sprites are in front). I'm also using an interesting approach to fonts. I render the font in photoshop with the text tool plus any filters and effects I happen to like. I could even make a woodgrain font if I wanted to, or maybe scrabble style, etc., all with no extra programming.

    I'm thinking of extending the concept to animated fonts too, using the same approach. I'll post these in PyGame when I get a chance; I'm behind on my web stuff in general right now (Pyx, etc.)

    (ken went even further to create a full "72-hour" version with much more polish. see his site for that download.) The later version also has some maze traversal code that makes the camels smarter on higher levels, and makes it so that when you click on any square, the parrot will go there on the shortest path. And the speed potions help the game balance a lot.

  • Source & EXE
  • Overall: 5.7
    Gameplay: 5.7 Fun: 5.0
    Graphics: 6.6 Sound: 1.0
    Technical: 5.8 Complete: 5.5


    Rotector by Stuart 'loon' McFadden

    This is an incredibly simple game of revolving the shields to protect against the missiles being fired from the hovering spaceships. The entry is a departure from the original concept which had to be simplified in order to have a chance of finishing. One of more interesting features that had to left out was the shields shrinking when hit and recharging/growing over time, I think this would have improved the gameplay by having the player balance out the use of the shields.

    One of the drawbacks of the Python/Pygame combo was my unfamiliarity with some of the details of Python, as I haven't been using it that much recently. The bug that points the missiles in the wrong direction was caused by my misunderstanding of the Python casting, I had a "float(int/int)" instead of a "int/float(int)", I'd wasted a lot of time checking the trigonometry theory to see if the problem was there, and had I known Python better I wouldn't have wasted that time. On the upside the power of Python/Pygame allowed me to write short scripts to automate some fairly tedious and otherwise time consuming tasks, such as creating the background starfield, or by making an image strip by using the transform methods.

    The power of Python combined with the ease of use of Pygame allowed me to develop a concept quickly while remaining flexible enough to try out different 'threads' of that concept, but a better grasp of Python would help to harness this power.

  • Source
  • Win32 EXE
  • Overall: 5.3
    Gameplay: 4.9 Fun: 5.0
    Graphics: 5.3 Sound: 4.6
    Technical: 5.3 Complete: 6.3


    Nothack by Roger 'Denor' Ostrander

    My game's based on the inverse of the typical RPG premise; normally at some point the heroes have to go out and defeat some guardian to get something important. In my game, you are that guardian.

    I'd picked up Python for work a few months back and fell in love with it. I'd known SDL for even longer, and while I'd had my eye on Pygame for a while I'd never really come up with a project I wanted to do with it. The 48 hour compeition seemed like a golden opportunity. Going was slow at first, because I had to learn pygame - my familiarity with SDL helped at times, but also slowed me down when I'd have to stop and say "Okay, SDL does something this way, is it the same in Pygame?" and then look it up.

    As the competition continued, however, and I figured how to convert usual C++/SDL idioms into Pygame idioms, the pace picked up rapidly. I added two features of the game (selling items and using health potions) in the last hour of the competition, for example.

    Overall, I liked my Pygame experience. There were bugs in my game, sure, but they weren't the kind of memory-trashing bugs that I'd occasionally introduce into my C++ programs. On more than one occasion, I was glad that I was tracking down mundane errors rather than dealing with the agony of getting my pointers all in a row. In the end, there's a lot of things I'd fix about the game. Selling, for example, simply picks a random number for the value of an object (so you could buy a health potion and sell it back for more). Originally, my game had a plot. But it's still a playable and fun game, so I count it as a success :)

  • Source
  • Overall: 5.0
    Gameplay: 4.1 Fun: 4.4
    Graphics: 4.4 Sound: 1.8
    Technical: 5.6 Complete: 4.7


    Feebania by Geoff Howland

    (waiting for submission)
    Geoff was the excellent host of the LudumDare 48-hour competition. He decided to go with pygame for his "interactive administrative" game. You may recognize some of Geoff's previous work in the pygame example, Uberball.

  • Source
  • Win32 Install
  • Overall: 4.7
    Gameplay: 4.8 Fun: 4.3
    Graphics: 7.1 Sound: 1.1
    Technical: 5.3 Complete: 2.8


    Orbital Defense by Joe 'ReaverJoe' Lee

    (definitely one of shredwheat's favorites. this uses opengl to render a liquidy smooth and fun interface. waiting for submission)

  • Source
  • (Unrated)


    Warten by Illume

    My game uses no graphics, only sound and keyboard input. Description of game: aliens are after your baby. You need to escape from them. But you were blinded, and you only have your sense of hearing. Luckily you also have a stick! You can use it to avoid obstacles, danger. But also to hit aliens with grin

    What went right: Using python. Great language for fast programming. I could type some code in and run it straight away, without compiling. With ipython there is argument completion, and all that other goodness. I had one python session open from the start to the finish of the comp. My game was running in there the whole time. Using pygame. Quite easy to use. Although I wish there was support for playing more than one .ogg/.mp3 at a time(an upcomming feature I hear). Even though there are no graphics in my game I used a number of its image features for my map loading.

    What went wrong: Not knowing pygame sound enough. Before this project I'd never used pygame sound that much. So I didn't know what was possible. Which lead me to waste a bit of time exploring. Of course exploring is half the fun in programming so it was fun, just time wasting

  • Source
  • (Unrated)