This last week I missed my minimum goal of posting once a week on Sunday because my entire family was out of commission with the flu. Being bed ridden gave me some time to sit and think about what I would write. The thing that has become very clear to me about my own character is that I am very easily distracted by technology. In the last week alone I have wanted to do all of the following:
- Article on Steering Behaviors
- Finish build script and test build system times against each other
- Read up on iPod development
- Write an optimized fluid simulation function
- Do a study based on this blog of controller lag
- SPU optimization
- Cross platform compiling
There isn’t anything “wrong” with all the things that I want to write and learn about and they all slowly work towards making a game. The issue is that I feel that I am to distracted by short term interest projects rather than focusing in on long term goals for my blog and more importantly, for the game making tools and advice that I ultimately want my blog to force me to write. I’m spending 90% of my time writing, 9% thinking of what I could write on and 1% doing any real coding. With only an hour a week, that is only a couple of minutes of code!
How do I clear this up? Based on this great article that took four years to build an engine, I’m going to try and set some realistic goals and deliverables to drive me to completing game project work rather than getting distracted by technical “candy” along the way. The goal of this site for me is to be able to make a game from top to bottom, not to push the boundaries of engineering. It also isn’t to write my own engine and learn. I want to make a game as efficiently as possible in terms of time to delivery.
So what are the high level goals?
- Step 1: Get an open source 2d game engine posted as fast as possible with a small example prototype
- Step 2: Prototype a few games concepts, based on this plan a full game
- Step 3: Build a full game
Since I don’t believe in planning more than a few months out, I’m going to only break down Step 1 into more specific goals which I plan on having as my blog posts in the weeks to come.
- Add in Steering library code and expose engine to lua (Nov 16-23rd)
- Clean up code for posting, read through various licenses to determine restrictions on posting (Nov 30th-Dec 7th)
- Probably my only chance before the new year to post engine – Stretch goal to have 0.1 version out at this time (Dec 14th)
- Creating an interesting demo of the engine technology (Christmas/January)
- Post first version of engine that may be “usable” (February 1st)
- Evaluate if Step 1 has been a success (Summer 09)
So what happens if I have stray thoughts in the next three months? Either I shut myself up and focus on the above, or I spend extra time to put ideas down that excite me. I have set some aggressive goals for myself, lets see what I can do!
A sad example of a technical distraction is that I spent about a 1/2 hour trying to get the board and app classes out of the Sexy namespace and into my own. At the end of the day, does it really matter? Path of least resistance is to keep it “Sexy”. Revert.