Skip navigation

Category Archives: Life

A few years ago I was working feverishly on project Cat Phone. I ran into a problem I couldn’t figure out and left the the project alone for some time. Since then I have gotten married, purchased a house with my wife, and learned to fly (like real airplanes, I’m a pilot now).

Recently I have been reinvigorated to start messing around with another game programming project. I have a few projects I want to tackle but have to choose one.  I chose to reboot project cat phone for a few reasons:

  1. The game excites me
  2. It is not multiplayer (this significantly cuts down on the difficulty level of creating the game)
  3. I think it has the best chance of success in the market place

When I put the project down years ago I was stopped by a path finding issue where connecting tracks to new tracks was a problem. When discussing the issue with a friend he suggested I simplify the rules of how track could be placed. At the time I brushed the idea off and was determined to solve the more complicated and generic problem. That turned out to be a mistake, it burnt me out and I put the project down.

Now that I am rebooting the project I have chosen to heed my friend’s advice and simplify the track placement rules. To accomplish that, I have chosen to use a hex map instead of natural and free-roaming terrain. This will allow me to simplify the path solving by putting in place a few rules. The biggest simplification gain is rule number 1: roads may only branch once per hex.  This means that complicated intersections can not exist.

I have also chosen to follow a minimum viable product (MVP) strategy for developing the game in its first stage. I have written down a long list of things I would like the game to do that I think will be fun. I then took that list and cut out anything that wasn’t absolutely core to the game. For example, I would like the player to be able to buy upgrades for stations but that’s not a core feature so it was cut from the MVP list.

Now my task is to implement things from the MVP list and nothing else. No feature creep, no art assets (cars will be cubes, resource nodes will be spheres, etc). Once the MVP list has been implemented I will show it to some friends and ask for feedback. Till then, it’s a no-frills affair.

Partner Leaving

So my partner who wrote and maintains the Game Framework that is used to build all the iPhone games we have been making has taken a job at Rock Star.  You might know them from such games as “Grand Theft Auto”, “Max Payne”, and “Red Dead”.  While he was told by his new management that he should try to keep his involvement in the game company he helped build, their legal department put a stop to that idea.  Can’t say I blame them.

Life Changes

My life has also taken a change.  At my day job, I am a project lead on a new piece of software.  And while I still enjoy making games in my spare time, I have very little of it.  I work on average about 60 hours a week, and I just don’t have it in me to program more than 70 or 80 hours a week.  Between that, and trying to have a life that does not involve being glued to one keyboard or another, its very hard to find time to make games in my spare time.


Because of these two realities, I have decided to stop programming against our Game Framework.  It was really cool to build it ourselves and we learned a lot from it.  If you really want to learn game programming, making your own framework is the best way to do it.  But lets get something straight, that is exactly what you will be doing, making a game framework – not making games.  I want to spend what personal programming time I have left on making games.

Thus, I plan to start using Unity 3D, a game .making middleware  At first, I plan to just use the basic version of the main and iPhone packages they offer.  It cost $400 for those and its well worth not spending my time framework programming.  I have 2 games I want to do in it:

  • Tanks Online Reboot
  • Undisclosed Name (Code Name: “CatPhone”)

More on these later.