This post is a table of contents of sorts for the recently completed series documenting the creation of a simple game (web application) for my daughter. Although the game is quite simple, the application itself covers quite a bit. There are a ton of tutorials on the internet about the various individual pieces I use, but very few illustrating putting them all together to create a complete app.

In this tutorial, we cover:

Setting up a NodeJS server, that is able to serve both static and dynamic content using express. By the end of this part we are successfully hosting a cocos2D application.

This part covers deploying your Node application into the cloud, using Heroku’s completely free tier. This part is optional, you can run your application anywhere you want so long as Node is supported.

This part is the heart of the application itself. It illustrates how to upload and serve data from a Node server. The upload portion is managed using the YUI framework from Yahoo. This is how you could make a more traditional web application using JavaScript and illustrates.

This part creates the actual “game” if you can call it that. It illustrates creating a simple cocos2D HTML game that interacts with the NodeJS server side.

Losing all your data every time Node restarts or Heroku feels like erasing them gets old quick, so I added a database to the mix. In this case I used the CouchDB NoSQL database, hosted on IrisCouch using the Nano library.

Part 6 – Phonegap?

Ok, this part is actually TBD. I am in the process of porting to PhoneGap, to bundle this application as a native phone application. Will update here if it was successful with another tutorial post

The Results

You can see the application running here.

It is pretty simple over all. Choose a pair of images using the dropdowns at the top. Then you can click to cycle through the various images. Additionally, you can click the settings button, which will bring you to the settings app we created in Part 3. Here you can upload new images and manage existing one. Warning, anyone can upload images, so I take no responsibility for what they might contain! Anyone can also delete images at any times, so if it is empty or your images disappear, this is probably why.

Finally, I have pushed the complete source tree up to GitHub, which is available here.

General