Snake Driller – Post Mortem – Ludum Dare 29

I missed two Ludum Dare since the last time but it was back again last week-end and thankfully I was able to took time to participate for the third time to the 29th Ludum Dare Compo challenge.

For those who doesn’t know, the Ludum Dare is a game Jam where you are challenged to create a game based on a theme disclosed at the last minute in 48h and alone (the Compo) or in 72h with a team (the Jam). It’s technically a competition but having a playable game at the deadline is already the biggest win.

This time the theme was Beneath the Surface. I understood it quite literally with a mining game while others were more imaginative. Especially take a look at Inspector Badass, made by some of the same folk I made Karkass with at the last Global Game Jam.

My entry is named Snake Driller, it’s a Sake-kindoflikebutnotsomuch mining game. You have to drill the deepest before the time’s up, sometimes going sideway to mine interesting blocks or dodge those you can’t drill. You can also buy upgrades for your drill in a store to drill more types of blocks or drill faster.

You can download (and rate) it on the Ludum Dare entry page.

What went right


Even if my idea isn’t original or creative at all, I got it pretty quickly, I liked it and in one hour after I started working on the game, I had a solid design document.  It turns out it was simple enough for me to implement almost everything I had planned but also interesting enough to play.


The game is made with :

  • CraftStudio, which makes things very easy especially since I have quite some experience with it.
  • Daneel, my framework for CS which makes things even easier and faster.
  • A simple leaderboard library I just implemented the week before.

So I didn’t had to invent anything or code complex stuff. The majority of the time spent on the game was actually implementing the game, either menu or gameplay.

The first day, I implemented the map generation and basic drilling gameplay. The second day I did all the menus, and the store.

What strikes me, thought was the crappyness of the code. It was sometimes odd to just copy and paste code rather than find a clever way to having it written in one place. Also I never refactored anything so the structure of the code and data may not be quite efficient (or even just right). I think that’s kind of expected for a jam game, but I hadn’t had this feeling before and that’s something that really surprised me.


The game is more than just one level with gameplay (those are fine, too !). It has intro screens, a main menu, other screens/menus for “tutorial” and leaderboard as well as an in-game menu and end screen.

It may be “wrong” for a jam game since all the time I spend on all that (most of the second day !) could have been used for much needed gameplay tweaks. But having a complete game is as much important and rewarding to me as having “only” slick gameplay, even for a game jam.

What went wrong


No one spent 48 hours on their games. I certainly didn’t since I only logged 16 hours of work (6h30 on saturday, 8h on sunday, 1h10 on monday night).

That’s very few hours, and almost 10 hours less than I worked the last time !

It really shows how much I am not good (and I don’t like) at “crunching” long hours in a row. The game would definitely  have benefited of a few hours of polishing and gameplay tweaking.

On the other hand, creating a game of that completion in only 16 hours is quite a success. It really shows how much I improved at gamedev and how much the tools I used makes things easy and fast !


Due to the lack of time, the game is not balanced. It’s too easy since once you have the refinery (to gain time by mining oil) and the iron drill (to drill stone blocks), all you have to do is dodge the few obsidian blocks to spent money on more time or more speed (which only makes you encounter more oil (time) or gold).

Every time you buy an engine upgrade (to drill faster), the odds of the obsidian should increase while the odds of the gold and oil should decrease, in order to ensure that the player either run out of time, either can’t evade obsidian any more. It’s really too bad that’s I didn’t had the time to implement this since it’s really easy to do.


The first feedbacks shows that the drill may be difficult to control because you have to understand that you don’t directly control where the drill will go but which block will be drilled after the one currently being drilled. And this one isn’t where is the drill but next to it. This is shown in-game with the reddish and greenish squares next to the drill’s extremity but it’s not very clear, especially for people who quickly (or don’t) read the game’s description. I planed to have a drilling animation and a clear arrow to point where the drill will be but again, I didn’t spent enough time on gameplay to do this.

Also I forgot to write the controls on the in-game “How to play” screen, which didn’t helped people top find the store. You just have to press the Escape key to bring up the in-game menu with the store but it appears it’s not natural to everyone.


Overall, the game felt to me like a definite success ! I think it’s definitely better than the last one and I am confident the next one will be even better ! Improving at gamedev is what game jam are for after all.

If you are interested about the sources you can check them out over at GitHub.

Comments are closed.