Tales of the Rampant Coyote
Adventures in Indie Gaming!


(  RSS Feed! | Games! | Forums! )

Monday, September 17, 2007
 
The Three Stages of Development Tool Acceptance
In my career, I have had to use several different game engines, software development tools, programming languages, and APIs. Sometimes they were forced upon me by someone up the chain who was convinced by some marketer that this tool would be a silver bullet that would shoot all our development woes in the head. More often than not, said development woes were replaced by even worse ones.

I've noticed that if the tool is any good at all, people go through three phases as they come to grips with the system. I've gone through this with Torque, with QuArK, with Blender, with Python, with .NET, with our in-house game engines with my employers, and I'm anticipating going through it with Microsoft's new Silverlight. If you find yourself working with a new tool, new programming language, or whatever, it may help you to recognize what phase you are in, to anticipate progression to the third stage, and to actively try to progress as quickly as possible to stage three.

Stage 1: The Honeymoon
The tool is wonderful. When you use it the way the tutorials or instruction recommends you use it, it is just freaking amazing. Everything comes together so quickly. It's like the angels themselves delivered the tool to your desktop. You marvel at the features, and you can easily imagine a new era of productivity. The tool just makes so many things so much easier.

Stage 2: Betrayal
Sooner or later, however, you discover the limitations of the package. Sure, it does all of these things wonderfully well... but when you start departing from the tried-and-true path of the step-by-step tutorials, you find that doing some things which you consider basic or even trivial in your previous way of doing things is difficult or downright impossible. A feeling of betrayal sets in, and you start wondering if its too late to get your money back. You wonder if its possible to function within these horrendous limitations.

Unfortunately, there are some tools I've worked with in the past where I was unable to ever get past this stage. Some of which cost my company a LOT of money, I might add.

Stage 3: Acceptance
Eventually, you learn work-arounds or how to fix the problems of the tool. Maybe there are alternate means of accomplishing the same objectives that aren't as bad as you thought. Maybe you find that you aren't so dependent upon a missing feature as you thought. Or maybe you end up bypassing the limitation of the tool entirely with a supplemental system of your own. Eventually, if the tool is a good one, you can adapt and change to take the best advantage of the tool. You come to accept its limitations and work around them, and become as productive as you can.

Labels:



Did you enjoy this post? Feel free to share it: del.icio.us | Digg it | Furl | reddit | Yahoo MyWeb

Comments:
I have an interesting story realteed to this. I was at my old job so long (7 years) that I had built up a massive amount of workarounds like you are talking about in stage 3 that I had gotten quite used to always finding a way to circumvent whatever systems were put in place. When I started my new job in May, I entered a group that was deep into stage 2. IT had promised this great, fantastic, wonderful tool that was not so wonderful because it is a help desk ticket system shoehorned into a web design process. So, on my first week, I just skipped straight to stage 3 and built a set of workaround tools. It's strange to think that I have become a walking skunkworks project. Hopefully the studio manager at my old job can eventually get rid of the duct tape I left for her. I wonder how this will play when I eventually work for a game company.
Scott
 
I experienced this a bit working with Torque Game Builder 1.5. Following the tutorials is a breeze, but once I started going my own way with it, I was discovering lot's of little things here and there that seemed like major road blocks to me.

Perfect example- after importing an art asset, upon attempting to re-import an updated version of it with the same file name, the import simply broke. No new file coming in. Even deleting the original didn't work. I'm just not allowed to import a file of the same name to that project ever again!

Of course this wasn't a problem in the tutorial as they didn't even require you import art on your own.
 
This posts timing is funny, and so is eric carl's comment. I just went through this with TGB 1.5 this weekend and just now got my game back up and working. I did find an impassable error, but found a way to fake past. It had to do with the collision layers bleeding into each other? Anyway, not a big deal, it just took hours to figure that out. :-)
 
I have passed from the honeymoon stage with TGB into stage 2 myself. It's taken me a while since I've not been using it as a primary development platform.

There was one particular tool that I used at one company that... well, let's just say I don't think anybody ever got to stage 3, and I'm not sure it was possible. It was an extremely expensive tool, laden with bugs, and extremely limited outside it's SPECTACULAR demo. The whole thing was designed to wow managers and executives into thinking that all of their business software needs could be generated in six weeks by a team of non-programmers.

Then, when they learned that anything beyond creating a trivial front-end to the database was required, AFTER having shelled out the big bucks, they learned the shocking truth - the whole package was impenetrable and practically useless.

Gotta love those silver bullets!
 
I was thinking about TGB as I read this as well. The only thing it seems suitable for (out of the box) is Breakout and Asteroids clones. Anytime you apply a constant force like gravity, all your objects start jittering on the bottom of the screen.

With some effort, you can script around it. But son of a bitch, I thought it was better at those types of things when reading the sales material.
 
Yeah, the latest version of TGB shows some real promise, but it's also got some real problems from what I've seen and heard. It's kinda bad when I find myself going back to 1.1.3 in order to have more stable features.
 
Post a Comment

Links to this post:

Create a Link



<< Home

Powered by Blogger