Game Development Reference
In-Depth Information
6
Real-Time Tool Communication
Alan Kimball
6.1 Introduction
When developing a title, game engineers have two major goals. The first is to write a
fast, stable game engine. The other goal is to write tools that are highly usable and
accessible to content creators. These two goals are often at odds with one another.
Highly optimized game code often has significantly different development needs
than an extremely customizable code. When developing a game, it is important for
the content creators to have as much freedom as possible, but after the game ships,
performance and robustness are much more important.
To balance the need for a highly optimized runtime and a robust feedback loop,
our team realized that our tool and engine had to be separate, but they needed
to communicate very closely. Whenever a tool changed an asset, it was important
for the engine copy to be updated in real time. This new requirement for real-
time communication between the tools and the engine can add significant overhead
to the development of tools. For small, special-purpose tools, adding in real-time
communication functionality may increase the development time to an unreasonable
level. Instead, building a real-time communication framework on which each tool
can be built allows even the smallest change to be updated in real time.
6.2 Integrated Editors
One popular solution to giving immediate feedback to the user is to integrate the
engine and the tool code bases. Unfortunately, during development, an engine
may not be stable enough to be relied on for content creators' needs. Relying on
100% uptime for the engine may lead to unexpected blockages and confusion if
anything goes wrong. Additionally, in some cases, content creators cannot work on
the platform on which their assets will finally reside. It would be quite unwieldy to
require all content for a console or handheld developer to author all of their assets
on the target platform. For these reasons, it is often important to have the tool
chain and game engine on completely separate code bases.
63
Search WWH ::




Custom Search