Skip navigation.
A website about my endeavors in the field of computer game development.

ffsmlib 0.1

Here's something small I've played around with today while at university. I thought I'd publish it before I forget about it.

From the README:
The functional finite-sate machine library (short: ffsmlib) is a small library for modelling finite-state machines. It is written in Scala (http://scala-lang.org/).
ffsmlib is mainly a toy without any real applications right now.

The code: http://github.com/hbraun/ffsmlib/tree/master
The download: ffsmlib-0.1.zip

This is a source-only release. If you want to use it for something, I suggest just copy the files into your project.

Update: Updated the URL of the code repository.

Kong 0.3

At the end of a very productive week I present to you a new version of Kong.

The download: Kong-0.3.zip
The requirement: A working Java installation.
The instructions: W/S keys for player 1, Up/Down keys for player 2.
The code: http://repo.or.cz/w/kong.git

Not much has changed from a player perspective, but things are completely different under the hood. I replaced Phys2D with my own physics library, Scalable Dynamics. This fixes the tunneling effects (when the ball would escape from the screen boundaries and disappear for a while) that plagued version 0.2.

I expect improved versions to appear in the future. I have some ideas that could make Kong into an interesting game.
Additionally, Kong is the ideal testbed for my Scalable Dynamics library. I plan to grow them together, by making use of new ScD features in the next Kong versions.

Scalable Dynamics 0.1

Scalable Dynamics (short: ScD) is a 2D physics library. It is called Scalable Dynamics because it's written in Scala, the Scalable Language, not because it's scalable (it's not, at least not this early version).

I cannot overstate enough that this is the first version with only the most basic features:
* Rigid bodies
* Linear movement
* Applying forces and impulses to bodies
* Supported body shapes: circles and line segments
* Continuous collision detection between all supported shapes except between line segments

It's released under the Open Source Apache license 2.0. The license doesn't restrict usage in any way and is also very liberal in regard to modifying the library.

But enough talk.
The download: ScalableDynamics-0.1.zip
The code: http://repo.or.cz/w/scd.git

I expect to extend this in the future as I need more features for my own games.

Update: I made a mistake in the feature description. Collisions between line segments are actually not supported. I have updated the article.

PiccoInput 0.1

PiccoInput is a small library written in Scala that handles events from the Piccolo2D scene graph and allows you to poll for pressed keys from your main loop. So instead of implementing an interface which handles input events, you just register PiccoInput's KeyHandler with Piccolo and just ask the KeyHandler every frame if the key you're interested in is pressed.

Nothing special, but convenient if you're developing games with Piccolo2D and Scala.

The download: PiccoInput-0.1.zip
The code: http://repo.or.cz/w/piccoinput.git

This is open source software under the Apache license 2.0. If you're just using this library, this license will restrict you in no way.

Documentation is available (and quite extensive), but currently only in the form of source code comments. Maybe the day will come when I'll figure out how to use scaladoc, but that day is not today.

ScCount 0.1

I've written a small utility (in Scala) that can count the lines of code of a Scala project. It's not perfect, but it's intelligent enough (in most cases) to distinguish code lines from comment lines.

Download: ScCount-0.1.zip
Instructions: Give it some (or none, it defaults to ".") files or directories. Directories will be searched recursively, all Scala source files will be counted.

The distribution package is a bit rough. I haven't included the Scala library jar-file, because it seemed somewhat silly to ship some megabytes worth of library with such a tiny script.
I figure if you want this, you know how to start a Scala application from a jar anyway.

0x10h three pictures

I know, it took a while, but here they are: My pictures from 0x10h three.

An official report has yet to appear. I'll post here if something shows up.

Kong 0.2

From the department of "I don't want to do any real work" comes Kong 0.2, the next version of my legendary Pong clone.

The download: Kong-0.2.zip
The requirement: A working Java installation.
The instructions: W/S keys for player 1, Up/Down keys for player 2.
The code: http://repo.or.cz/w/kong.git

This is a complete rewrite and aside from the color palette and general Pong gameplay, it hasn't got much to do with Pong 0.1. It's built with Scala using the Piccolo2D scene graph and Phys2D for physics.

It has a few problems, but it's playable. An improved version may or may not appear sooner or later.

0x10h three is over

0x10h three was this weekend and, as always, it was a pleasure. Martin, my partner from the last contest, was ill, unfortunately, so I banded together with Alex and we created CaveFlyer, which is mostly like Asteroids, excepts you're in a cave and you shoot another player instead of asteroids. Turned out it was more an area bordered by colored rectangles than a cave, but nobody's actually interested in details like that.

The download: http://habraun.net/stuff/CaveFlyer.zip
Requires Java. Everything else should be in the package.
Instructions: Click into the window once at the beginning (input won't work otherwise). Player 1 controls his plane-thing with up, left, right and fires with shift, enter. Player 2 controls with w, a, d and fires with alt, space. If one player's health drops below 0, please declare a winner and close the game window.

The game is a bit buggy, freezes occasionally and has performance problems. Still, I'm quite content with it. This marks the first 0x10h where my team managed to deliver a somewhat finished game that wasn't written within 10 minutes during the last hour of the contest. I've also learned a thing or two about game development and I think we'll continue our trend of improving with every contest ("we" being my team, which will hopefully include Martin again next time).

I don't have much to say about the rest of the contest. The overall organization and especially the food supply have been entirely excellent. Martin, our host, did a nice job (attention: different Martin than mentioned before).

There were some interesting games from the other participants. I expect an official review about the weekend to show up shortly, so you can see for yourself. I also made some pictures, which I plan to upload at some point in the future. I will post here when that happens.

Kong 0.1

Here's something I did recently, mainly because I needed a change from working on my current (yet unannounced) project. Created during a few hours at night, I present to you Kong, my take on the Pong genre (version 0.1).

Here's the download: Kong-0.1.zip
You need Java to run it, everything else should be included in the package.
Source code is also available: http://repo.or.cz/w/kong.git

Instructions: Left player is controlled with W and S, right player with up and down. Appoint a third player to count the score.

A word of warning: As I said, this was written within a few hours. Don't expect too much.
I have quite a few ideas for improvements, but no promises here. Maybe I'll extend it in the future, maybe not.

Prehistoric Dentist and 0x10h three

I've uploaded a tiny game I did at 0x10h 2.0 back in May. It's called Prehistoric Dentist - Hot Pursuit (thanks, Video Game Name Generator) and was a last-ditch effort to save the honor of our team (besides surfing the web and drinking beer we had worked on a Pac-Man inspired game that mostly stood out for its lack of fun). Despite its shortness (estimated production time was 20 minutes and it's possible to play through in 2 seconds, if you know what you're doing) it was well-received.

But enough talk, here's the link: PrehistoricDentist.exe
The game is written in C#. It was developed and tested on Ubuntu with Mono. I'm pretty sure it works on Windows too, using .NET.

More about 0x10h: 0x10h stands for "16 hours" and is a game coding contest and conference. It will take place for the third time on January 10th and 11th, 2009 in Darmstadt. I will be there again and maybe we'll even write the sequel to Prehistoric Dentist.
Stop by if you're interested in game development. I'm sure it will be fun.

Syndicate content