Don't forget the Tools Devs

posted in achild's Journal
Published October 17, 2012
Advertisement
Wow.

I have been thinking of starting a dev journal here for a few years. Obviously never got around to it. Now I wonder why I waited so long! Wow. I really appreciate all the resources and tools we have to do this now that I'm doing it.

It makes the most sense for my little journal to be about what I actually do, so for now it will focus mostly on tool development. This is my job (though it is not for games) as well as the stage I am at in working on the usual hobby-side-project-dream-game, so it will fit the bill perfectly. With that said, let us address something right quick:

Tools development is hard.

Yes, game development is hard. It requires one to have a handle on many disciplines, even if they primarily focus in one area. But how often do we think about the tool developer? It is no secret that the quality of your tools can make or break the development cycle. It is an engineering challenge in its own rite. The better the tool is designed, the less its user notices it, and the more they can focus on producing content or whatever it is intended to do. Even if one is overly happy with their tool of choice at first and is all gaga about it (is that phrase still legal?), eventually their mind will be on using it - not working around it.

Not only that, but as programmers we tend to be lazy and unfair. We want our tools to read our mind so that a single click and maybe a drag always does what we are thinking. We then want our tools to read our mind again so that a single click and maybe a drag does the completely different thing we are now thinking. If we have to, we'll tell it "no, not that, read my mind again" by attempting a keyboard modifier such as alt or ctrl. If this fails, naturally the tool is "stupid" or "broken" (in other words we probably didn't read the manual).

And then, when we programmers decide we want to tweak some oddball parameter all of a sudden because we are just so clever, the tool that automatically reads our mind must stop and let us very specifically tell it what to do. But it should be very easy to do that.

And don't get me started on how we all are so certain of "how it should look". The feel of a tool actually does make a big difference. From the color scheme to the organization of the UI, the last thing you want is for it to interfere with someone's thought process and creativity. And speaking of UI - the workflow of a tool usually takes many iterations to get right. Even when you get it working "bug-free" after many days or weeks or months (or years!), you may discover there is a far better way. Often, this can't be seen until you've finished the previous iteration and spent a great deal of time with it.

Sounds a lot like game development doesn't it?

Don't forget the tools devs.

One must practically have a degree in both engineering and psychology! Often unnoticed until something is broken, a good tools developer is a very important asset to your team. Be their friend smile.png

This journal

So, that wraps up my first attempt at this, for better or worse. Following entries will probably be a bit random, but they will simply cover details of tools programming. For now, I have in mind to write about various aspects of tools that are tricky to design and tricky to implement, and present one or more possible solutions.

These types of things don't really get talked about often, and perhaps sharing them can help someone else. I hope it will also be beneficial to myself to write these things out, as I usually have much trouble organizing my thoughts.

A screenshot

It just wouldn't be right to start a journal without posting a screenshot of ... you know ... something.
Often I will use the development of this software as a source of journal material.

screenshotbrl.png
Next Entry Freebie - CodeSync
2 likes 5 comments

Comments

mixmaster
Welcome !! I look forward to reading more as I'm working on some tools for my engine right now. Getting another perspective on Tool development is a good thing.
October 17, 2012 01:52 PM
popsoftheyear
Thank you :) I have been following your progress the last few weeks for the same reason.
October 17, 2012 06:23 PM
FLeBlanc
Oh, tool development. How I love and hate thee.

I'm a one man show, so I have to write all my tools myself, and I shamefully must admit to taking a lot of shortcuts. Most of my tools are usability nightmares, and trust me when I say that every time I have to use them I curse the developer quite soundly. But do I fix them or clean them up or make them more usable? Nope.
October 17, 2012 06:44 PM
XXChester
Welcome fellow tool developer! I too love tool development and spend a great deal of time in this realm. I think another extremely important point about tool development is getting someone who wasn't part of the development thus far to try out your tool, their reactions and thoughts will be critical because it will be a fresh set of eyes. With UI design in general, it is very easy to become tunnel visioned because you [i]know[/i] how it should work and will do everything intentional, whereas a user who doesn't [i]know[/i] how it works, will click around and do things you wouldn't think of.

That being said, welcome again and as for the screen shot, is the gesture recognition tool you are building for the Kinnect? Looks sweet, I look forward to hearing more.
October 25, 2012 12:59 PM
popsoftheyear
Alas, it is not a gesture recognition tool. Sorry to disappoint!

It is a 2d skeletal animation tool. Some year or so ago I was looking for one, and couldn't find one that hadn't been abandoned half way through. What looks like gesture recognition is actually animations for a little child's peek-a-boo game heheh.
October 25, 2012 04:47 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement