About allefant


allefant's Trophies

The 'You live near me, here in Austria' Award
Awarded by pretzelhands
on October 22, 2010
Double Sonic Device
Awarded by Hamumu
on December 5, 2007
Final Fighting Medallion
Awarded by Hamumu
on December 3, 2007



SteelGolem says ...

pretty grafix

sol_hsa says ...

Nice game, too bad it doesn't quite "flow".. I'd expect to be able to run around among the explosions in a game like this =)

Hamumu says ...

There's an issue here where it completely freezes up visually when you set off a chain that has more than 5 or 6 bombs in it. If you wait out the explosion noises, it eventually shows you the results (usually just the next level, or that level restarted - was very tricky to solve the first megabomb level, since I had to guess what was killing me!).

The mechanism for triggering bombs is weird. I got it after a while, and I understand why it's needed... but it's weird!

I really think the music was illegal (nothing wrong with using public domain songs - but perform them yourself within the deadline! It's not like it's hard to copy down Jingle Bells from a million online sources), but I rated audio for the sound effects instead, ignoring the music.

Doesn't feel like a very original game, but it's a well-done implementation of one. I was most impressed with the design done on the final level! I had no idea that would happen.

saluk says ...

Fix the exploding freeze bug, also some of the graphics were a bit odd. The shadows were a nice touch though.

Also, gameplay is pretty good, and I actually made it through the whole game!

NyanNyanKoneko says ...

Hey allefant. :) Nice to see you around. The game was cute. I like your blender graphics. ^_^

negativegeforce says ...

Nice graphics. I like the You Win! on the last level. Other then being a little tricky to figure out the gameplay its a good game.

Samiljan says ...

Could not run, divide by zero exception, just as the music starts. (Windows)

SethR says ...

Really hated the bomb lighting mechanics. Great graphics and tunes.

fydo says ...

No workies for me. You get n/a's from me for now :)

mjau says ...

Not very innovative perhaps, and the level design was a bit on the easy side, but the rest of the game is well done. The detonation process was a bit odd though, I expected either instant explosion with the little nisse being cast off to one side or maybe getting a timeout for running to safety in stead. The ice also got me by surprise since it didn't really look like ice to me. Still, I got used to it and had some fun while it lasted =). Also, the last level was nice =)

gimblll says ...

It was really hard to see what was ice and what normal ground. Also, the level desing didn't require much thought from the player anywhere. And as others have said, triggering the bombs was very strange until I figured it out. But I completed it, so it wasn't all that bad. Good work. :)

philhassey says ...

A no-go on my machine :(

Wiering says ...

Nice graphics!

TenjouUtena says ...

Kinda fun. The mechanics are kinda unique. Unfortunately, there's a lot of people who did this, so...

midwinter says ...

the graphics and sound are pretty well done, but the gameplay doesn't feel very fun to me. i found the inability to move after lighting a bomb to be very un-fun, and counterintuitive to what you'd normally do right after you just lit some kind of explosive (run like the wind!!). it sounds like you may have fixed some of these issues in your post-competition version though.
good effort!

Deepflame says ...

Interesting game, although very straightforward and 'standard' to the theme, it was fun to work your way through the puzzles. They were definitely "quick play" level of difficulty, and not brain cracking ones. (Although level 11 had me going for a while. I had to cheat a little with a screenshot to solve it in fact.)

drZool says ...

Freeze killed this game, pity

greencow says ...

pyro santa

Sophie Houlden says ...

very pretty, very pretty indeed *drools a little*

Archive for the ‘LD #10 – Chain Reaction – 2007’ Category

post-compo version

Posted by
Saturday, December 22nd, 2007 9:43 am

A post-compo version of my entry is here.

Changes are:

  • Different algorithm to create dynamic holes (without any texture upload), and compiled with optimization on (so no more slowdowns)
  • Gameplay change: Can now walk even during explosions (which allows new timed puzzles)
  • Gameplay change: Added movable bombs (allows Sokoban style puzzles)
  • 4 new levels (13, 14, 15, 16 are new – still not very good, but a lot better than the ones in LD)
  • Allow to choose your starting level (once reached)
  • Some graphical changes, like flags to mark indestructible fields
  • Fixed several bugs (most of which could not occur in the LD levels)
  • Includes a crude linux makefile now besides the mingw makefile and the .exe
  • There’s still a bug with 16-bit desktops under Windows
  • Another bug which caused unexplained failures to upload textures is fixed with the fixed exe in the comments (so if it doesn’t start up, you can get that .exe – maybe I’ll also re-upload a new version with this later)

post-compo screenshot


Posted by
Tuesday, December 18th, 2007 9:15 am

Was experimenting with this, gtk-recordMyDesktop made it trivial to capture a window and even sound, shows me again how little gameplay there is, oh well:


Posted by
Monday, December 17th, 2007 4:00 am

(Hm, got bored at work, so an extremely lengthy post-mortem following..)


LudumDare 10 entry “Lunte” by Allefant


I have yet to analyze the over 3GB worth of automatic screen caps, but I think I spent about a third of time each in IRC, coding, or working in Blender. Rather minor amounts of time were devoted to idea research, making sounds in SFXR and making music in LMMS.


In fact, my music is somewhat of cheating, as I used an existing melody, and further, an existing .mid file including 2 additional scores to the melody, cords (or whatever, I’m no musician) and percussion. What I did is just fiddle in LMMS to create and assign instruments.. I gave a high pitched square wave to the main melody, a piano to the cords, and since LMMS decided to simply lump the midi percussion notes into one channel, ignoring the MIDI assignment, some wooden sounding neutral percussion to that. As for in-game sounds, I used SFXR by DrPetter, which simply is incredible – in last LDs I was running an old SimSynth through Wine to get some poor sounds, now (also thanks to mjau) I have a native app with all those randomization features making sound generation much quicker.


Since sound is covered, next to graphics. My tools were Gimp and Blender. But most of the visible graphics are Blender renderings. I do know by now how to set up a simple “armature” to get stuff animated. I still have no idea what the difference between the three windows IPO/Action/NLA is and why some of them are empty some times and sometimes not. And very likely connected to that, I can’t figure out how to give separate animations to separate things (like, doing the feet animation independent of the head animation, in the same armature). With everything downscaled to 640×480 pixels, not many details were necessary anyway though.

One thing which proved somewhat challenging were shadows. I decided I want to have them separate – since two tree sprites next to each other looked somewhat odd otherwise. Suffice to say, I had to resort to Blender’s Python-scripting capabilities to have a script which fiddles with material parameters – for the non-shadow version, disabling the shadow, for the shadow version, setting all materials to “cast-only” and a special “shadow plane” to “only-shadow”. The result is, each of my graphics has two versions, the shadow and the rest.

The biggest challenge however was the explosions. I learned some about particles, soft-body and the deflection setting in Blender. One thing I wasted time on was when I tried to get the explosion to cast a shadow – Blender simply can’t to that (yet?) – particles can receive shadow, but not cast it.


Now, finally, to the code. I ended up not using pygame but my C-disguised-as-Python language and my custom library. Which for someone who wants to compile means, the following dependencies are required:

  • allegro window, input, timers
  • allegroglopengl context in above window
  • DUMBmod player, actually not used, but i found no time to edit it out of everything
  • OpenGL, FreeType, png, z, jpeg, ogg, vorbis, vorbisfile

After that, it should be a matter of compiling all .c files in the “generated” folder and linking to those library. I provided the Makefile I used for cross-compiling the .exe.

The actual code I have written is all in the src directory, little more than 800 lines. I love the Python syntax for that, even though the code is rather hackish and there’s no comments, the forced indentation makes it still easy to follow. There’s nothing really special regarding the gameplay, it’s a rather simple puzzle game, done a 100 times. I made one huge list of all objects (santa, trees, bombs, wood), then pass it to the C qsort function to sort by layer and by y position, then draw it.

The challenging thing was the water/ice/snow layers. The straightforward idea was to first draw water, then where there is ice draw ice tiles, and finally snow tiles. It just would have meant, if there’s a snow tile at x/y, cut that tile out of the snow texture, and place to the screen. However, I wanted to use an alpha mask for the cutting out – but OpenGL 1.0 does not allow specifying a separate alpha channel. Which would have left me with some texture combine extension, or a fragment shader. I read up a bit on fragment shaders, but then finally went for a software solution, re-calculating the water animation with possibly ice and snow in front each time level geometry changes.

Game Design

One thing I totally neglected was level design. The game I cloned apparently lived from the clever level design, giving you hours of puzzles. In my version, there are no real levels, basically just 13 tutorial/test screens. I guess I could try and find a ROM of the original then rip out the levels. Or try to create some challenging levels myself. In any case, when doing a puzzle game in an LD48, time for level creation must be factored in. It’s hard enough doing platformer levels in short time, but for a puzzle game it’s crucial.


In a way, not having the least bit of originality haunted me throughout the competition. I wish now I had thought more about my initial chain-of-lights on xmas tree idea (all the xmas setting is a remnant of it), then could have spent the time creating explosions and break-able terrain on implementing that idea instead.

final entry

Posted by
Sunday, December 16th, 2007 3:59 pm

Ok, here a final screenshot:


Download (including source and windows .exe) is here: click to download

Not sure the .exe works, it’s cross-compiled from linux.

Right now I’m tired and should go to bed as I have to get up soon again, but some short thoughts. I’m quite satisfied I managed to finish. But I’m somewhat disappointed by how disinventive I was. This is just the original’s gameplay, with different artwork. Also from the technical side, I didn’t try anything new. Well, I blame the theme :)

time running short

Posted by
Sunday, December 16th, 2007 10:04 am

Ok, slept about 7 hours then coded for about as long. Still far from finished. I spent some time looking into OpenGL shaders, then decided against using them and instead fiddled with some slow software solution.¬† Now there’s about 9 hours left, but I can’t stay up until 4am so it will be much less. Hopefully I can make some small levels so there will be about 10 levels.


milk and cookies

Posted by
Saturday, December 15th, 2007 4:59 pm

to keep me alive during this LD.



Posted by
Saturday, December 15th, 2007 3:14 pm

Ok, I went the easy way and just added bombs with a chain reaction explosion. Took me hours to make those explosions in Blender. Oh, and for anyone who was wondering: Blender’s particles can not be made to cast shadows – no matter how hard you try.


Posted by
Saturday, December 15th, 2007 11:01 am

Was playing around in Blender for hours.. and still have no idea about the game mechanics. Somehow, there needs to be a chain reaction of light bulbs Santa can somehow initiate or influence. Or maybe I’ll just add some bombs and have them chain react, worrying about what Santa has to do with it later..


santa lighting trees mockup

Posted by
Saturday, December 15th, 2007 4:30 am

Ok, still no fleshed out idea – but somehow, it goes like this: Santa wants to light up all trees for Christmas, so he has to do some electrical wiring in the forest to cause a chain reaction lighting up all trees. So far all I have is some mockup drawn in Blender:


still no idea

Posted by
Saturday, December 15th, 2007 3:52 am

I still have no idea. That is, already when Chain Reaction won in round 1of the voting I thought I’d just remake an old puzzle game where you place to bombs to set up a chain reaction of explosions. Problem is, I already remade that very game in SpeedHack once, so it would be like totally un-inventive, a re-remake.

Another idea I’m toying with is, a chain reaction of light bulbs. Like, you have to light a Christmas tree with electrical bulbs, and a chain reaction is involved. A level is won when you manage to light the tree. Still don’t have a complete plan how it should work though.

last supper

Posted by
Friday, December 14th, 2007 6:28 pm

Just a bowl of soup for me – half an hour before announcement of the theme.



Posted by
Friday, December 14th, 2007 12:53 pm

 Nothing much to see here Рand interestingly to my cellphone everything but the monitor looks dark..


can never have enough ludumolcats

Posted by
Friday, December 14th, 2007 11:27 am


custom library

Posted by
Wednesday, December 12th, 2007 9:28 am

Since everyone is posting custom libraries, I assume that was required somewhere in the rules? I’ll likely just use pygame, but if not, I might use this library or parts of it. I put the code on SF a few years ago, it uses Allegro and OpenGL: logo is here and code is here. It’s written in C disguised as Python (I converted it all from plain C after being inspired by pyplus).

[cache: storing page]