LD21 August 19–22, 2011

All my Ludum Dare Entries…

Play them on Kongregate.com

The idea is to progress these games polish them and improve them over time.

So don’t just leave your LD game on the shelf go back to it improve it, enhance it and get it out there where people can see, play and enjoy it!

Tags: Kongregate, unity

Escape Artist Postmortem Pt. 3: Right and Wrong

It seems to be traditional to, in your postmortem, say what went right and wrong. So here goes.

Good stuff

  • I managed to adhere to my schedule almost perfectly. I’ve had enough practice with timed contests by this point to know exactly how much I can accomplish in a certain amount of time, which is a huge boon.
  • With two hours left, I decided to include a boss, because I felt the game ‘didn’t feel right’ otherwise. As much as a recipe for disaster as that sounds, I pulled it off, and debugged the last boss bug with only minutes to spare. Like a boss. 😀
  • Python was an incredible language for gamedev, even though I had only recently learned pygame. I was much more productive than in (say) Actionscript.
  • I feel my graphics have much improved since my LD19 entry.
Bad stuff
  • I had a wrist failure which took me out of the compo for almost 10 hours. I wrote about it in detail in pt 2 of my postmortems.
  • I was making some dumb decisions by the end of the first day. I prioritized sound effects over getting the game done, and I’m not quite sure why I did so in retrospect. I think it was because I was really tired and it was detracting from my ability to make good decisions.
  • As much as I’ve improved, I still feel my graphics were subpar, and I should have devoted more time to them.
  • I wanted to apply fancy graphical filters and stuff like that, but didn’t have time. More than that, I didn’t know how. The graphical style of appy 1000mg in particular was a great inspiration to me, but I was unable to replicate it in any way. I need to look more into pygame’s advanced features in the future.
  • I had to port Python, which took about 6 hours of work. But since I had work, I didn’t get the ports out until 24 hours later, which meant I fell behind in ratings. That was disappointing at the time, although I’ve mostly caught up now, I feel.
What I’ve learned:
  • Get an ergonomic keyboard!
  • Care more about graphics. They really are important. Particularly, after you’ve finished with implementation, graphics are arguably the most important thing to work on.
  • Porting is hard. It’s such an advantage to choose a language you don’t have to port.
Two big problems with the entry, and one thing that’s separate. I’m going to work on graphics and buying a nice keyboard (that second one is pretty easy to work on :D) and I plan to really knock LD22 out of the park! :) Check out my game, Escape Artist!

STM in games

I wander does anybody uses something like STM in games?

I did try something like it in the last LD – my game used what I would call a lightweight STM. Meaning that had two threads of execution – a reader thread (which is actually performing the painting, based on a given game state) and a writer thread (which actually moves the game state ahead, the update loop).

The writer threads starts a “transaction” and it is working with its private copy of the value. When commits, the value becomes visible to the reader/painter thread.

The main advantage of the approach is that we can use easy multi-threading (even utilize multiple cores) with clear separation between who makes updates and who makes the drawing on screen. The only negative I see is that we cannot use directly the values provided by the language but instead should wrap every peace of data in another layer/abstraction.

Any thoughts?

Comments

SusanTheCat
30. Aug 2011 · 13:00 UTC
Since I don’t mind looking stupid, what do you mean by STM? I would assume some sort of thread management, but what does the S stand for?
SusanTheCat
30. Aug 2011 · 14:05 UTC
Thanks for the link!
Felipe Budinich
30. Aug 2011 · 14:31 UTC
Will read the link. The closer we have to multithreading (us lowly flash developers) is pixel bender :-p

Post Mortem of CRS Escape

This was my first Ludum Dare and it totally rocked.  I am a great fan of creativity under a deadline events.  I’ve participated in NaNoWriMo (Novel Writing), 24 Hour Comic, and NaNoRenMo (Visual Novels).

The Good:

Remembering to keep things simple.  The original story I came up with was much more complicated and involved things like timers and explosives.  I broke it down to the simplest elements.

I made my own event system. OK.  This is not that great an achievement, but I am happy with how well it worked.

The Bad:

End Graphics (The Lack of) I ran out of steam with the artwork and didn’t make any. The game didn’t feel complete without them.

Awkward interface.  Adding the mini map helped a bit, but it was hard to place yourself in the location.

Passage of Time not Apparent. Many people didn’t notice that the raccoon was slower than the cat.

What I learned:

You are much tougher on your game than other people are.  There is no need to point out all your mistakes to the people playing your game.

Play my game!

Susan

Tags: post-mortem, postmortem, Ren'Py

Comments

12. Sep 2011 · 00:33 UTC
Would you like this post-mortem to show up in indie(Magazine); Issue #15?

Jailed by the Ministry of Project Management – Post Mortem

After having improved the level generator a lot, I think it’s the right time to write a post mortem of my game.

What went right:

  • Game idea: At first I was disappointed with the theme, because I had some nice ideas for self-replication and genetics. But with the morning shower there came several interesting ideas. First idea was some sort of swarm attracting rescue game (still self-replication minded), second was a rpg in which you try to escape your chosen role (e.g. only get xp for things you are bad at) and the third idea was the actual one. I chose the later because it was the easiest to implement.
  • Tools: After warming up with python and pygame in the Mini-LD shortly before LD21 I felt very secure with the programming. Gimp, bfxr and Musagi also worked great.
  • Time management: Almost all the time I felt just a little bit ahead of my schedule which really is a great feeling (should once happen in my everyday job)

What went wrong:

  • Final improvements: I head some plans to further improve the game: better soundtrack, improved graphics, more player control over level generation. I even had the time, but as my wife and child came back home on Sunday my time for game development suddenly vanished (that’s not as bad as it sounds 😉 )
  • Windows executable: Meh, stupid py2exe. Just didn’t want to automtically bind the sound libraries. Actually that’s just a small issue, cause it wasn’t necessary to have this executable at Sunday night, but I was so eager to release it in time.
  • Randomized levels: I made a rather late decision to do randomized levels instead of pre-designed with raising difficulty. I am quite happy that I chose the randomized approach but my algorithm was to stupid to have real control over the difficulty (explanation here). I fixed it for now, which I want to illustrate with two screenshots.

Developer's "see all" mode: On the left the old generator on insane. Number of cages and cacti walls are quite random. On the right the improved version. Fixed number of cages and walls with random distribution.

Will there be a post-compo version? Definitely, there already is (not yet online) and I am planning to do further improvements based on the feedback so far. Ideas include:

  • Different play modes (e.g. visible cages with other constraints than now)
  • Kind of  dungeon crawler with inventory and classes
  • Integrate the dungeon crawler to a bigger scale exploration game (to prevent stupid descend dungeon levels)

Final words: If you haven’t already:

Go Play

Tags: post-mortem, pygame, python

Donations for Ludum Dare?

I think I read somewhere on the site that the gentlemen who run Ludum Dare now have monthly server costs in excess of $200.00.

Shouldn’t there be some kind of donation system so we can contribute to the site?

I know I would be willing to contribute some of my money to keep this fine site up and running.

Hopefully this donation system comes up soon before the site goes into its inevitable hibernation between contests.

What do you guys think? Would you donate? (a star means heck yeah I would donate to the cause!)

21

This entry was posted on Tuesday, August 30th, 2011 at 7:25 pm and is filed under LD #21. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Video Walkthrough for Scratchy Get Out!

http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=258

Some people think my game is unbeatable, but it is actually not that bad once you know what to do. It is definitely easier than about half of the arcade games in the 80s which is what I tried to model it after.

There is one bug that causes real problems, but the workaround is you just have to wait at least eight seconds before dropping a boulder. I don’t think there are any other bugs that are really an issue to beating it.

Here is the video walkthrough. This one shows the “eliminate the obstacles” strategy. This is not the quickest way to win, but it is one of the easiest ways to win for sure. I died three times trying to make this video btw.

Video Walkthrough for Scratchy Get Out!

Timelapse of the Chambered

I uploaded a Timelapse of the Chambered to YouTube!
I recorded this at one pic every four seconds, and it ended up being about 14 minutes at 60 fps, so this video is skipping quite a few frames.

So when’s the next LD? I miss it already.

This happens every time I’m trying to make something

I think everyone can relate to this? Honestly, I’m surprised I managed to “finish” a game with the amount of distractions I got. I’ve never finished anything… If Ludum Dare teaches something, then finishing is what it teaches best. It’s like you get an instant feedback of your performance in 2 days. By the time your brain wakes up with “Huh? What? Featu-u-u-res!” it’s already over. I think that this is a very useful experience for any starting indies and a good reminder for the veterans.

Tags: motivation

Towering Inferno post mortem

Post mortem for Towering Inferno, also cross-posted from my dev tumblr:

Things that went right:

  • The Pomodoro technique kept me focued for the first day. It breaks work down into 25 minute chunks, with 5 minutes of break inbetween. In my todo list I kept track of how many pomodoros I had spent on each task, so I could see when I was getting sidetracked. For instance I could have spent more time on the procedural level generation mechanics, but could see the pomodoros adding up, so decided to move on.
  • Git and github. I haven’t used Git in anger before and quite like the workflow, but by hosting for free on github I could quickly push updates to a friend who would playtest them for me. This was two or three keypresses in bash, but if I had to package and email off builds it would have taken much longer.
  • Playtesting. The game was essentially finished by 5pm, but I spent a lot of time balancing and playtesting the game, along with a friend mentioned above. He helped me fix many bugs and gave input on the difficulty and balance of the game. It’s inifinitely better because of his input. Thanks Steve!
  • Libtcod. This was the first roguelike engine I tried. I had others lined up, but this fitted the bill perfectly. It did not require much code to hook up, and handled all the annoying bits of game development: graphics, input, etc. Its BSP library was very useful for the procedural generation of levels, and even provided a good random number generator.

Things that went wrong:

  • Difficulty. The procedural generation is very basic, which makes some levels much harder or impossible compared to others. The only sop to this is that fire is not allowed to start in the exit room or the room connected to it. This removes some of the frustrations but it’s still there. I needed more time to come up with a scheme that generates fire in challenging but not frustrating places.
  • Choosing an engine. I was originally going to use Unity, and had spent a few days prior to the event learning the ins and outs. However on the morning I decided on a roguelike game, which by its 2D nature is not very well suited to Unity. It took me more than the first morning to investigate, choose and then learn a dedicated roguelike engine. Libtcod was very good as I mentioned above, but I could have got a lot more done if I had got up to speed before the weekend.
  • Presentation. Everything about the game is functional – the color of the fire, the ascii art representing the tools, etc. It is not that attractive to look at. In particular it’s not easy to create enticing screenshots, which may hurt the click-through rate on the ludum dare site.

Tags: post-mortem, postmortem

Comments

SusanTheCat
01. Sep 2011 · 15:33 UTC
I love the Pomodoro technique!
12. Sep 2011 · 00:32 UTC
Would you like this post-mortem to show up in indie(Magazine); Issue #15?

Time for the sidebar to return?

So far the games I’ve played have been AMAZING!  But there’s one thing I miss…

Now that things have returned to normal, it sure would be nice to have the sidebar back.

Perhaps it could be turned into static html that only gets updated once an hour?

More importantly, the new improved sidebar needs one extra feature:

Tags: cache, donations, sidebar

24

This entry was posted on Wednesday, August 31st, 2011 at 10:16 am and is filed under LD #21. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Ready for the next LD!

I bought two new screens, next LD will be twice as fun as the last one ! :D

Yay! 1920x1080 FTW!

And I know, I should buy a real keyboard before LD22 ! ;)

Tags: deskphoto, motivation

Escausage timelapse

Escausage Timelapse

Well this was a very successful LD for me, I think mainly because I just started making something without some grand and bloated plan. I’m slowly working on the post compo version, and your comments have been super helpful in planning that.

PS here is the entry page: Escausage

Tags: timelapse

Evasion – Repack

Just a quick word to announce that I’ve repacked my stealth game Evasion in a single jar file, so it should load without any problems on any computer with a recent version of Java!

And while trying to understand why my timelapse was not interesting at all, I found this little “disco” version of the game (I used this to debug the lighting algorithm, but the results are pretty nice):

Disco Evasion

And I have to say, rating is a long journey, but it’s worth the time. Thank again to everybody for making this ludum dare experience a blast.

LD21 Linux Port

With the help of d_m, I managed to get an ncurses-backed Linux port of my LD21 compo entry to run.

http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=89

 

Requires python 2.6+ with the builtin curses module.

Note that it’s sized for an enormous terminal window; it’ll abort with a semi-helpful message if yours isn’t big enough.

Comments

JohanAR
02. Sep 2011 · 10:08 UTC
Tried to start it, but it’s impossible to get more than 208*61 terminal size so it won’t start :( Using 1680*1050