Ludum Dare 28
Ludum Dare 26
Ludum Dare 24
Ludum Dare 24 Warmup
Ludum Dare 22
Ludum Dare 21
Ludum Dare 19
Ludum Dare 18
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.
(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!
Currently there’s only 3 terrain types and they’re graphically boring right now.
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.
Let’s just leave a screenshot. (Also, all the screaming about bugs in the OpenGL implementation? They were all my fault. I think.)
…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.
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.
And my battery is running low. Should be home soon.
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.
They’re even a self-contained “class”. And they’re rounded, too!
I think I’ll take a break from this now.
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.
Because it hasn’t changed graphically, I’m just going to reuse this screenshot…
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:
- Git repo: https://github.com/iamgreaser/boilerplate28
- Windoze build: https://dl.dropboxusercontent.com/u/32094129/boilerplate28/boilerplate28-finalbase-win32.zip
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.
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…
- 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.
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.