[In this technical article, Cinemaware and EA veteran Khawaja -- the creator of the Fork Particle visual effects middleware -- looks at the state of UI and flow for game tools, suggesting practical tips to make your own internal tools and scripts easier to use and succeed with.]

Today,
the creative process in various aspects of game development requires trying out
numerous ideas and multiple iterations to perfect the final product. A fast
iteration process enables better results.

Real-time visual feedback or real
time preview is the key to fast iterations during video content development. This
principle lends to development of software tools with user friendly graphical
user interfaces (UI) and an added level of sophistication.

A
digital artist once said to me, "Half my life was spent watching the
progress bar on my computer monitor." We have come a long way from that
point in time. Now, we need to create a much larger amount of assets for our
games, so efficiency in creating these assets is more critical than ever.

Where the Problem Lies

Growth
in video game production content translates into development of improved tools
to efficiently create and manage content assets. These tools -- both externally licensed ones and those created internally by teams to manage particularly custom tasks -- incorporate data
creation for new technologies and streamline production pipelines.

There
are two developer issues associated with the basic problem. The first issue
emerges because often not enough time is spent on tools during a game project's
pre-production period. It is also frequently assumed that enhancement to the
software tools during the project will be sufficient.

This generally results in
patched tool features and inflexible software architecture that eventually can
only be fixed or improved by performing an overhaul. But due to time
restrictions, an overhaul cannot usually be done for the project the tool was
originally written for.

As
for issue two, an interactive software tool usually requires a powerful engine
under the hood, and friendly UI. It is natural to implement the underlying
engine first because it is the tool's core functionality. It can be sophisticated
and complex, which takes time to put together.

However, the lack of sufficient
time assigned to the user interface design and implementation can compromise
the use of the tool and limit the speed of work. It can also limit the number
of users because of the steep learning curve, and that can be especially
painful during project crunch periods.

In
the final phase, the asset content is integrated so it can be reviewed in the context
of the game for look and feel. A slow asset integration process results in
fewer revisions -- or none -- due to its cumbersome nature, which can obviously
compromise final quality.