About mjau (twitter: @kamjau)
mjau's Trophies
![]() Keynote Master! Awarded by Flyboy on December 18, 2010 | ![]() Fellow Kitty Award Awarded by fydo on December 19, 2007 | ![]() Porting Excellence Award of Sound Awarded by allefant on December 16, 2007 |
mjau's Archive
A late start
Saturday, April 18th, 2009 7:37 amMore than 12 hours in now, so I guess it’s about time to start doing things.
Actually, I’ve done one thing .. I couldn’t sleep, so I was awake when the theme was announced at 5am. And, as I checked the results of the vote, birdsong drifted in from the open window. All quiet otherwise, not even any wind. Just birdsong. A wall of it, if you will.
Birdsong… of doom!
..nah, but it was nice. Anyway, I happen to have a portable stereo recorder, so I did the logical thing and recorded some. Haven’t listened to it yet, but hopefully that went ok. So, my game will most likely feature birdsong.
Anyway, time to write some basecode.
TROMMEL
Sunday, January 11th, 2009 12:58 pmDOWNLOAD TROMMEL! TROMMEL.zip (source + exes)
(updated since compo: only use score if score.txt is already present, remove unused GLSL var, small bugfix, ati ghost image fix, added icon, double pixel bug fix (aesthetic), and ati fix for that fix. yay opengl)
Score file is score.txt in the same dir as the exe. If score.txt is not present the game only counts moves.
Throwing in the towel
Sunday, December 7th, 2008 6:52 pmInteractivity!
Sunday, December 7th, 2008 4:55 pmI know I said I would drop out, but.. Well, anyway, I can drive the car around now.
Well, left and right at least, since they use the same gfx (flipped). Need to make gfx for up and down, and uh, all the other elements that should be in the game. It’s completely unrealistic to even think this’ll be done in time, but hey.
A man and his Car
Sunday, December 7th, 2008 12:58 pmMade some gfx and a lua-driven sprite/tile engine:
I seriously doubt I’m going to finish though, specially since I’m off to watch a movie with some friends now. There’s only a few hours left, and there’s no gameplay code at all. Spent way too much time fiddling with technical details. Gotta stop doing that.
Oh well. The other entries are looking great, looking forward to check out those =)
Amazing progress!
Sunday, December 7th, 2008 5:44 amI’ve now got a rotating square! Wow!
Spent ages getting the OpenGL stuff right, but it seems to work now. So that’s good. The not so good is that I still haven’t started working on the actual game, but hey.
Also, had some breakfast as I realized that I yet again had neglected to eat. (I don’t usually eat four, but I was hungry.)
Also spottable: Envelope with some rough sketches for potential game design, and mysterious beige computer that might be used to make sound and music (if I can get my head around Sid Duzz’it).
More food
Saturday, December 6th, 2008 1:34 pmAte some dinner about an hour ago or so. Fish w/sauce inside, potatoes and some salad.
Game’s progressing slow. I’ve been fiddling with mjaulib, adding OpenGL and such. Not really done with that yet either, so I don’t think I’ll be able to start work on the actual game code until tomorrow. That doesn’t leave much time for gfx and tweaking and such, so I might have to scale down the idea(s) a bit.. Oh well, at least I’ve more time to decide what to do
A late breakfast
Saturday, December 6th, 2008 5:32 amSuddenly realized I hadn’t eaten anything today, so I made some food.

Still haven’t decided on an idea yet, or even started doing something, but I think it’s either going to be a pseudo-3d racing game ala lotus/outrun (though I’ve noticed other people already doing that), or a top-down driving around in maze-like streets where you possibly pick up stuff and avoid other cars or something. Either way I think I’m going to start off by extending mjaulib to support OpenGL and textures, for easy stretching and rotating and such.
mjaulib
Friday, December 5th, 2008 2:59 pmBit late maybe, but anyway.. Here’s something I’ll probably use as baselib this time.
Pretty basic stuff, nothing too fancy. Some functions for setting up SDL, Lua, PhysicsFS, and running things at a fixed logic rate with a free video framerate (for interpolation). You call mjau_init first, then mjau_resize, then mjau_loop and handle the rest in the callbacks. Also got a png loader so you don’t have to pull in SDL_image just for that.
Wall of text!
Saturday, September 6th, 2008 3:24 amMy first thought when I saw what the theme would be for this MiniLD was, this is the perfect chance to finally start making that pixel/paint program I’ve been meaning to do for literally half a decade! So far I’ve gotten by with Gimp, but I really don’t like its interface, and it’s pretty obvious it wasn’t made with pixel art in mind at all, among other things. Its tablet handling is also buggy, though to be fair that’s actually a GTK issue. (On the other hand, GTK was made for Gimp, so, uh.)
Anyway, a gfx editor needs an interface. This is part of the reason it’s been delayed for so long, there just hasn’t been any cross-platform interface lib that I’ve been satisfied with, and apart from GTK’s buggy support I haven’t found any cross-platform tablet libs either. Tablet support isn’t exactly essential for a pixel editor, but if I put that in it wouldn’t be just for pixels. And it doesn’t have to be cross-platform, the Linux tablet evdev interface is pretty easy to use (or was, until Xorg started blocking it), but it’d be nice. Still, I’ve made some half-hearted false starts on a tablet-less version using a custom interface in SDL, but SDL is also limited to one window, which is really not that big of a deal either, but still, multi-window support would be nice.
While these things shouldn’t have prevented me from getting it done, they have been.. irksome. Which bothers me. That’s the problem with being a perfectionist, if you want something to be perfect the first time around you’ll never actually get anything done. But! I’ve been getting slightly better at avoiding that problem, not least of which thanks to Ludum Dare and some other game compos. If you’ve seen some of my entries you know what I mean =)
Also, SDL 1.3 has been getting to a usable state lately. It’s still in development, but it supports multiple windows and pressure-sensitive tablets, and it’s cross-platform. This kinda leaves my excuses baseless.
In short, it’s time to make this thing.
It still needs that interface, though! I actually started working on a simple library for that earlier this week with the intention of getting it done and ready to be used before the compo started, so that I could use it for my tool and maybe others could, too. While that didn’t happen, I did get some things done, and I like how it’s turning out. It’s based on SDL 1.3, using Lua for the interface. You can do stuff like this:
Frame {
w = 100,
h = 100,
Button {
label = "Click",
onclick = function () print "whee" end
},
}
But it also supports a kind of hybrid immediate mode!
if Button{ x=10, y=5, label="Click" }.clicked then
print "hurray"
end
I say hybrid because I’m not sure it could be called a true IMGUI, since some things like drawing are really delayed actions (though it happens behind the scenes, so you usually don’t have to care about this). This way immediate and retained mode can be freely mixed, so you could eg. have immediate-mode stuff inside a retained-mode frame’s onhover handler, and it’d all combine seamlessly.
I call it “SIF 2″ for now, but that might change. (If you’re wondering about SIF 1, that’s an ancient project that never really got anywhere. I guess I could just call it SIF. Or probably something completely different.)
Anyway, it’s not quite ready for use yet, so now I’ve got to decide what I want to do for this MiniLD! Do I keep working on the interface lib, even though that means I cheated by starting way before the deadline? Or, do I make some other tool without using the interface lib, so I can keep it within the 48 hours? I do have an idea for another very simple tool that could possibly be slightly useful. Decisions..
owls and ends
Sunday, August 10th, 2008 3:22 pmThe little guy can run around and jump on stuff now, and I think I’ve got the jumping physics down. It’s actually a little bit fun just jumping around the screen. So that’s good. The engine is all Lua, with only a little bit C to glue into SDL and that, which is also nice.
The bad news is I’m about to throw in the towel. There’s less than 4 hours left, and the game doesn’t even have all the elements or logic for them, let alone any levels. What gfx there is are stubs, and there’s no sound. I’m also feeling like crap at the moment, all dizzy and my head seems to be throbbing for some reason. If it wasn’t for that last part I’d still give it a try, but I’m honestly having trouble just typing this right now.
Looking forward to play the other games, though. There’s some great stuff here.
The excitement never ends!
Sunday, August 10th, 2008 11:21 amHey, kids! Here’s some stuff I’ve eaten lately. Yesterday, I ate this (this was some time before going to sneak about in towers):
This was my breakfast today:
And I just ate this (while watching some Star Trek with a friend):
In other news, the game is very slowly coming along. I somewhat doubt it’ll be done in time, but hey.
Intense action!
Sunday, August 10th, 2008 5:36 amin which nothing happens
Saturday, August 9th, 2008 11:51 pmThree journal posts so far, and still I haven’t started working on anything at all! Boy this is exciting. (I was just too tired after yesterday, so I went to bed in stead.)
19 hours left? I’ll have to scrap my original idea, but I’ll try to come up with something, at least. Maybe.
Towers and Tall Ships
Saturday, August 9th, 2008 11:29 amI just spent a day not working on Ludum Dare entries again (aside from the brief foray into löve fiascos)! This time me and a friend had a real life adventure involving tunnels, towers, tall ships, thousands of people, pirates on stilts, some ice cream mocca thing, and music, including caribbean, jazz, music boxes, sea shanties, and musical air strike sirens.
Unfortunately my camera’s battery went out just as I was approaching the tower, so there’s not much to show. My friend’s camera worked fine, but that memory card is apparently incompatible with my card reader. Oh well.
Anyway. Here’s a tunnel!
It had these totally ancient cave paintings in it.
The tunnel eventually led us to the vicinity of the Rosenkrantz Tower!
Its oldest parts are from the 13th century, and it’s completely filled with cramped passages and endless spiral staircases. The roof had a magnificent view of the aforementioned tall ships and masses of people, which you’ll have to imagine since my camera went out. You can see a mast or two in the above picture though.
Now. Should I start coding? Hm.
no love / linux timelapse howto
Saturday, August 9th, 2008 1:59 amThe story so far:
no love
Woke up early today at 06:15 CEST (which is unusual..), but haven’t really done anything since then, except having some more or less vague ideas about what I’m going to make. For the code part I was planning to do it entirely in Lua, using the löve game box thing. I’ve briefly looked at löve once before, but discarded it then because it was missing a few features I’d like (such as fixed timestep). For some reason I thought I’d actually give it a chance though, and what better time to try out new things than during Ludum Dare? It does seem to have some nice parts, and assuming I could get it to work it’d save a fair bunch of engine coding in favour of actual game development. So, that’s what I’ve mostly been fiddling around with for these past few hours since I woke up.
I won’t be using it, though. I do like parts of it, and some annoyances are bearable or can be worked around (fixed timestep can at least be approximated, with some slight drift), but there’s some serious issues that can’t be overlooked. For example, I can’t get it to load any png images (“png library error”), and the love executable sometimes segfaults on exit.
Also, I get the impression this isn’t actually intended to use for stand-alone games(?). I couldn’t find any way to get it to autorun a game on start, you have to pass the .love file or directory as a command line parameter. A bat/shell script easily fixes that, but eh. Also, there’s a ton of dependencies, so packaging the final entry would be pretty involved for the Linux version at least (though they do provide Windows binaries).
I’ll just have to code up some Lua game engine myself then, won’t I =]. I’ll begin work on that in a little bit I guess..
–
recording a timelapse in linux
This comes a little bit late perhaps, but people always ask about this, so.. To record a timelapse in Linux, first get scrot for capturing screendumps (some distros have a package for it). You can use some other screen capturing tool if you really want to, but scrot can capture screendumps without annoyingly freezing the screen like many other screen capture tools seems to do for some reason. Then just run that every x seconds with some shell scripting. Make a directory somewhere with a couple gigabytes free space, enter it, and run this (every 30 sec here):
while true; do scrot; sleep 30; done
Hit ctrl+c to stop it when you’re done. Now you’ve got a directory filled with lots of huge image files, which you probably want to combine into a video somehow. Er, I apparently lost my script for that, but the mencoder man page should be helpful =]
Trivial Escape from Minimalist Island Timelapse
Monday, April 21st, 2008 12:41 pmHere’s a timelapse for my game. Watch me repeatedly fail to draw stuff, write big chunks of code that was later thrown out, and also try to make music that I decided to not put into the game! (The music just didn’t fit at all. I extended it a bit and used it in this video in stead)
Contains spoilers obviously, so play the game before watching =)
Oh, and I noticed the counter shows -1:39:49 at the end of the video. I did go a few minutes overtime (mostly upload issues though, also I started way late so please go easy on that =]), but only by a minute or two. There was a bug in the counter that caused it to count wrong when it went past the deadline. (Also, the time skips when the sleep window pops up as my PC was off then.)
Trivial Escape from Minimalist Island
Sunday, April 20th, 2008 6:12 pmWindows exe + source (compo version; if it crashes, get the post- compo zip below)
Windows exe + source (trivial post-compo fix edition, see below)
Updated with a fix version above. The game would crash if run at a bit depth lower than 24bpp, use the fix version if it does! The fix also removes a comma from brygge-s.lua to fix a copy/paste bug that prevented turning around/right when looking away from the wharf, this isn’t required to beat the game or even much noticeable though.
Tools used: kate (text), gimp (graphics), sfxr (sound)
Libraries used: SDL, SDL_image (png), SDL_mixer (ogg vorbis), Lua
Burger time
Sunday, April 20th, 2008 11:17 amProgress
Sunday, April 20th, 2008 5:57 amWoke up today, ate some food:
Got some cola here too, but unfortunately the floor decided to take a sizeable portion of it.
Anyway, I finally got the engine done now! No new screenshot since it looks the same as before, but now I can easily add screens simply by making a new png for the graphics and a lua script to link it to stuff. Time for content creation..
Also, maybe some sound. I’ve got some samples that would be perfect for ambience, but I probably can’t use those since they weren’t created during the compo (or by me, even). Guess I’ll have to try to make something.




















