October 31, 2009

Machinarium

I found this game through a review on Ars Technica. The visuals are stunning:

I bought it. It's about 16 euros, and for that you can download a Mac, Windows and Linux version, and you get the soundtrack in mp3 format as well. No registration codes or DRM of any kind, so once you buy it you can install it on any machine you have without hassle. Super!

Ah yes, the gameplay. It's actually a very nice game. It's all puzzles, of course, but they're never intimidating. Plus you always get one free hint in each area, and if that doesn't help you there's a walkthrough as well. The temptation of using the latter is dampened by the fact that you have to beat a small sidescrolling shooter before you can access the solution to that area.

It's not always perfect though. I have hit on the right solution on a few occesions, only to see it fail because I wasn't necessarily standing in the right spot. Sometimes a meter to the right or left makes all the difference.

The story is very simple and nice. The way it is told is also quite unique. It makes for a very strange yet endearing atmosphere. Even though it's all about robots you find out they have emotions just like the rest of us. These Tin Men have hearts already. Well, most of them.

Anyway, lovely game, and well worth the time.

October 10, 2009

Skribler

I just released a new project on Sourceforge. It's something I have been working on quite a bit over the course of the past month or so (I had plenty of time while being unemployed ;). The project is named Skribler, and it is part structured editor, part framework for setting up a structured editor for domain-specific languages.
Skribler has two related goals. One is to make it easy to define custom domain-specific languages. The other is to get rid of the need for parsers by persisting the abstract syntax trees, not the source code. It is the latter which really started this work. It's really a very simple idea, and I don't know of any editor which takes this approach.
Below are two screenshots of Skribler in action. You'll probably notice the highlights on the text: this indicates the selected element and what you can do with it. It is the whole point of a structured editor that you can only do things which don't invalidate the structure.

Right now there are two languages defined in Skribler. One is a pure demonstrator based on Martin Fowler's Record Configuration language from his Language Workbenches article. The other is a lite version of WASA Templates, which is a high-level language for defining webpages by combining small templates. Skribler allows you to define the template composition, and has a basic compiler which then performs the compositions as specified. I'm using this right now to build a new personal website, and it's quite usable. Yes, I'm eating my own dogfood here. :-)
Anyway, it's alpha software, very much in the prototyping stage, and I love it! I welcome any feedback if you tried it out, as well as comments on the ideas that are behind it.
PS. If anyone is looking for a software engineer in the region of Aalst, keep on looking. I'm off the market again; starting a new job next monday. Jay!