About tenpn


Ludum Dare 36
Ludum Dare 29
Ludum Dare 23
Ludum Dare 21

tenpn's Trophies

tenpn's Archive

Scratching arond

Posted by
Saturday, December 6th, 2014 10:41 am

I had known about Scratch (http://scratch.mit.edu) for a few years, but always thought it was a silly little thing for kids. Then I started volunteering at an after-school code club, teaching 9 and 10 year olds how to program through scratch. After I started exploring it in more detail, I found it was actually a powerful little package. Sure, it won’t scale that well, but it can handle some complex concepts such as prefabs, and it is incredibly fast to work in. I knocked up this game in about 90 minutes, maybe a little less, including drawing all the assets in scratch’s built-in paint package:


(I even love that the viewer has a button to see source and a button to fork the project into your own account, to hack around with!)

I don’t think you could make a full-on LD entry in Scratch, but as a prototyping tool I think it’s really cool. Look past the kiddy-friendly interface, and see Scratch for its strengths.

Towering Inferno post mortem

Posted by
Wednesday, August 31st, 2011 4:28 am

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.

The Towering Inferno

Posted by
Sunday, August 21st, 2011 4:31 am

(You can see my dev log from the start at http://tenpn.tumblr.com/)

This is my first Ludum Dare, and I didn’t want to stretch myself, so I have gone with a roguelike genre. This means I don’t have to worry about framerate, or even graphics. I used libtcod, which bar the lack of documentation so far seems like a good middleware.

In my game you are escaping from a blazing office building. Each floor is procedurally generated, and the objective is to get to the exit before you’re overwhelmed by the flames. You have various tools to help you, including water bombs and the ability to shut fire doors. In the screenshot you can see I have just manually activated the sprinkler system.

It’s really difficult to extinguish the flames completely, so your best choice is control. Can you stand the heat?

[cache: storing page]