The great multiplatform game challenge

The idea

Like many developers I have played many games. And like many developer I have been thinking about creating games myself. It would be awesome to create my own games that I can tweak to my liking and if other people will like and play them, that would be even better. Many times during the last couple of years I have looked into game development techniques and frameworks, but I never came much further than ‘Hello World’ or simply running demos.

Apparently there are more people like me, missing the right incentive to keep it up and create a working game. I have been checking out Ludum Dare for while to get some insight of what people can accomplish within 48 hours. Really awesome stuff.

Lately the site LessMilk came to my attention via Twitter. This guy (Thomas) makes a new game every week(!) in an HTML5 game framework named Phaser. You should check out his site.

The challenge

I’m afraid one game a week is not the way to go for me. After NOT making games for years, I have to start from scratch and apart from my programming skills, the audio/visual department is lacking (also the case for many developers). I remembered visiting a site where someone wanted to write games and decided to create one every month and keep track of his progress. It was called #onegameamonth. The site is still online and a of today almost 8000 people signed up one the site with the same goal!

The technologies

Haxe

Haxe is an open-source programming language that can generate source code for many different platforms from a single code-base. The initially supported platform since the start of that project in 2005 was Flash and many other platforms have been added in the following years. Haxe has many similarities to ActionScript 3 and since I have a lot of experience in ActionScript 3 from the days when Flash was still king, it feels like coming home for me.

OpenFL

OpenFL is a cross-platform framework that compiles Haxe projects to native games/applications for iOS, Android, Blackberry, Flash, Windows, Linux, Mac OS X, and even HTML5. It takes the code and compiles it to native C++ for the target platforms and uses hardware rendering for the graphics, making it almost as fast as native 2D games.

HaxeFlixel

HaxeFlixel is a 2D game framework built to be used in cooperation with OpenFL for cross-platform game development. It was created as a Haxe port of the great Flash library Flixel but has since evolved and expanded functionality. The community is great and the API very use to use. These are the main reasons for me to choose for this framework as the base for my games.

GitHub

All the code for this challenge will be open sourced. It’s a learning process for me and I strongly believe in learning from sharing. You are free to checkout the repo and share your thoughts on the code.

The progress

I will make blog posts and tweet about my challenge and results of the development process. I will regularly push commits to GitHub so keep an eye on the repo!