about

About

This is the website for my Allefant project hosted on SourceForge. It is a collection of various games I wrote over the years for short game programming competitions, such competitions usually taking about 2 days to create the complete game (code as well as art). The first such game I made was Allefant back in the year 2000. Some of the games also were worked on afterwards and polished a bit, so they are actually playable. Most are little more than a tech demo though. They are all open source.

allefant-com

allefant.com

Just upgraded wordpress to 2.8.4, and since I felt like throwing away some money, purchased a domain for this site. After being up for 10 years or so it deserves it. So, I can view my homepage now by typing in allefant.com instead of allefant.sf.net :)

time-for-an-update

time for an update

Guess it’s time to put an update here lest the wordpress upgrade will be the only post this year. Well, I just added 3 of my game entries I made in the last year or so: Ultimatum (TINS 2008), The Wave (LD #14) and Lawn (PyWeek 8).

Really looking forward to the next Allegro speedhack now which will be in a few days – and I should have time to spend the whole weekend making an entry. Of course, as always, speedhack has lots of rules the game must abide to… so can’t do any advance planning. Which is the fun in it.

wordpress-upgrade

wordpress upgrade

Just upgraded to wordpress 2.7.1, which was suspiciously easy. The theme still works, page categories plugin still works (the plugin is still required though).In fact nothing looks different except the admin section. And all I did was unzip the new version over the old then let the auto-update thing convert the database or whatever. Well, really nice for sure, big plus point to the wordpress devs.

ld48-12

LD48 #12

I took part in the 12th LudumDare contest on the weekend, was lots of fun. My entry is called Owl. Not much more to say. Actually, this was not meant to be a news entry (wordpress “post”) but just a game entry (wordpress “page”) – but I clicked the wrong type. Or rather, “post” is default. So well, instead of deleting it, I renamed it and published also a news entry :)

mini-lds

Mini LDs

Over at ludumdare.com they decided to hold “mini LDs” in the months without real LDs, and I played around with some code for the previous two mini LDs. I only spent a few hours in each. The theme for the first one was “versus”, and my idea involved Python vs Perl – i.e. you take control of a Python and have to eat perls :)

I think I did pretty well with it, screenshots and video are at its LD48 entry page.

For the second mini LD, the theme vs “the game to the movie”, and I had no idea at all. Consequently also no finished game. I did spent some time writing up some kind of 2D vector collision engine in pure python though – the result can be seen here.

Hm, and I really should get me some cheap host, SF doesn’t allow outgoing connections and therefore no akismet. Anyone who has a wordpress blog probably knows what the means :( On the other hand, free hosts such as wordpress.org don’t allow any customization, so that wouldn’t work either. Besides, there’s no real content here, and I don’t really blog.. so the only reason for this site’s existance is that I like to play around with the website from time to time :)

wordpress

WordPress

Well, I just changed the software the site runs on from moin to wordpress. Some things were nicer with moin, but having this be a wiki really was quite pointless – as it’s not supposed to be edited by anyone but me. And the comment posting interface of moin was rather kludgy, and abused by spam bots a lot. So now it’s a blog. Which also is not ideal, since this is rather kludgy now for long-term storage pages. Why can’t there be a simple content management system..

So now, with my post rate of 2 or 3 posts a year, this would be a rather sad site, therefore I tried to import the old contents. Formatting is messed up and pictures are missing, but I plan to fix it all eventually.

new-year

New Year

Ok, it’s 2008 since some time, but the first time I feel like posting. In the meantime, there was another LD48 I took part in, sometime last December. Results are here, and while not doing good in general, I made second place in the graphics category. Need to figure out how I can get one of those pelly graphics to display here, I always wanted one, and now finally, rather unexpectedly, I got one :) Maybe not totally unexpected, as I did take some time making shiny animations in Blender. On the other hand, I chose to make a puzzle game and ran out of time to create levels during the compo. When will I ever learn. Also have yet to add the game to the site here.

shedskin

Shedskin

Recently Phil Hassey from #ludumdare directed my attention to Shedskin. Shedskin is a Python to C++ compiler – so it could solve the same thing I’m currently solving with my crude line-by-line .py -> .c converter.

However, my experience with it was that it’s not quite ready. It started with being hard to get running at all – I ended up copying the lib folder and the FLAGS file from the original distribution into my project. Also, it is all but obvious to me how to interface external libraries. I ended up manually keeping 3 files, a .py, a .cpp and a .hpp in sync, editing each one for each function to add. This is what stopped me from actually doing much at all with it, it’s clearly too painful to be useful that way. Maybe a way could be found to directly let me use external code instead? I call libc.printf, and it puts a call to printf. At the most, there should be a single description file where I specify the necessary header stdio.h and the types (and maybe also the library?) Editing three files for each symbol is almost as bad as manually using the Python-C-API. Also, again packaging related, there needs to be sane way to incorporate shedskin into my projects, the generated makefile and FLAGS file won’t cut it at all.

Furthermore, one of the main reasons I prefer C over C++ is compile time. This was already noticeable with my shedskin test – gcc needed several seconds just to compile the code produced by shedskin for the short test program and library wrapper, likely because it’s somehow pulling in lots of headers. My reference code doing the same only takes an instant from .py (reg-exped to .c) to the executable. Additionally, the Shedskin website says that it will need increasingly longer for the type inference with growing number of lines, so with a real program, that may add a lot more time even. Not compatible with my rapid testing way of coding.

Finally, I don’t think type inference is very important for me personally. With dynamic code, it is nice that I can just throw around objects of different types and let everything be sorted out where I want, even using techniques like duck typing. With static code, seeing what types are needed actually can be an advantage sometimes – else I manually would have to add comments about the types or do manual type inference. So, for now, shedskin is not for me.

retrohack

Retrohack

Took part in the allegro.cc Retrohack. Teaming up with Paul, we made quite a nice little beat-em-up – yet have to update the games section and put up a page for it.

In other news, there’s another LD48 coming up soon. Sadly, I was just informed today that I will lose at least half of Saturday – so that sucks. But well – might still be able to pull something off, just have to sleep less or something.

pyweek-and-speedhack

Pyweek and Speedhack

Seems I made fifth place for single entries in this pyweek, which is pretty good for me, since I just take those compos as excuse to work on games and don’t really try to achieve scores :) Actually, I’m tied with fourth place, fun category is 3.1 for both, but mine has less innovation but more production. In fact, surprisingly, I won the production category (no other solo entry even reach 4). Guess rendered graphics as opposed to pixel art does count a bit, and my 8 seconds of looping music were quite well received in the comments (except for the fact that it starts getting annoying after 8 seconds :P ). Also, unlike my previous pyweek, 100% could play this one. What a difference not using any OpenGL extensions makes.

As for Speedhack which I also participated in this month, I made a 3D game, trying to implement the rules – especially the dialog rule was hard (and I didn’t really get to the friction and influence rules much). Also, 48 hours aren’t enough to make Halo 3, but I think I got pretty close :)