As I said in my previous post, I’ve recently taken up game development. My interest in game development was sparked when I attended the Google I/O Developers Conference earlier this month. At the session entitled Kick-ass Game Programming with Google Web Toolkit (they had me at “kick-ass”), Google announced an effort to develop a cross-platform game development library called ForPlay.
The suggestively named library was of interest to me for several reasons. It’s all written in Java, which is my programming language of choice. It uses Google Web Toolkit (GWT), which is development kit that makes it easier to develop complex web applications. I’ve been using GWT for the last several months at work. Finally, ForPlay is mainly designed to be cross-platform abstraction library. That means that I can write a game once and with one line of code compile it as a web application or a flash application or native Android application. That’s pretty powerful. I just want to write a game. I don’t want to worry about vagaries of a particular platform. I especially don’t want to worry about it since I’m doing it for fun.
The library currently supports the platforms (or will soon): Java Desktop (mainly for testing), HTML5, Flash, and Android. There are even plans to look at support iOS (to run on Apple mobile devices).
The other thing I like about ForPlay is that I’m getting in at the ground floor, so to speak. It’s only been available to the public for less than a month. Before that, it was apparently used to write Angry Birds for the web and was an internal Google project. It will be nice to watch it as it grows. It will be a good learning experience for me.
ForPlay’s newness is also its biggest problem. It is still very much in an alpha state. It doesn’t work properly with Android and Flash, yet. There are fairly significant code changes on a daily basis. I’ve already had to do some minor refactoring after a recent update. Documentation is sparse as well. If you want to get something done in a hurry or on any kind of deadline, I wouldn’t suggest ForPlay. You’ll want to wait for it to mature. I’m certainly not in any hurry as I’m working this in my spare time which is unfortunately in short supply.
That said, there is already a pretty lively community springing up around it and there is a lot of activity going on with the code. So, I don’t see this library going away anytime soon, especially when consider how powerful this could be.
If you’re interested in ForPlay, the code is located here: http://code.google.com/p/forplay/
The community and ongoing discussion is located here: http://groups.google.com/group/gwt-forplay
On my next post, I’ll take about the game I’m developing. I’m working on a simple asteroids game. I’ll describe the process I went through to create it and lessons learned.
