On Friday the 22nd I intend to officially launch my first product, a casual infinite-runner-style game, as an independent developer. I left my last role in April and have been working towards this point ever since. It’s been a struggle to get here, but not for the reasons you may be used to hearing — that is, it wasn’t due to lack of resources, technical debt, a stack that wasn’t web-scale, and so on, but more because of idea-hopping, unsureness, and just plain old lethargy. I thought that now might be a good time to make a little log of the journey.

When I left my last position, the first task was to figure out what to do next. I started out writing development tools, a hobby I had hoped to turn into a career, but realised early on that too much time was being spent trying to make everything perfect, which isn’t always a feasible approach to take when trying to start a company. Feeling that it would be difficult to kick the habit, a change of strategy, and business idea, was in order.

The next venture was an attempt to break into the social application scene. I applied for a position at a startup incubator, IGNITE at UCC, and though unsuccessful, I was made aware of subsidised business courses that were being run in the local area. While they were beneficial, and I believe they will be a critical element for any potential success, they allowed me to take on a naive way of thinking where I put off doing any actual marketing because the courses were how I spent the time allocated to the “business side” of things. Perhaps more aggressive pushing of the product could have boosted my own motivation and interest in it.

Some months were spent developing the first release of the social app, but poor time management, procrastination, and a general lack of faith in the success of the application kept this date being pushed out. By the time the first version had been completed, I realised that the time and energy spent on it, compared to the actual functionality of the application, just didn’t seem to add up.

A large part of this seemed to stem from the Android tool suite that the app was being developed with. While the environment as a whole is very polished, and the power of Android Studio can help you knit code together like nobody’s business, the integration of various library services left a lot to be desired. For instance, several approaches to updating a map over a network were attempted, with message buses, UI threads, tasks, background services, foreground services, network sockets, and event loops were all wrangled into various forms in an effort to produce a conforming app. Race conditions abound. More experience may have helped the situation, but that was not an affordable luxury.

Around November, I was losing the motivation to even write code to do with the social app, so I took a weekend off to do something fun, something that I hadn’t built for a long time — a game. I came up with a simple puzzler and implemented a playable level in a weekend using JavaScript. The acceleration afforded by skipping type signatures and not attempting to write perfect code really opened my eyes to how fast progress can be made. Features were being added to the game in hours instead of days.

About this time I started managing my time better and was scheduling my days in advance in a little diary. The game was completed on the side in about three weeks, while the focus was on the social app. However, finally running it on mobile seemed to bring a lot of display issues to the fore, because all of the scaling was done manually. Plus, the code wasn’t really written in a way that facilitated easy fixes, due to the “move fast and break things” nature of the development. I chalked it up as a learning experience and vowed to use a game library from that point on.

Since that time, I’ve been building a new game in Phaser and PhoneGap, and what started out as a basic red-on-black line-tracing game has evolved into a subjectively pretty game. It was eventually migrated to Cocoon.io to overcome some of the performance issues with PhoneGap and to take advantage of the social plugins. So far it’s been a very painless transition with nothing but benefits, though the cost of the service and dependence on its plugins may cause a sting in future.

This week has been hectic with attempts to get everything prepared for Friday’s launch. Finishing touches have been added to the game, including some work based on feedback from early adopters. There is also a poll being run between Reddit and Facebook to figure out a company name (talk about last-minute!) and a short video is being assembled to show off the core gameplay.

That about brings me up to date. Check back here on Friday when you’re logging out from work, I’ll be posting a link to The Game so you can check it out on your way home. Have fun!

UPDATE: My first product, TRACE: Duplex, is now available on the App Store and Google Play! Check out the trailer on YouTube, and visit the Facebook page for more information.