Dot: Puzzles for smart masses

I have always been interested in games, just for fun, nothing serious. A game is IMHO the most difficult piece of software to write. Think for a second. It needs support for user input devices (mouse, keywords, gamepads, etc.), graphics (2D or 3D), sounds and music, physics, AI, networking when playing with more players and it has to perform really, really fast. That’s not the typical PHP web, is it? Today, I would like to present my first really small and silly game, and probably the last one :) for iOS/Android and the technologies behind it. Hope you like it.

“Dot: Puzzles for smart masses” is a Web-based technologies game, developed using Javascript and embedded into iOS and Android using Apache Cordova.

Technologies used

Let’s review all the projects and technologies used.

ImpactJS

Impact is a JavaScript Game Engine that allows you to develop stunning HTML5 Games for desktop and mobile browsers. It’s not super really well maintained, but it’s really powerful. There are other interesting options such as Phaser.io.

Apache Cordova

Apache Cordova is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript. Combined with a UI framework such as jQuery Mobile or Dojo Mobile or Sencha Touch, this allows a smartphone app to be developed with just HTML, CSS, and JavaScript.

Ionic framework

Ionic is the beautiful, open source front-end SDK for developing hybrid mobile apps with web technologies. As a killer feature, “ionic resources” that generates icons and splash screens for all devices and device sizes with a single command.

PHP

I’m generating the levels automatically using the Symfony Console Component and a backtracking algorithm. In such algorithms, using Value Objects is especially interesting for keeping immutable complex data structures such as trees.

Hope you like it.