About mtrc


Ludum Dare 30
Ludum Dare 29
Ludum Dare 28
Ludum Dare 27
Ludum Dare 26
Ludum Dare 25

mtrc's Trophies

you have been in Helevenium #LD29
Awarded by alvivar
on May 19, 2014

mtrc's Archive

Ludum Legacy – All 2347 Games, Tweeted One Per Hour

Posted by
Wednesday, May 1st, 2013 8:22 am

Just a quick post to let Ludum Dare raters and reviewers know about Ludum Legacy, a twitter bot set up to post one LD48 game every hour. There are so many games, this takes us into August – the time of the next Ludum Dare!

Follow Ludum Legacy here!

Well done for a great LD as usual. See you in August

Spritely – Autogenerating Sprites From The Web (Free Tool!)

Posted by
Tuesday, April 16th, 2013 10:23 am

Just in time for Ludum Dare #26, I’m releasing a beta of Spritely, a tool I made for autogenerating placeholder art. We have lots of tools for automatically making music (like Autotracker) or sound effects (like cfxr) – these tools are great for adding in temporary content when you’re rapidly developing a game, or for generating content that you can’t make yourself just yet (I have no musical sense, so Autotracker often comes in handy for this). Why don’t we have one for art?


Spritely is my attempt to make one! It uses image sources like Google Images, OpenClipArt and Wikimedia Commons to generate sprite-sized art automatically. It comes in three flavours – an easy-to-use GUI (which is really ugly), a command-line interface (in case you want to automate things) and a Java library (for building right into your game). Best of all, the code is public domain so you can hack it and extend it to your heart’s content.

Download links for the UI, command line, and the source code in the README on GitHub

What can you use Spritely for? Well, it’s handy for generating art to fill gaps when you’re prototyping – you don’t have to stare at coloured rectangles any more. I’m hoping lots of you will find that useful when you’re coding like crazy in a couple of weeks. But why not think more experimental?

Screen Shot 2013-04-13 at 16.56.09


For the #7DRL competition this year I tried to make a roguelike generate itself. One of the things I added was enemies, player icons, items and skills that had their graphics generated on-the-fly by Spritely. The player said they wanted to be a dog… or a walrus… or a trumpet… and Spritely made a picture to match. If you reduce Spritely to just searching for one or two images at a time it can do it quite quickly (not quick enough for realtime, but I’m sure you’ll find a creative way around it – in my roguelike I just searched in the background and added the icons in when they were ready).

If you use Spritely for anything, from placeholders to a new genre of games, let me know! You don’t have to, of course, but it will put a smile on my face and also let me justify spending time on making it. I want to create more tools like this that spin off from my day job (where I research techniques for automatic game design). If I get lots of feedback I can show this off to people next time the funding nightmare comes back.

Good luck in Ludum Dare 26! If you have any questions please leave them below. I’ll do my best to update Spritely when I can, but no promises – feel free to make your own extensions and fixes, the code is free!


Posted by
Saturday, December 15th, 2012 7:54 pm

No idea if I’ll finish this, but here’s what a few hours work has got me. First, before:

Screen shot 2012-12-16 at 02.33.08

And the aftermath:

Screen shot 2012-12-16 at 02.33.21

If I have the time tomorrow hopefully you’ll be able to see what happened in between.

A Mini-LD

Posted by
Friday, December 14th, 2012 5:54 pm

I’m determined to take part this year, but having just released a game today (a small Android+Desktop platformer called A Puzzling Present!) I am absolutely knackered. So I’ve decided to spend Sunday evening working on a mini-LD game from start to finish. That way I get to spend Saturday with my wife, and finally get to finish a Ludum Dare (even if it’s only on a technicality).

I wish everyone who’s doing it properly the very best of luck! I’ll probably release my LD game into the public domain afterwards, in case anyone wants to use it in the future.

Code – Java + LibGDX + flixel-android

Art – I’ll be doing some pixel art in Photoshop, and testing out a sprite-generating script I hacked together this week!

Music/SFX – No skills here, so autotracker-bu and sfxr it is!

See you on the other side!

A Tiny Moment Of Realisation

Posted by
Saturday, April 21st, 2012 2:05 pm

Learning lots of lessons. Stuff that is obvious when you’re spectating – as it was to me last time I watching an LD happen – but once you get in there temptation overrides logic and you start doing stupid stuff. I just spent an hour trying to get Slick2D’s AbstractComponent stuff working. I told myself this would speed up the UI stuff, but in reality all it was doing was gobbling up precious minutes. So I ditched it in favour of keyboard input, which worked first time.

It’s so stupidly obvious to the observer – you don’t have time to learn anything right now. But when you’re say there coding, you think “I really want this to go fast, so let’s use this nice, neat method…”

Onwards and upwards. We won’t finish the mechanics today but we’re not far off for tomorrow. Party members now have abilities that can be applied to dice rolls. These affect the outcome of combat. Losing combat causes you to lose a die, which makes future combats harder.

A Tiny Bit Tired

Posted by
Saturday, April 21st, 2012 9:37 am

Had a mechanical overhaul courtesy of Mike Prescott (also reminded me that we are hitting the Jam probably, with the Compo’s deadline – I want the pressure, but I can’t compose music and Mike is helping with a lot of the mechanical design). The game is now a lot uglier, and I’m beginning to hate it a bit, which might indicate it’s time for a break.

The combat is now dice-based, which allows us to work in party-based mechanics whereby the player can reroll, adjust or swap dice according to the abilities their party members give. To make this feel strategic rather than random, encounters are fixed on the world map and visible to the player throughout. Most encounters don’t offer much reward, and are roughly even-matched. However, story-based events and the black-tile dungeons offer bigger rewards, with harder encounters inside them.

It seems achievable, implementation-wise, but it looks like a dog’s breakfast right now. I’m hoping that if the mechanics are in place today, the polish can come tomorrow. In practice though, I think we all know how this is going to end!

A Tiny Bit Of Growth

Posted by
Saturday, April 21st, 2012 7:27 am

The static world and story are in place, enough for the game length to be tweaked, and for the procedural generation system to show its necessity. Of course, we don’t have one yet, which is a great opportunity to demonstrate why we need one:

Normally, the player starts the game without a boat or airship, so they can’t travel over mountains (brown) or sea (blue). The first objective in our static game is for the player to gain access to a boat, but the algorithm that finds suitable objective locations is blind to the current map design. It’s chosen the location of the boat objective to be over the sea – not great!

There are plenty of ways around this, but what I’m hoping to end up with is a system that generates maps and objective sequences in tandem, so that it can react to a map design that doesn’t have any towns in by scheduling objectives that don’t require them. I’ll post more about this tomorrow if I’m still on good terms with my codebase!

A Tiny Idea

Posted by
Saturday, April 21st, 2012 6:13 am

The focus for Tiny Epic was always going to be ‘compact RPG’, but how compact can we get? I’ve been listening to Kevin Macleod’s superb music over at Incompetech, and I’m wondering if we could design Tiny Epic such that it plays out in the time it takes to listen to one of Kevin’s songs. Five Armies is two minutes and thirty-three seconds long, which is surely too short for a meaningful game to be played out! But I wonder how close I can get to it?

This code didn't actually compile due to a missed typo!

Adding in objectives now. A Tiny Epic is a series of objectives sequenced together. In the full game, the idea would be to bolt on some procedural generation to this. I’m not sure how possible that will be, but first let’s get a static one down. I’m in a Final Fantasy IX mood thanks to some excellent SomethingAwful Let’s Play threads, so our first objective will be to find a ship!

I’ve contacted the incisive Mike Prescott for input on the combat system (which sucks hard right now) and I’m doing back-of-a-daydream calculations for how much of this stuff I can procedurally generate. My day job involves writing content generation systems (more here) but they’re not general enough to hook right in! I’ll have to do my best tomorrow, assuming we can get a core done today.

Tiny Steps

Posted by
Saturday, April 21st, 2012 5:30 am

You can see a bunch of things in the screenshots that I cropped out of previous ones. It’s mostly crappy UI, everyone’s favourite coding job. UI boilerplate should be a prerequisite for future LD entries I think! The important thing here is the core conceit of the game – in order to speed the narrative along, you get to make large jumps in story periodically whenever the world’s difficulty level raises itself (this might be for narrative reasons, random increase over time, and so on).

The world encounters get naturally more difficult as time goes on, and my hope is that this provides momentum for the player to progress. At the same time, these ‘fate points’ give the player a chance to gain a temporary (or slow-burning) boost to their situation, speeding them along towards the game’s conclusion.

Tiny Problems

Posted by
Saturday, April 21st, 2012 3:23 am

The original idea involved a lot of procedural generation (in fact, it was the staple of the game’s design) but I don’t have time to implement these systems so I’ll be slashing and burning a lot as I go. The idea is to produce a static game as fast as possible, and then spend any extra minutes left grafting in generative methods for bits of the game that would benefit most from it.

The idea is to be able to play out an entire RPG narrative in a few minutes, with a sweeping plot, lots of numbers going up, betrayal, death and love. We have the latest in cutting-edge graphics:

And maybe six hours of coding time left. It has a game over state, technically, but no gameplay. So time to push onwards. Doing my best not to waste time, but the Valve Handbook release distracted me for a good half an hour…

LD23 – It’s A Tiny World After All

Posted by
Saturday, April 21st, 2012 2:28 am


I don’t have much time for this year’s LD, but I was determined not to let another pass me by. So it’s Tiny World, and I’m prototyping a game based on an idea I’ve been batting around with a friend for a few months now, as it fitted perfectly with the theme. It won’t get finished. Here’s to an optimistic 48 hours!

[cache: storing page]