We’ve been rather busy for the past two weeks with both developing our third game, and fixing bugs and issues that arose in the previous two games we delivered.
We’re almost done with the third game, and we’ve started the design for the fourth one.

My name is Marco, and I am one of the developers here at Double Duck Studio.

this post is dedicated to share the thought process that we went through while choosing the development technologies that are being used for our current HTML5 mobile games project. Warning: the following part of the post is of a technical nature.

Since all of us are coming from an ActionScript3 and Flash background, and basically no HTML5/Javascript experience, we knew that we had to choose our development tools wisely. Due to the rapid development nature of our current project, we knew that we had to find tools that we could adapt easily to, and would shorten the overall development time.


CreateJS is a collection of JavaScript libraries, that are used for building rich and interactive experiences over the web. the main reason we chose it was because of its major similarities to the Flash/ActionScript3 architecture and tools:

  • DisplayList architecture: very similiar to ActionScript3, base classes are DisplayObject, Bitmap, Shape, BitmapAnimation
  • Tweening using it’s TweenJS library
In addition, CreateJS provides comprehensive solutions to common HTML5 development scenarions:
  • Object Management
  • Assets preloading management using PreloadJS
  • HTML5 Sound using SoundJS

Haxe –

Haxe is a multiplatform open-source programming language that can compile to numerous types of programming languages, including JavaScript.

We chose to write our games in Haxe with JavaScript externs, instead of pure JavaScript because of its similarities to ActionScript3, and its many advantages over pure JS code:

  • Strictly typed language: helps you find syntax and runtime errors before running the application, which can be a very frustrating issue in JavaScript
  • Familiar IDE, and much better code completion
  • Haxe is cross-platform and projects can easily be ported to other platforms
  • Real OOP: class inheritance, abstract classes, interfaces
so far, our experience with Haxe has been very positive, and we will surely be using it for future projects (including native platforms such as Android/iOS)

Stay tuned for future posts on HTML5 game development:

  • Sound in HTML5 on mobile devices
  • Saving user data and running HTML5 games offline
  • HTML5 Mobile Performance Optimization

Thanks for visiting!


Leave a Reply