The blog was started in hindsight…by several months!

If you’re reading this, then you or someone you know has a dozen ideas for apps.  We are some of those people.  A family 0f 6 with kids ranging from Pre-K through High School and every single one of them playing video games and most of them coming up with ideas of their own for new video games we all decided to make the move.  Our second oldest, Isaac had been saying for years he wanted to be a video game programmer when he grows up, so we already had 1 potential developer.

We started reviewing technologies starting with native coding for each platform and quickly dismissed that option as one has to completely recode in a different language for each platform for example Apple mobile platforms are natively coded in ObjC, Android platforms are coded in Java, Windows mobile are coded in .Net.  This narrowed our options down to HTML5 pretty easily as it can be coded in 1 set of languages (Javascript, CSS & HTML), and recompiled for each platform from the same code base, “code once, run everywhere”.

Isaac, now 8 years old, had been programming on a few platforms for almost 1 year by this time.  Starting out with the drag and drop Mindstorm, then moving onto C for robotics.  Having written several programs in C for his mindstorm robots he had envisioned that games would be similar to his 15-50 line programs that give robots pretty simple instructions and that his game would take a couple of evenings or a week to complete, wrong!

Having decided on HTML5, we now needed our development tools.  The obvious choice was Eclipse with some plugins so I started messing around with those and ended up writing a tic tac toe program 4 different times across 4 different development tools.  For a short while I was settled on MoSync, but after realizing that my simple tic tac toe program was still several hundred lines of code that I should give some of the canvas based programs a try.  GameSalad, Construct 2, ImpactJS and a few online versions that might be suitable for building a 1 button game, were my test bed.  Building a nearly identical game in each one, platform with 1 guy and 1 enemy eliminated all of the online versions and left me with the 3 client based versions.  GameSalad really seems to offer the most breadth and depth but at a very large cost for what really amounts to a hyper-hobby.  ImpactJS has a lot to offer for development but at the time was severely lacking target platforms.  Construct 2 has a decent amount of flexibility inside it, you are extremely limited by the restrictive coding environment however you are able to hand code javascript files to be included as a way around their event based coding environment.  As with some of the other canvas based IDE’s, you export your game to HTML5 and have the option of compiling or packaging it manually with eclipse plugins or using a cloud based packager such as CocoonJS.  After spending about 2 days compiling for android manually and about 30 minutes using CocoonJS, we had our tools for the full SDLC.

So far we are at about 1 week of intense research, and when I say we, I really mean me.  “Are we ready to start?” asks Isaac.  I’m ready to sleep around this time but work must go on.  Having zero experience with any type of game building I expected to have a large learning curve so I dove in head first, building several quick and sloppy games of different styles including a platform, flappy bird and space shooter (which didn’t really shoot but it flew).  Seeing that a platform style game was the easiest concept to grasp I let Isaac start on his game.  I showed him other platform games to explain what was meant by the term “platform” and had him jump in and start building a 1 screen game.

One of the huge benefits of Construct 2 beyond the visual canvas manipulation is the behaviors that can be added to an object.  One can build an object and apply the Solid behavior to it in just a few minutes, then position it on the canvas where they want it to be in the game and you instantly have a platform that your player can stand on.  Isaac grasped the platform concept quickly and within 1 week of work he was building logic and had a player jumping and moving from 1 platform to another.

I on the other hand was falling behind Isaac’s knowledge so I had to catch up if I wanted to support his efforts.  I chose the flappy bird style game and crunched out Bumbling Bee in about 1 week.  Impressed with myself for an hour or two, I found myself humbled again when I started the publishing phase of the game.