This is a little music toy for Android that we made at the Berlin Mini Game Jam on October 2014.  As usual, I coded it in Löve2D (the Android version).  The developer team was formed by Desiree Ludewig, Max Heyder, Cedric Douhaire, and myself.

The original idea was to create some sort of toy or game that would explore links between movement and music.  It would read data from the phone’s accelerometer and use that to modify the sound of various instruments.  The technical side of it was very straightforward, thanks to the great versatility of Löve2D.  Figuring out the right sounds to use and the right mapping between the input data and the sounds kept us busy for most of the jam.

It’s pretty simple to use: just move the phone to explore the different sounds.  There are four colored boxes that you can tap: they function as switches for mute / unmute the different instruments.  The sounds are tied to the orientation of the phone.  Even though our original idea was to tie them to gestures, we finally settled on a simpler implementation which is orientation-based.

We didn’t think of a proper name for the project, so the original placeholder name stayed: “Oktojam”, since it was the game made at the October game jam.  Coincidentally, I already made another game called “Oktoberjam” a few years ago.  I think that already I know what will be the name of the game I’ll do a year from today.

I uploaded the program as an Android APK file in the downloads section of the Bitbucket repository.  You can download it from there.

Now that I take a look at code I uploaded, I only made 6 commits during the jam, and 3 of them are tagged “uploading new sounds”.  The other 6 commits are just some cleanup from a few minutes ago.  Least amount of coding ever :D


Update 28/Oct/14:

Here’s a video that qubodup made, testing the app on a Samsung device

And this is a video of us presenting the project at the end of the jam.  The uploaded version uses a different color palette than the default colors we had at the jam.

Posted in Berlin Mini Jam, Finished Games, JamGames, Löve2d | 1 Comment


On February 2013 I participated in the BeMyApp hackathon organized in Berlin.  I teamed up with Ramin Soleymani, coorganizer of the Creative Coding Jam and Science Hack Day Berlin; Nate Weeks, founder of Ten Foiled Hats and creator of the ios game Darkin; Astrid Bin, who does a lot of things, I guess I’ll call her “multimedia artist”; and Lorenzo Pilia, responsible among other things of localmultiplayer.com and the regular Talk & Play event in Berlin.

We decided to make a local multiplayer game for mobile phones.  Ramin and myself taking the role of developers, we went for Android, since that platform is closer to our field of expertise.  As framework, we used Processing, which is a java-based framework for creative coding, and exports easily  to Android.  Astrid and Nate took the responsibility for the graphic design, and Lorenzo acted as project manager.

If you want to know what the game is about, I think that the game talks by itself.  Give it a try with your friends.

We were fortunate enough to win the competition, but afterwards it was impossible to continue development since each one of us got busy with our own respective lives and it never got finished properly.  It’s sadly the typical outcome of such events, specially when a not-so-small team is involved.  With the permission of my teammates, I’ve taken a couple of days to fix a couple of bugs that were left ( mostly, the behaviour of the “back” and “home” buttons ) and I’m publishing it on itch.io ( where donations are welcome ), and in the Google Play store ( since you probably don’t want to download an apk from a website ).  Take a look!

Dupes googleplay_badge itchio_badge



Posted in Finished Games, JamGames, Other Jams | Leave a comment

Wizards of the Finger

On February 2014 I attended the Nordic Game Jam in Copenhagen.  It’s the biggest game jam I’ve been to, there were around 500 people participating.  The jam started with several presentations about different topics related to games, and the first day evening we started with the proper jam: pitching ideas for games and forming teams.

I teamed up with Thomas and Thorsten, who came from Hamburg to participate.  They were advertising themselves during the pitching phase by projecting a pic of the “forever alone” meme face to the wall of the cafeteria.

The jam was divided in five paths: boardgames, music games, mobile, single player and multiplayer (if I remember correctly).  We decided to make a game for the “mobile” path, focusing on touch controls, and we wanted it to be local multiplayer.  The theme of the jam was “privacy”.  The way we used the theme was to inform the game mechanics: the game tries to make the hands of the two players hit each other by accident, while giving them a better score the more far apart they are.

It’s a collaborative game, the goal is to reach the highest score by protecting your partner.  The game is available on the Google Play market, and was made with Löve2D.  Thorsten made the graphics and composed the music himself, Thomas was in charge of game design and user testing (there were a lot of users available for that ;) ), and myself took up the coding duties.

Wizards of the Fingergoogleplay_badge

Posted in Finished Games, JamGames, Löve2d, Other Jams | Leave a comment

Voice Over

This is the game made for the Berlin Mini Game Jam on November 2013.  I don’t remember the theme of the jam any more.

A few days before I had attended a presentation by Fernando Ramallo about his game “Panoramical“.  One thing he mentioned that picked my attention is that some people, when they play the game in public, they tend to try to play in a way that pleases the audience.  That is, they are not so much playing for their own entertainment, but for kind of “showing off”.  That got me thinking about the idea of this game.

Using Qt, I am able to run an app that displays two windows.  This game is meant to be played in front of an audience, with a projector.  The control window should only be seen by the player, while the other window should be placed at the part of the desktop that is displayed in the projector, for the audience.  There is an animation, that due to the time constraints of a game jam it’s basically a set of coloured rectangles moving around, appearing and disappearing, in a very abstract way.  The control window also shows a (fixed) set of sentences.  The player can click on any of them, at it will be shown in the “game” window.

The idea is to provide a voiceover, through the sentences you choose and at the moment you click on them, to the animation that is playing automatically.  In a sense, you can change the meaning of the images on screen by choosing which tale to tell.

The game itself is a failure.  I was concentrated on the technical side of the implementation, and never gave much thought to the actual content on it.  Combined with the time limitations, this resulted in a rather disappointing result.  A part of me wanted to do a parody of pretentious “artistic” narrations by going over the top with the pretentiousness and vacuity, but I never was inspired enough to write anything funny at all, and the animation itself is way too crude and ambiguous.  The main problem, when it comes to the content, was however the branching.  That is, the animation itself is fixed, but the set of sentences is branching, like in a twine game, at it was very hard to keep the tree of options within a reasonable breadth while providing interesting choices.  Currently no choice is actually interesting at all.

I guess I would need to rethink or revisit the concept in the future, taking a different approach to the content side of it.  Still, I think that the idea of a game that is meant to be played in front of an audience, for the purpose of entertaining them instead of entertaining the player, can be interesting.

Because I call this a failed game, shelved under the “abandoned projects” category of this blog, I didn’t even bother to make builds for the different platforms.  I’m providing linux binaries, if you want to run it on a different OS you will need to compile the source code itself.  It’s written in Qt, so it’s multiplatform, that shouldn’t be a problem.

The music is “The Open Goldberg Variations“.  It’s an interpretation of J.S.Bach’s Goldberg Variations by Kimiko Ishizaka, released under a Creative Commons Zero license.

Voice Over

Posted in Abandoned projects, Berlin Mini Jam, JamGames, Qt | Leave a comment


This is the game I made at the Berlin Mini Jam on April 2014.  One of the themes was “The elephant in the room”.  I had been talking about Qix with a couple of friends the day before, so I decided to write a Qix / Xonix clone where the image that you uncover is that of an elephant.

The photo is licensed under Creative Commons – ShareAlike – Attribution, by the flickr user “onthegotours”.  I found it through a quick search through google images.

The original game was single player.  It was very popular at the time, and there were countless clones made for arcade machines.  As I was talking about it during the jam I was very surprised to see that most people didn’t know about the game, given its importance in the history of video games, being the canonical example of the game mechanic of “uncovering an image by capturing areas”.

I wanted to do a local multiplayer 2-player version for tablets, and I even came up with a control scheme that would work, in theory, on a touchpad.  Aside from some bugs in the code that controls the movement of the enemies, the main problem at the jam was the realization that this game doesn’t quite work on tablets.  The reason is that the game progresses from the borders of the playing field towards the center.  Since the controls I devised relied on being able to tap on the position of a player avatar in the game, this meant frequently pressing the tablet’s function buttons by accident, closing the game.  I couldn’t come up with a simple fix for that, and was left with the feeling that the problem is with the way the game is designed.

After the jam I removed the tablet-specific code and left it as a game for desktop computers. It’s still a race against the other player to cover most of the screen, it’s now controlled from the keyboard (wasd for player 1, cursors for player 2).  I didn’t feel like spending any time polishing the game visually, the rough placeholder art is still there.

Made with Löve2D 0.9.1.


Posted in Berlin Mini Jam, Finished Games, JamGames, Löve2d | Leave a comment

Reload, reload!

At the Berlin Mini Game Jam of May 2014 we formed a team with Fabian Gerhardt and Iwan Gabovitch and built this game with Löve2D.

It’s a caries survival rail shooter.  You are trapped in Candyland.  The game is played in mouth perspective (that is, first person from inside your mouth), and there’s hordes of sweets coming to get your teeth.  You can shoot dentists at them with your dentist shotgun, which has to be reloaded after every shot.

The controls are a bit unusual.  Shooting is done with the left mouse button.  To reload you have to move the mouse back and forth.  To aim, we’ve mapped the keyboard layout to the direction.  That is, if you press, for example, the keys in the leftmost column (“q”, “a”, “1”, “f1″), you will be aiming at the left edge of the screen.  If you press the ones in the right column (“p”,”0″,”f12″, “.”), you will be aiming at the right edge of the screen.  Everything in between are intermediate positions between these two extremes.  We’re not sure how well does this map with different international layouts, and we apologize if this is causing problems to our international audience (but we couldn’t test it reliably, all we can do is to cross our fingers).

The song is called “blop”, made by Maf, and licensed as Creative Commons – Atribution.

Fabian and myself wrote the code, Iwan created the graphics and located the sound on CC / Opensource-friendly online collections.

I’m providing the love file in the downloads section, if you have any problem running the game, install the Löve2D engine on your computer ( versions 0.8.0 to 0.9.1 are supported ) and you should be able to run the binaries, or the love file in the worst case.


Reload, Reload!


Posted in Berlin Mini Jam, Finished Games, JamGames, Löve2d | Leave a comment

Because this is literally the best we could come up with: retribution

This game was started at the Berlin Mini Game Jam January 2014. My friend Michael Hussigner was visiting, we teamed up, and we brainstormed about the theme “Strange powerups”. We decided to go for a straight forward shoot-em-up game and introduce some humor in the form of annoying powerups that would get in the way instead of helping the player.  Other anti-features for humorous purposes are: fixed score (“a billion”), so that destroying enemies is kind of pointless, and a huge logo occupying a significant part of the screen space, lots of misspellings, ridiculous “things” as bullets of some of the powerups (like cheese, cats, sushi, or bottles).

At the end of the jam, even though I had not had enough time to implement the powerups themselves, we had a basic shoot-em-up game that was already quite fun to play. I spent some days later that week implementing powerups and more enemies as I was coming up with them. Somehow part of the humor was lost, the “normal” gameplay was engaging enough that I toned down the nastyness of the powerups, them becoming a mix of “good” and “bad” ones. Part of the challenge in the game is to be able to avoid the ones that get in the way.

The game is available at itch.io under a pay-what-you-want basis.  If you like it, feel free to set your own price and support the developers (Michael and myself).

There is the possibility of a sequel to this game. It would be a longer game with similar game mechanics, but more content in terms of new types of enemies, new types of powerups, and possibly introducing boss fights. It would be published under a shareware model: the first level would be completely free and fans would have the chance to purchase the full game at a fixed price. It depends on the reception of this one, if there is no interest then there’s no point in starting work on a sequel.

Update 28 April 2014:

I uploaded version 1.1.  It includes more music, some fixes in gamepad support and menu, better explosions and 14 achievements to unlock.



Posted in Berlin Mini Jam, Finished Games, JamGames, Löve2d | Leave a comment