Ludum Dare 31 has ended
Entire Game on One Screen

Results for LD31
Over 2600 Games submitted

Ludum Dare 32
Coming April 17th, 2015! Our 13th year!

About GreaseMonkey


Ludum Dare 28
Ludum Dare 26
Ludum Dare 24
Ludum Dare 24 Warmup
MiniLD 32
Ludum Dare 22
Ludum Dare 21
Ludum Dare 19
MiniLD #21
Ludum Dare 18

GreaseMonkey's Trophies

The "Knows his tech" Award
Awarded by sythra4
on November 22, 2012
Selected Hard mode
Awarded by Jwatt
on August 21, 2012
The Autotracker Award
Awarded by asiekierka
on December 15, 2010

GreaseMonkey's Archive

Might be in?

Posted by
Tuesday, December 2nd, 2014 1:56 am

If I’m doing this there’s a chance I’ll be teaming up with someone. And to be blunt I’m not sure what we’ll be using.

Here’s my bag of tricks anyway. It might be something completely different, but there’s a fair chance just about everything I use will be here…

  • Languages: C, Python, Lua, C++, JavaScript, Ruby, whatever MegaZeux uses, maybe even GML (Game Maker 4.2a)
  • Libraries: Allegro 4 & 5, SDL 1.2 & 2, OpenGL + GLEW, libsackit, ezjack
  • Music: SunVox, SchismTracker, various converters, custom playroutines
  • Sound: Audacity, SunVox
  • Graphics: pixra, GIMP, Blender, code-generated stuff, converters I pull out of my arse
  • Level editor: Probably just VIM
  • Networking: ENet

No, I’m probably not going to use assembly this time.

I’m considering making a 3D game with red-cyan anaglyph support. This still leaves things pretty open-ended.

It’ll most likely be C++, SDL, OpenGL+GLEW, and the rest is to be decided.

Change of plan.

Posted by
Thursday, August 21st, 2014 6:29 pm

Y’know how I said I was going to be doing the compo using C + Allegro?

Change of plan. I’ll be jamming with someone and using PyGame.

Will probably be laying out the foundations of the engine as well as making seriously smooth sounds and gorgeously grotesque craphics.

…once I’ve got pygame working, which is currently depending on numpy, which seems to be missing a few files.

.i mi gasnu lo nu banli betri

Posted by
Sunday, August 17th, 2014 5:37 pm

(en: “I am causing a great disaster”)

Well, I needed something more interesting than just “I’m in!”, so I thought I’d have a bit of fun with that. I think “.i mi zvati” would be the best translation.

About 4 years ago, LD #18 happened, and I participated in my first Ludum Dare. Somehow I ended up in 1st place for audio. I made the game using Java + Swing… on FreeBSD. No, that’s not the name of a Linux distro. It’s actually a different OS (which ends up sharing about 90% of the average Linux userland anyway).

This time around, I’m using FreeBSD again. But I’ll be using something I used before I ever touched Java. That’s right, Allegro 4. I used that for LD #21 (“Escape”), and it was quite frankly a breeze to work with. That time around I used dumb to play my music. This time I’ll use sackit.

So, here’s the lowdown.

  • IDE: VIM
  • Languages: C, possibly Lua (but probably not)
  • Compilers: Clang (native FreeBSD), MinGW (Windows port), GCC (Linux + Raspi ports)
  • Libraries: Allegro 4, sackit
  • Audio: Audacity, SunVox, SchismTracker

I’ll probably be using Allegro 4 for what it’s good for, rather than writing that hackjob partial Sega Master System emulator I did in LD #18 (Never. Again.), so we’re talking maybe 2D vector graphics and stuff like that.

So yeah, with all that crap said, I’m in!

World editor!

Posted by
Sunday, December 15th, 2013 3:35 pm

Currently there’s only 3 terrain types and they’re graphically boring right now.

You rock

But I can make them look more interesting.

OK, so the collision detection is kinda shit and there’s no enemies yet. I might as well focus on adding them.

World editor now working sort of

Posted by
Saturday, December 14th, 2013 11:47 pm

Let’s just leave a screenshot. (Also, all the screaming about bugs in the OpenGL implementation? They were all my fault. I think.)


I can breathe.

Posted by
Saturday, December 14th, 2013 6:15 pm

…ok, I still don’t have an actual game yet. But the character can breathe.


…I need to sort my priorities out.

Anyway, little tech demo – move the mouse around and the eyes will follow.

Working on some music.

Posted by
Saturday, December 14th, 2013 3:06 pm

Whipped up some samples in SunVox and started work on a simple loop. The samples pack quite well.

It’s just the “chorus” section, so to speak. The bass didn’t come out very bassy though so I’ll need to chuck in some subbass, but it’s an FM bass so it’s still inherently awesome. (~96KB)

And my battery is running low. Should be home soon.

JACK support!

Posted by
Saturday, December 14th, 2013 2:12 pm

I’ve added JACK support to my game, because SDL2 doesn’t have a JACK driver and Fuck You PulseAudio.

It acts as a wrapper around the SDL audio callback I wrote, and calls it whenever it needs a new buffer.

Took under an hour.

I’m in a van.

Text boxes! (6h in)

Posted by
Saturday, December 14th, 2013 1:04 am

They’re even a self-contained “class”. And they’re rounded, too!

Certainly not!

I think I’ll take a break from this now.

5 hours in and I have part of a face

Posted by
Saturday, December 14th, 2013 12:02 am

So this is where I go all artsy and focus on making my game look good.

As some of you already know, this is highly unlike me.


Note, my internet at the moment isn’t amazing, so don’t expect me to linger too much.

Base code “complete” (Boilerplate 28)

Posted by
Friday, December 13th, 2013 1:36 am

Because it hasn’t changed graphically, I’m just going to reuse this screenshot…

recycling is good

So what has changed?

  • It has sound!
  • It has music! (.it music, to be precise)
  • I probably fixed a few bugs along the way.

So the links:

Expect the graphical style of my game to be similar to that screenshot.

So yeah, once more from the top…

  • Language: Primarily Lua, but I might have to screw with my base engine, which is coded in C.
  • Text Editor: VIM. What, you seriously think that anything else is even remotely worth using? (Important note: Sublime Text is in the “anything else” category.)
  • Base Libraries: SDL2, linmath.h (bundled), base engine (“Boilerplate 28″).
  • Craphics: OpenGL + a modified version of the PNG loader I made for seabase (which unlike Firefox’s PNG loader completely ignores the sRGB tag, so your blues won’t become purples). If I need more PNGs made, I’ll use GIMP. The graphics will be manually bashed in with Lua.
  • Sounds: A custom mixer. I’ll probably do vocal samples in Audacity.
  • Music: libsackit (bundled). Music will be written with SchismTracker. Might make some samples in SunVox. Will probably end up using ST-xx samples and/or mzxpack.

Anyhow, consider me ready for this.

Declaration of what’s actually in my base code

Posted by
Thursday, December 12th, 2013 1:45 pm

So far on the Lua side I have support for:

  • glClearColor; glClear
  • Matrices + manipulation + loading them into OpenGL (projection, modelview – no texture matrix and not sure if I’ll add it)
  • Definition + flat-colour rendering of vertex arrays (of any GL_ type)
  • Loading + power-of-two-extending + rendering of 32bpp RGBA PNGs (any rectangular region – if you want it rotated, use a matrix)

There is no depth buffer support right now. There’s also no stencil buffer support yet, but I’m hoping to add support for that… there will probably be no depth buffer support, though. VBOs might happen, but don’t hold your breath.

The engine requires OpenGL 1.1, which means that it will probably run on your pile-of-crap GMA 3150. Amusingly enough, it also runs at a reasonable framerate with Mesa swrast (LIBGL_ALWAYS_SOFTWARE=”yes”).

This used to spam stars and say “You’re a STAR!” but evilbetty wanted lollipops so here you go…

that doesn't even make sense D:


  • Git repo for source code:
  • Windoze testing binary just because the screenshot cannot capture the awesomeness:

Hold the left mouse button if you want them to be attracted to rather than repelled away from the mouse.

[cache: storing page]