Archive for the ‘Misc.’ Category



So, my Twitter account is jlauha. I configured the blog posts to be automatically updated there, so that’s one way to follow my stuff if you’re into that. We’ll see if I start occasionally posting something else as well.

Tool: Binary data to embeddable char array

Sometimes there’s a need to embed some little bit of binary data in the executable. The reasons may vary – perhaps it is for a resource you want to exist even if data files are missing, or it could be even something you want to “hide” from some curious wannabe-hackers.

In the past years my typical use case was as follows. I used to make “64 KB intros” (such as this one), and for those I needed to embed a few data files to the executable as object data, so that I could exploit compression of the executable packer without writing a proper compression tool myself (such as UPX).



Tool: pngprep

When programming visuals, I often need to fix color values of pixels in image data where alpha is 0. Here’s a little tool called pngprep which can do some pre-processing of image data and save the result as a 32 bpp png file.


Tool update: psdslayer 1.1

A while ago I posted psdlayerstga 1.0. I have now updated it to support saving to PNG files, which is also now the default output format. The tool also got renamed to psdslayer, since I was constantly imagining, and even mistyping, the name to be “psd slayer” rather than “psd layers“. And I find it funny.


Tool: psdlayerstga

UPDATE: psdlayerstga has been renamed to psdslayer with addition of saving the layers as png files. Get the new tool from here.

I took DrPetter’s PSDImage code for extracting layers from PSD images, and combined it with stb_image just for saving out the layers easily as TGA files. And then I included some simple options and output of the metadata (i.e. name and position of each layer). Result is a little command-line utility, “psdlayerstga”. Use it for anything, but do so at your own risk. (The PSDImage code uses that same license, and stb_image is public domain.)

Download here, including C/C++ source and a pre-built executable for windows:
Go get newer version (psdslayer) from here.

Edit: Don’t miss psdparse below (suggested by Toby), an alternative tool for the same task.


Skipping Asm’09 GameDev compo

Not a game
I have attended the Assembly event every year starting from 1992. Starting from 2002 they have also arranged a game development competition. I have participated in that compo every year – my first one there was Stair Dismount™ (which was also the winning game).

However, this year I won’t be taking part. I actually have been churning out code for a week or two for an entry. But the submission deadline was on last Sunday and I just didn’t have enough of anything playable to have a first submission… Updates are allowed, so it wouldn’t have been an issue to submit something half-finished, but I was far from that.

I have one long-standing idea for a nice additive feature to a normal side-scrolling platformer, which is what I had in mind. That’ll wait for another time. On the image right you can see a small glimpse of the test code I made – although the image doesn’t really tell anything. Even the tile graphics are taken from free graphics sets of Lost Garden (thanks!). But I’ll probably post a bit more about my prototyping tests later, as I had fun time making some new stuff as well as polishing some old code.

PS. For a few years I have also held seminars at the event. This year I was asked to talk about iPhone and our company experiences, but I felt I’m not the right guy to have that talk so I passed on the opportunity. I recommend you go and listen to scoopr‘s iPhone development talk (he’s my colleague).


My First CMS

Yes, it’s now the first time I’m using a CMS (content management system) for my home page. Not just some simple html/shtml/perl/php thing anymore. The previous mostly static way served well and were really fast to serve. But even though it was quite simple to add new posts by editing some static file, adding images and even hand-modifying my rss xml file (ugh!), all made it somewhat of a chore to make any updates. So I usually didn’t. Even better is the fact that now I have support for comments, and some small bonuses such as support for scheduling postings ahead of time to be published on certain time or day. I’m not sure if I’ll ever need that feature but it sounds nice. On a second thought: I just decided to test that feature right now, so that this post will be published early morning rather than late night. :-) In any case I am planning to post a bit more often.

Now that I moved to using WordPress, I opted to move basically everything from the old system as part of this new one, even including all news/blog posts there was in the archive. It was lot of manual work, but I think it was worth it. Got the chance to reflect on the past, fix lot of links and make some late-update-notifications as well. Funnily I even kept the age-old links-page, although I sifted through it after a long while and removed many broken ones. It’s funny how many sites just disappear when you wait a few years – even some sites you certainly wouldn’t expect to go away.

Organizing the stuff has always been somewhat hard. This time I realized that most of the static pages about my things are either related to games or visuals. Other thing is that now my sidebar doesn’t contain just links to the static pages, but also to blog postings by category.

Big overall change affecting many items is that I have added links to accompanying YouTube videos. Here’s a link to my videos in YouTube if you want to check the collection out or subscribe there as well. There’s also some new info as well, e.g. in the more games page.

PS. If you already RSS-subscribed again to the new system before reading this post, please do it yet again, one more time. I just switched to use feedburner, which apparently should give me some nice statistics as well.


IGF finalist again

Cinnamon Beats concept
Has been a while since last update. You probably can guess we have been quite busy with things happening at Secret Exit. The game I mentioned in my last post, Cinnamon Beats, became one of the finalists in The 10th Annual Independent Games Festival and now Gamasutra did an interview with us about the game. Very soon we’ll have more nice things to tell about, so I recommend subscribing to the Secret Exit newsletter.


Attending GDC 2007

I’ll be present at the Game Developers Conference 2007, held March 5-9, 2007, in San Francisco. We will have our own IGF booth there, showing off the Skinflake game Racing Pitch. Come to visit our booth for a chance to meet and chat with us, try the game and pick up our card, which are almost like collectors items. ;-P

2007-02-13 Skinflake interview recently featured an interview about Skinflake. Don’t forget to vote for Racing Pitch in IGF Audience Award voting. ;-)