May release

As announced, here is the may release for 1GAM. A very, very small game.

The lack of time to spend on 1GAM is really annoying, but it will be better in July - though not a lot better - and I hope I will be able to release more ambitious games then.

However, a game is a game, so here's the Windows download for Catch the cat!


Emergency game

Hi all.

Due to the encroaching exams, I have had less time than I thought I would have. That's why I decided to reuse an old game I had made a while ago on about a day.

The objective is really simple: all you have to do is catch the kittens that are falling out of the sky. If you drop more than 10 kittens, you lose. Can you save them all?


First screenshot of Duel (WIP!)

I promised I would post more screenshots. Well, here is a screenshot. It's a shot of the main menu of the game. Beware: everything is a work in progress! (Also beware of my abhorrent drawing skills)

(Click the image for a higher resolution version)

Until later!


May game

Hello, 1GAMers, frequent visitors and passers-by. It's the month of May! This means it's time for another game. The thought also just entered my mind that I didn't 'review' HTML5 and JavaScript as a means to game development. I must get to that some time.

This month, I will be making an online simultaneous turn based fighting game. Kind of like a mix of Guild Wars 2, DoTA. But on a smaller scale, and only supporting 1v1. Kind of like the battles in Pokémon, but with simultaneous turns. Yeah, that's pretty much it.

Some of the features of the game (which is currently very excitingly called "Duel") are:

  • Lots of characters(*) to choose from, each with different skills and stats
  • Strategic gameplay
  • Highscores to keep track of the best players in the world
  • A native client for Windows and Linux (Mac support might be included)
(*) I've deliberately decided not to call these "heroes", for those people who like playing "antiheroes". I've always found it rather silly that for example Necromancers in Guild Wars, who are drawn to destructive and black magic, were also portrayed as little angels skipping around on a rainbow singing "Let's save the world!"

Since the first 2000 lines of code I have so far are mainly a framework to build the game on, I can't show anything yet. Screenshots will follow later, though! As soon as I've got something to show, it'll appear on here (and I'll notify any followers on Twitter).

Until then!


Boing release

As I said before, April's release is very small. Tiny. Probably so small you'll only play it once. Don't say I overhyped it, because I didn't. In fact, it's almost not worthy of being called a game. But hey, I made it in about half an hour.

So why did I make it?

Well. A certain game called Guild Wars 2 recently added a (huge!) minigame called "Super Adventure Box", which is in the end a bit of a jumping puzzle. One particular part infuriated me and some of my friends. I decided to recreate it in a little stylized game, to see how long we could all last in such a puzzle.

Well, here it is. Boing. Playable entirely in your web browser (if you have the Unity Web Player, that is). Enjoy.


April entry

My entry for April will be a small game, given that I still need to start and that I'm working on other stuff (and I have real life obligations, too). It will be very stylized and fit into the keyword for April, which is "Spring". The game will be called "Boing!". More info will follow later.

Sorry for the recent lack of blog posts. I've been really busy. Come July I should become more active and produce more content-rich blog posts again, like in January.

See you later!


Playing Vortex Battle against yourself is hard

I think it's time to show off my latest game. It's based on a very popular game, with some added twists. It's Vortex Battle!

Vortex Battle is a game based on Pong. Essentially, it's Pong, but in a circle. With nice colours. And powerups. Vortex Battle is made entirely with JavaScript, and runs in your browser (well, not yet, just mine at the moment) through a website made with HTML5 and CSS. This is my first adventure with JavaScript, but everything is going rather well.

Here's a screenshot of me owning myself:
Watch out, yellow! Green is about to score a point.
Vortex Battle is played by two people on the same keyboard. The goal is to make the ball leave the Vortex. However, if your enemy was the last to touch it, make sure it doesn't!
That might be a little confusing, so there are some graphical hints to help you. The ball is made out of very volatile energy (it isn't, really, but just play along for now) and takes the colour of whatever paddle touched it last. This means that if I'm playing as green and I manage to stop the ball from leaving the vortex, it will now have my colour. If yellow doesn't stop it from leaving the Vortex (the white circle), I will score a point!

Currently, the core gameplay is in place. I will be adding powerups later to make the gameplay more challenging.

All of the source code will be available freely online.

I hope you like what you see and will give Vortex Ball a try! If you have suggestions, comments or questions, please do contact me!


Thoughts on February and Slick2D

It's March! This means it's time for the monthly evaluation of the tools I used.


Slick2D is a great tool if you want to create games. It uses Java, which I am very familiar with, it's fast, it has tons of built in functionality which I could use and is easy to set up. One of the only downsides is the documentation. The website seems to have been moved recently, but the old one is still available. Then all of the sudden the new one went down for a while, which was irritating. I had little to no problems with the library itself though. Great stuff!

Happiness with Slick2D: 4/5.

My code

I tried to make my code general-purpose, so I could reuse it for future projects. Since this project was relatively simple, it complicated the progress. However, should I ever write another game using Slick2D, I do have a lot of code I can reuse.
The code was rather messy due to the reusability I wanted to implement. Another factor that complicated the code is the moddability: almost everything is loaded from file. This causes some methods to be full of Exception handling. However, the code is efficient and runs fine, and it's still very readable.

Happiness with my code: 3.5/5.

The art

I used pixelart created in GIMP for the game. I first went for an orthographic point of view, but due to time restrictions (damn February and its 28 days) I changed it to a top down game. The art is very stylized, but I think it looks pretty. Combined with a simple day-night cycle, I think I created a decent looking game. I'm pretty happy with the game icon too.

Happiness with the art: 3/5.

The result

While Invasion doesn't sport much content out of the box, it's very open to be modded. When I was younger, I used to create levels all the time for the games I owned. It makes me sad that modding support seems to have disappeared almost completely from the AAA games industry, so adding it to my game was something I was very glad to be able to do.
I think AudioCube was a better game in the end, but I'm still glad with Invasion.

Happiness with the result: 2.5/5.

Average happiness: 3.25/5.

That's it! I've been working on the next game since yesterday. It's written in HTML5, and since it's been a while that I've written HTML, CSS and JavaScript code, it's kind of fun to do it again. You can expect more blog posts than in February, and by the end of March, a fully open-source game playable in any modern webbrowser!


Invasion released!

My second #1GAM game, Invasion, is finished and can be downloaded here.

There have been some changes to the modding aspect, but all of the information in the tutorial posted a few days ago is still correct. There are some added fields in some files, such as for adding music. I'm sure you modders will figure it out ;) if not, leave a comment or tweet.

I'm tired, so I'm going to end the blog post here. See you next time!


Modding support for my February game

It's been a long time, and I've been hard at work for tons of real life stuff. I've also worked a bit on my February game.

I can tell you this much: it's a 2D top down reverse tower defense game, which currently has no name. What do I mean with reverse tower defense? Well, it's simple. Take the formula of a tower defense game, and reverse it! The towers have already been placed, and you, the righteous (or evil, that's yours to decide) invader must select units to send in and conquer the barbarian defenders.

But here's the cool thing: the game content was designed to be almost entirely moddable. While in its core, this game will always have the same kind of gameplay, you can edit a lot of stuff:

  • Add new units (scouts, tanks...) and unit sprites
  • Design new levels
  • Add new kinds of towers, which attack stronger or faster
  • etc.
Here's a small tutorial on how you will be able to mod the game.


All of the game content is stored inside the /etc/-folder. There's a folder settings, which contains the game settings such as resolution, full screen mode, etcetera. Then there's the actual folders that are useful for modders: levels, sprites, towers and units. I will now discuss how to create levels, sprites, towers and units, in greater detail.


Levels in the game are created using a third party tile editor, called Tiled. You should google on how to create levels in this editor if you want to do that. There are tons of great tutorials out there and it makes no sense for me to try and rewrite them. Just make sure the tiles are 30x30 pixels. Let's say you've created a level myLevel.tmx with a tileset myTileset.png. You should put this level (.tmx file) inside the /etc/levels/ folder, and the tileset goes inside the /etc/levels/tilesets/ folder. Open this .tmx file using a text editor such as Notepad, Emacs or VIM, and make sure the <image source>-tag refers to tilesets/myTileset.png. Here's an example of that line using a 300x300 png tileset:
<image source="tilesets/myTileset.png" trans="f000ff" width="300" height="300"/>
The game engine needs to know where the path is the units can follow, and where the towers are placed. This is done by creating a text file in the /etc/levels/ folder, called myLevel.tpinf. Make sure this file has the correct extension (.tpinf), even on UNIX systems, and has the same name as your Tiled (.tmx) file.
Then, using your Tiled file, add each path tile (in the correct order, i.e. the order in which units are to move across the path) as follows:
p x y

Here's an example for a path from (0,0 to 2,1):
p 0 0
p 0 1
p 1 1
p 2 1
Then, add each tower tile as follows:
t x y name
Here's an example for an Arrow tower on the position 0,1:
t 0 1 Arrow
 The game engine will then create a path and spawn towers in the correct position.

This leads us to the next step in modding the game: adding new towers.


Towers are made by creating a new file in the /etc/towers/ folder. These files are properties files. Properties file, put simply, consist of key value pairs, seperated by an equals sign. Each tower should have the following properties: damage, speed, range and projSpeed. For example values, take this "Arrow" tower that I've made to test the game with:
You can make new towers by editing these files or creating new ones. You can put new towers in a level by editing a level's .tpinf file as seen above.

Of course, towers shoot projectiles. These projectiles can be given sprites (of any dimension) by adding a file <TOWER_NAME>_proj.png to the same folder in which you put your tower.properties file. For the Arrow tower, this gives the following filename: Arrow_proj.png. The game will then automatically make the tower shoot projectiles with this sprite.


Now that we know how to create towers and levels, what about units? Units are also created using properties files, but those are put in the /etc/units/ folder. Units have the following properties: health, damage, speed, sight and sprite. Sight is a value to determine how much the unit will move the fog of war (this will make more sense if you've played the game). Sprite is the name of an image file (without the extension) that is used to represent this unit. These sprites are .png files stored in /etc/sprites/. Here's an example unit:
This unit has a scout.png sprite in the /etc/sprites folder, deals 10 damage when it reaches the end of the path, has 100 health, a certain speed and sight.


Thoughts on January and Unity3D

February is here! This means I am going to write a small blog post about my experience in January.


Unity3D really sped up the development process of AudioCube. Pretty much everything I needed to make the game was provided by the engine. This is ofcourse a great help. I would recommend Unity3D to anyone trying to get into game development who isn't very confident in his or her programming skills. You can do quite a bit without touching too much code.

However, the way the engine works was confusing me at times. I prefer to have full power over my code and since Unity3D uses a certain way of handling scripts, I often had to rethink the way I would program the game. This resulted in a folder of extremely messy code. Note to self: structure code more, especially in environments such as Unity3D.

Happiness with Unity3D: 4/5.

My code

As I said above, my code was pretty messy. Making small changes was sometimes disastrous to the rest of the game. I will need to pay more attention to a cleaner structure in the next few months.

Happiness with my code: 2/5.

The art

As someone who had pretty much no experience with 3D modeling or texturing, I was actually glad with the results. Using a combination of particle effects, simple textures and low-polygon models, I managed to create what I think is a believable, atmospheric environment.

Happiness with the art: 4/5.

The result

I think AudioCube is an enjoyable game. I haven't had a single negative review. The community helped shape the game. While there is still a lot of room for improvement and AudioCube is certainly not suited for a commercial release, I'm quite happy with how my first game turned out. I certainly hope the rest can live up to this, and I hope even more that my next games will be better.

Happiness with the result: 3.5/5.

Average happiness: 3.25/5.

Overall, I think AudioCube was a success. I can't wait to see what the next months of #1GAM will bring me and many others. See you later!


AudioCube release

AudioCube is finally finished. You can find the download links below, but there are a couple of announcements first.

First of all, I have decided to remove AudioCube from IndieDB. If I were to add every game I made this year to that site, I would crowd it. It could be considered spam and I personally hate spam. There's way better material on there, and they deserve every bit of publicity they can get. In due time, I will make my own website on which you will be able to find all my games. In the meantime, this blog will (still) be the place where you can find all information.

I will be blogging about my thoughts on Unity somewhere early February, in case that interests anyone.

There will be less posts about the upcoming game early February, but more posts by the end of the month. The reason for this is that I would like to keep this one a secret for longer. A lot has changed in the development of AudioCube (such as the fact I didn't decide what it actually was about until near the end of development) and I'd like to do that behind the scenes for my next game. When it's close to completion, I will post more details about the game itself.
I might post some of the details on how I implement certain features though - in a 'semi-open source' mentality.

Finally, here are the download links to AudioCube, along with a small summary of what the game is all about.

AudioCube - my first game - is a game in which you need to use your ears. By listening closely, you will be able to find the musical cube. Your vision is impaired by the snow and fog in the mountains of Audoria - so you better hope you have a good pair of ears!
AudioCube is played from a first person perspective. You control your character using WASD/ZQSD/Arrow keys and look with the mouse. You can even sprint using SHIFT and jump using SPACE, or rebind these keys in the launcher menu.
The game mechanic is a new concept for most gamers and has recieved a lot of praise from external testers. If you want to see what the fuss is about, you should try it for yourself!
It's totally free and it's only a couple of MegaBytes. What do you have to lose?
 Download links:


Tiniest blog post ever (RELEASE DATE)

The Mac and PC versions of AudioCube are going to be released on the 30th of January 2013. Due to a bug with the Linux version, it has been delayed indefinitly.


AudioCube is almost finished

As I've implemented everything I wanted to implement, I can almost call AudioCube finished. All I need to do now is iron out the bugs a bit more and then I can release the final version. It's been a great experience - expect a blog post early february where I talk about what I liked and disliked during the development of AudioCube.

Just be patient a few more days and then you will be able to try out the full version of AudioCube, including Infinite mode!


Tiny update

I've been very busy the past week, but I'm still working on AudioCube. My main focus is to have 4 levels before I can release the game. By then, it will probably be around the 31st of January, which is just in time to release the game as "finished". So here's what will be in the game by then:

  • Highscores (already implemented)
  • Normal mode (already implemented)
  • Infinite mode (already implemented)
  • Settings menu (already implemented)
I must say, I never thought I would be able to make a game in a month, but I'm almost there and I'm not planning on stopping now!

So, what's going to happen in February?

I haven't fully decided, but it's probably going to be a hotseat turn based strategy game. While I haven't played a lot of them, I do enjoy the genre. I actually enjoy it more as time passes.

I said this was a tiny update, so this is it for now. When I see you next time, AudioCube should be finished. Exciting!

Meanwhile, check out the latest version of AudioCube on IndieDB!



AudioCube Alpha 3

What better day to release the third alpha than on a snowy day!
As soon as the downloads have done uploading over at IndieDB, you will be able to download the third and final alpha of AudioCube.
Find the webplayer here


Progress update

Let's start off with a bang.

The game is almost in a stage in which I can say it's ready to move on and go from alpha to beta. I've got quite a bit of news though.

First off: I've changed the name of the game. "No big deal", you might think. Well, you would be mistaking. The name change reflects a much bigger change. This dwarf no longer has guns. In fact, you're not sure it's a dwarf anymore. There are no more enemies and there will be no shooting in this snowy landscape.
Why did I make this decision? Well, as you might know, I gathered information from people who visit my blog, like you, my friends and awesomely supportive girlfriend and in other ways, such as on reddit. Turns out, people really liked the main mechanic - which is to find stuff by listening. What they also liked - I'm paraphrasing - was the atmosphere, the loneliness and the relaxed feeling the game gives you, even though you're on a time limit.

That's why I decided to scrap features and make this game revolve all about that one mechanic. This means I can focus on improving it, instead of risking of having a crappy FPS with a crappy gimick as its main selling point.

Now, on to the actual progress update.

Things that have been added and that I'm working on are:
  • A settings menu, which consists of
    • graphical settings
    • gameplay settings
  • Highscores (!)
  • Difficulty settings
  • A more intuitive graphical interface.
That's pretty much it for now, but once those things are in, it's time to start adding more content and it's time for the beta of...


(which is the new title, as you might have guessed).

This Dwarf Has Guns


Alpha 02

The game has been patched to Alpha 02. Here are the changes:
  • Re-added the Quit button to the main menu. Gave it some cookies if it would remain there now, thank you very much.
  • The Resume button should now work in the escape menu.
  • Added a basic settings screen to the menus.
  • Placed the player character on the ground.
  • Added snow particles.
  • Updated fog and fire graphics.
Here's a comparison between the old and new version:

And last but not least: a screenshot of the (very basic) settings screen:

The client is up for grabs here:

This Dwarf Has Guns


IndieDB page and incoming fixes

Third and last blog post for today!

I've created an IndieDB page for the game, which is where I will post updates on content - on this blog I will focus more on the technical side of development. Here's a nice little button for you to click on that will bring you there:
This Dwarf Has Guns
In other news: we will add enemies and first person shooter mechanics in the coming weeks and a bugfix is coming in tomorrow. Stay tuned!

Prototype release 1

It's here! You can download the first prototype now. Your objective is to listen carefully and catch the grey floating cube before time runs out.

The game is best played with headphones. However, read this before downloading:

HAZARD: Do not turn up the volume too much, since volume will increase when you are closer to the cube. We are not responsible for ear damage. If you can hear the music in the beginning, even if it is silent, that should be loud enough to play the game.

Big thanks to Tom Peter for the music!

You can find the webplayer here (outdated).

Or alternatively, download the client:

Controls: (Movement keys can be altered in the game launcher)
  • WASD to move
  • Mouse to look around
  • Shift to sprint
Have fun!

First prototype

A first prototype is going online in about an hour or so. There will be a link to a Windows, Mac and Linux version on this page, as well as a web player - which will require you to download the Unity Web Player application. There will be no enemies involved. It's mostly a test of the game mechanic involving orientation by sound.
You will be able to run around in the first level. Try to find the floating blue sphere before time runs out!

A blog post will follow when the game is uploaded.


Second day of development

And there we go, another day has passed, some more work has been done.

Let's see, what happened today?
Well, I modeled a gun - and it's probably the worst looking gun ever made, but it serves its purpose.
I've implemented a timer system, about which I will talk later.
Lastly, I've created some sort of pathfinding. In its current state, it's very primitive: it does not account for obstacles or height differences. However, it does precisely what it needs to do. Before I get into what that is, let me elaborate on the timer system and the general idea of the game.

Here's what it is:
This game, which I will refer to as 'TDHG' from now on - the working title happens to be '[T]his [D]warf [H]as [G]uns' - is about retrieving an artifact stolen by a goblin, as you might remember if you read my first post. This goblin, after stealing the artifact, got a bit confused and is lost! This means he is wandering around there somewhere. However, after a certain time, he will find his way back and you will lose the game if you haven't captured him yet. This is ofcourse where the timer comes in to play: according to the difficulty level the player selected, they will have less or more time to find the goblin thief.

Now that you know about the general idea of the game, I can tell you what my pathfinding system needs to do. The goblin must simply wander around, seemingly without a clue. How I achieve this, I might reveal later. It's a pretty simple algorithm.

I haven't completely thought out how you're supposed to find the goblin yet. Playtesting should sort that out.

I haven't really got any new screenshots to show, so I'm sorry for those hungry for pictures. However, feel free to leave a comment!

Until next time!


First post

So I just joined #OneGameAMonth...

And boy is it fun! It's the first time I participate in such an event. I like how it forces you to think small. Usually, I dream big. Very big. But this time, I'm making a smaller game.

January is a particularly busy month for me, but if today is any reference, I'm thinking I will be able to make this work. I've already created a fully working (though rather ugly) main menu and started work on a first level.

So what's my january game about? It's an 3D  First Person 'Hunting game' in which you, a dwarf, must recover an ancient artifact stolen by a goblin. That's pretty much the whole game. I got the idea from another game I was working on, which was a sidescrolling action game in which you could create your own spells.

Anyway, I'm getting sidetracked here... While I'm not the greatest artist and while most of this is still placeholder 'art', I think this is looking pretty good already... So without further ado, here are two screenshots!

Yeah, Blueball entertainment. I had a spare image of a blue marble which I made a while ago... ;)