About GreaseMonkey


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

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: https://github.com/iamgreaser/boilerplate28
  • Windoze testing binary just because the screenshot cannot capture the awesomeness: https://dl.dropboxusercontent.com/u/32094129/boilerplate28/boilerplate28-1386840891.zip

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

Time I announced my presence.

Posted by
Wednesday, December 11th, 2013 10:15 pm

I’ve been prepping some base code, which is available here: https://github.com/iamgreaser/boilerplate28

Boi-ler-plate twen-ty-eight. See what I did there? Yes. I rhymed.


  • Language: C for the framework (which will likely be extended during the compo); Lua for the actual game code. I’ve been doing this combo quite a lot these days (read: this will be the third time).
  • Libraries: SDL2, OpenGL, GLEW, linmath.h (bundled), libsackit (bundled), Lua 5.1, libm, might rip the PNG loader from seabase (EDIT: PNG loader has been ripped – thus ZLib is another dependency.)
  • Audio: SchismTracker for the music. May use SunVox for generating some samples. Vocal samples will be done in Audacity.
  • Graphics: I’ll use the 6×8 font I’m using in iceball and seabase. If I need more bitmaps, I’ll just use GIMP. The bulk of the graphics will be done as solid “blobs” of colour generated by Lua code, which will be chucked into vertex arrays on the C side.

Let’s make this a good one. The theme better have more than one word in it, or else I will flip a table.

The Fourth Dimension

Posted by
Monday, December 9th, 2013 3:53 pm

Say, who remembers 7DFPS?

Been there, done that. Sorry Sos for totally stealing your bandwidth.

We can totally do this a second time.

I’m not sure what I’m going to do, or if I’m even in, but I should be able to upload my entry if I end up doing it.

Considering a C + SDL + OpenGL + sackit + Lua combo.

More details once I’ve lulled it over.


Posted by
Thursday, August 22nd, 2013 1:05 am

I’ll be at a LAN party for about half the time so I’ll not be using my usual setup… whatever the hell that is. (It would have been C + SDL + libsackit + maybe OpenGL if I were.)

  • Platform: MegaZeux
  • Sound: Audacity
  • Music: SchismTracker

Aiming to do typical DoZ crap for this LD really.


Web playable version of Rebellion released!

Posted by
Tuesday, May 21st, 2013 5:54 pm

Thanks to Emscripten, you can now play my game in your browser with a bloated 10MB download over HTTP, awful framerate, and NEARLY ONE SECOND of sound lag… on Firefox, and absolutely NO sound on Chrome!

Hell, I don’t even KNOW if it works on Chrome, but here we go:


Let me know how badly it works!

Everyone hates bullet hell. And I don’t care.

Posted by
Tuesday, May 21st, 2013 2:14 am

Because I like it. And I’m willing to make it.

Either that or it’s got something to do with the fact that I only rated about 7 games.

But lulzfish_4 rated many more games than I did yet performed bloody awfully. Maybe people are vicious when they see someone’s made a few mistakes. Or maybe they just can’t cope with 8 enemies firing targetted shots at them. I don’t know. (It’s pretty easy to dodge once you know your hit region.)

And he got 1.33 for audio? His game doesn’t even HAVE audio! DO YOU NOT KNOW HOW TO PRESS THE N/A BUTTON (obviously I had better people voting for mine because they knew how to press the N/A button for humour even though there was a bit in the game itself)

His game wasn’t even terrible. It was just a bit incomplete, and a bit rough around the edges. I’ve seen worse games that deserve worse scores, most notably a particular game which involved going around a huge-ass cavern picking up 50 identical things. It was not fun at all. I am neither naming this game nor this author, as everyone does duds every now and then and he doesn’t need to be remembered for such a dud.

Hell, his worst placing was in the theme department. I feel this is complete horseshit. If anything, this needed MORE things.

Come to think of it, if his game were some Unity hackjob, he’d get a much higher score because shitny*. I really don’t like that.

(* typo’d that, corrected that, decided to leave it in. It’s a new word, guys!)

If it’s any compensation, I at least did well in the audio department, and somehow did alright in the fun department.

MiniLD #42 is coming up. Provided my coursework doesn’t suddenly start kicking me in the crotch, I might take this time to learn how to use LÖVE, and then make a bullet hell shooter with it.

Alternatively, if emscripten decides to work, I might be able to make an asm.js port of my LD26 entry, and then I can gut the engine out and use that as base code. Hell, I might even stick in a few #define macros just to save my sanity (getting the texcoords right was somewhat tedious, lots of copy paste, thank you vim for being awesome).

And then I will make a bullet hell shooter.

Because I like bullet hell shooters.

And, to be quite honest, there are other people who do.—Maybe I’ll have enough time to stick in a few difficulty levels. I for one am not particularly good at my own game, but I can get a no-death run every now and then.At least I still find my game challenging.

Done! (since about an hour ago)

Posted by
Sunday, April 28th, 2013 5:04 pm

So here’s the bullet hell shooter I was working on, and it’s DONE.

Look on the page for “Rebellion: Resistance of Complacency”, or click my name and you might see it there.

Sorry about the lack of X.

Yes, this game IS beatable with the 3 lives you have.

Let’s milk that screenshot a 4th time, even though there’s actually a score counter and a lives counter now and has been since the previous alpha:

Download: https://dl.dropboxusercontent.com/u/32094129/ld26/ld26gm-rebellion-20130428221657.zip

Z to shoot, shift to focus, arrows to move.


Alpha #2: All the way up to the nonexistant midboss!

Posted by
Sunday, April 28th, 2013 1:46 am

This didn’t take long.

Also, you have LIVES now! (and score, because grazing is implemented now)


Forgot which game this was? Let’s milk this screenshot AGAIN:

Controls are, of course, arrows to move and shift to “focus”.

If you die for good, and you’re using Windows, check stdout.txt for your score.

Let me know if you survive!

hey look it’s an alpha build

Posted by
Saturday, April 27th, 2013 10:55 pm

I’m just going to type some crap while I wait for it to upload to Dropbox. The .zip is 3.3MB. This might be due to the fact that all my textures are uncompressed BGRA .tga files.

Anyhow, I think I’ve managed to push this level up to the 38  second mark. I’m going to play a round and see how well I go.

…great, I died on one of the radial shots, AND THE DAMN  THINGS AREN’T EVEN THAT FAST. Maybe I should raise them higher for the next build.

Still uploading. At least we’re bringing back the good ol’ days where the graphics used up more space than the music. What the hell, seriously, why is it that by removing the music from most things you shave off 90% of the game.

Oh good, I did leave Dropbox running, so it is uploading.

Ah, done!


Contains builds for 32-bit Windows and 64-bit Linux, the latter is not intentional, the former is because Windows sucks and doesn’t come with a decent toolchain.

Here’s the screenshot from the last post to jog your memory. Yes, you can DIE in this now (and thankfully it doesn’t abort() anymore).

Have fun!

Bullets and mobs oh yes

Posted by
Saturday, April 27th, 2013 7:56 pm

No collision detection yet, but mobs work and can shoot bullets.

Oh yeah, the player can move and also has a visible hitbox now (not pictured because it’s difficult getting good screenshots… maybe I’ll pull out recordmydesktop at some stage).

So this is typical “Start Of Stage 1 Lunatic” stuff. I think. I might just stick with “if((other->type == T_BULLET || other->type == T_ENEMY) && (other->flags & F_ENEMY)) abort();” until I get a life system working.

More music is always a priority

Posted by
Saturday, April 27th, 2013 5:55 pm

Here’s what I have of the boss theme so far, it might need more work in a few places (read: the loop is a bit nasty):


And just in case you missed it, there’s also the level theme.


At least some of it looks graphically nice.

Posted by
Saturday, April 27th, 2013 3:03 am

So, now we have a player and a couple of shots. Not pictured: I have libsackit working now and it’s playing the music I made. Also, the title text transitions nicely now.

No, there is no actual collision detection yet, and you can’t even move the player. But the bullets move! Honest!

Next thing (which will have to wait until tomorrow) is to get the player moving around – then we can work on enemy mobs, and eventually making the player shoot stuff. Oh, and making the player die.

Any ideas for what I should call this player? I’m not taking the theme very seriously at all – I’m hoping for a fairly “normal” guy’s name.

[cache: storing page]