Main image of article Google PlayN Takes Some of the Pain Out of Game Development
Google PlayNGoogle's PlayN covers broadly similar territory to the multi-platform programming language Haxe, but instead of using a Pascal-like language (Actionscript3) as Haxe does, it uses Java. And now, it's open source. Several years ago Google created Google Web Toolkit, a method of creating complex websites by coding them in Java, then generating the JavaScript. All the maintenance, code writing and development was done in Java, and then GWT did the hard work of converting it to JavaScript. PlayN uses GWT to generate code for Java, HTML5 (i.e., JavaScript), Android, iOS and Flash. (One note: Flash needs an older version of the GWT.) Mobile support is surprisingly complete, lacking only sound on Android and Regular Expressions. HTML5/JavaScript is the most complete version and the best known example game is the Chrome version of Angry Birds. In order to run games on the iPhone, the iOS conversion requires MonoTouch. This is a commercial development system that uses C# and the Mono OS. Its cheapest version is $399.

The Skinny on Java

Originally created in the mid-1990s by Sun, Java is a powerful language originally devised to power toasters. Since then it's found a place in many devices such as cameras, smart cards, credit cards, parking meters and Android phones. Sun's parent, Oracle, claims it's in 3 billion devices. Technically Java's quite similar to C# and there's a wonderful free IDE, Eclipse, that provides very powerful integration. It compiles programs in the background and makes debugging very straightforward. Unless you're a full-time Java developer, though, it can take a bit of setting up. Unfortunately, PlayN also suffers from this complexity. For instance, you need to know and use Git to fetch the source code. Git is a version control system (VCS) that lets you manage your code. No development team of any size -- whether one or 500 -- should work without a VCS. Though there are several to choose from, Gitis one of the more popular, despite its hefty learning curve. Java is regarded as slower than C/C++, and it takes considerable effort by expert developers to get arcade speeds out of it. This is why Google developed NDK for Android, which lets you write games partly or completely in C/C+. If you want to see some games developed with Playn, Google's Yoav Zibin has posted a few here.

Related Links