Category Archives: Mobile Development

Shameless Project Plug

Git hub is where it is at these days and so is the mobile application market place. (or so I hear) I have been working diligently, 5 minutes a day, on a project called Particle. What was going to be a particle engine written in javascript turned into something much more than just a particle engine. It became a beast. A monster. A Javascript engine like all others.

The idea is to create an application framework for mobile application development using Javascript. I would like this project to tie into the all mighty Adobe-Apache Cordova Project, not officially of course, but enough hooks that will be configurable to easily be used with Phonegap.


Particles will allow rapid development and prototyping of canvas based applications. Some of the features are:

  • Error logging through console and stored in the application as a stack allowing displaying of different levels.
  • Handlers that will allow different renders to the canvas. ie: Isometric, 2d, faux 3d, etc.
  • Easy set-up for browser application, or mobile.
  • Configurable resource loading.
  • Application state handling.
  • Dynamic canvas resizing.

Code Repository

All of the code for the application will be stored on Github. Which can be accessed here. If you would like to partake or use the code base feel free to use the fork although I am looking for people to work on the original code base.

Particles Code Repo

Day 4 of development results.

The game thus far has gotten a little more complicated. The graphics are less than ideal but I have spoken to a man that knows graphics so hopefully that will get going soon enough. I worked on porting to Android last night and the whole process took about 2 hours which wasn’t bad. (time includes environment set up).

The problems I am currently facing are the following: the canvas on android is slow. I haven’t hit any issues yet and the game is running at 20 frames per second but I feel like this is going to lag with long lasting games so cleanup will need to be done on some of the objects in the game. The second problem is that I am using Cordova (formerly PhoneGap) which is an excellent product but it is not built for game development so there is a lot of un-necessary overhead which makes me want to do it all again in Java.

There is a demo version located here but it doesn’t include a pretty large list of features.

The linked version is lacking randomly generated map, units unbalanced, specific logic, large list of bug fixes.


I will not be working on the game today but there is a very large list of things to do that will make this game a little more unique. One of which is sound…

Project: Tower Defence – Day 6

Just recently started to work on the mobile application again and this is going to be the sixth day of development. The main focus on this post is what I am planning on adding to the application. So far I have a few extra zombies that will be added to the application and a few new extra turrets that need to be added.
I know what you are thinking and I’ve said it before. I am not a graphic designer but I am the farthest thing from it. In fact I am primarily a server side developer and thus the graphics were whipped up on the fly. I do need to change a few features of the build menu. One of the things that I need to do is move it so it cannot be moved off of the screen.


Project: Tower Defence – Day 5

Unlike the previous posts for this project this one is not a consecutive day since I picked up another side project that has taken a bit of time. It doesn’t help that the Minecraft server that I play on was reset…


Tonight the Tower defence game has gotten a little bit of an overhaul as far as functionality goes. I have finally started up again and implemented build and upgrade menus. These menus are not completed because there are some game features that need to by tied into them but it will come and it will most likely come soon since I am rather excited about the current state of the project.

I know you like images.

Right now you are probably thinking something along the lines of “Caleb, why the heck would make it that ugly.” And my response is something along the lines of “I don’t do graphics very well.” On the bright side each of those tiles displays at a different size once on the actual phone. They are about 50% of their current size on the screen because of the pixel density.

Final notes

I am happy to have written high concept document and a low concept document that covers all of the features of the application. Creation of the application happened rather spur of the moment but I have to many ideas that have been stored in doc files over the years. This game was fully written up about 2 years ago now when I originally wanted to create it for IOS but instead I chose to build it on Android.

Back to writing full documentation… This is the most important thing that you can possibly do. Write out everything and be clear about it for future reference. I had two pages of font 11 type that just went through what happens in game when there is a click event and I am so great-ful that it was part of the design and already thought of prior to implementation.

There are a few things in the game that I would like to change. First and foremost is drawing out the graphics. Things like grass and concrete paths don’t change and thus they can be drawn out once rather than cycled through on each pass of the game. This is my largest fault of lag that causes my SGSII to have CPU spikes around 40%; which isn’t a lot but it is a little more than I would like for a game that is this far into development.

This episode was brought to you by Season 5 of Lost. (I didn’t die of boredom.)

Samsung Galaxy SII Unable to install apk

Tonight I had a little problem that I was able to figure out. I was running into a problem where the application I was working on was unable to sync up to the phone and I received the following error.

[2011-09-07 23:20:22 - name] Failed to install 
name.apk on device 'devicenumber': Unable to open 
sync connection!

[2011-09-07 23:20:22 - name] 
Unable to open sync connection!

[2011-09-07 23:20:22 - name] Launch canceled!

This isn’t the first time that I had run into this problem and the normal solution was to unplug the phone, refresh the project and try again.
This solution did not work. Through trial and error I found that if you unplug your device, go to settings -> applications -> development mode and turn this off and then back on again your problems will go away. It has popped up once or twice through testing but it isn’t that big of a deal. If you have a solution or know why it is doing this please let me know.

Project: Tower Defense – day 4

It is day 3 day 4 of the tower defence game project and thus far there are a few features that I have implemented and a few features that are still outstanding. In the projects current state there is one type of creature and one type of turret. The path that the creeps go down is a single line as there is no path finding programmed into the game yet and in the end I intend for this game to be running on a pre built path.

No forcing of creature’s paths in this game.

While I write this article I am monitoring the games ability to handle speed and I am constantly working on attributes behind each item such as creature speed, and health along with the turrets damage, speed, range, and cost.

I have built in a rather unique way of purchasing turrets but I don’t want to get into that kind of detail in this post so I am going to leave it out.

These images are a few hours old and the application looks a lot different now then it did at this stage of development.