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!