Game Development Reference
BioWare keeps putting out AAA titles and recognizes that great tools produce great
games. In addition to their own titles, the technology behind those games is also
reusable enough that third-party companies have licensed it to produce some
other exceptional games. BioWare is leading the way in role-playing games and has
one of the most respected dedicated tools teams.
For more information, please visit http://www.bioware.com.
Case Study: Artificial Studios
As a game studio that also markets its own middleware products, Artificial Studios
is dedicated to advancing the state of professional game development solutions.
They have a flagship product titled Reality Engine, which is a total solution for games
using next-generation graphics, dynamic physics, and high-performance graphics.
The Reality Engine SDK also provides a next-generation toolset titled Reality
Builder and is powered by C#.NET technology. The engine itself is developed in
unmanaged C++, but Reality Builder has a harness that displays its scenes using
the Reality Engine within the editor as a WYSIWYG display.
Shown in Figure 3.4 is the main interface for Reality Builder, where entities can be
selected and transformed, as well as a property grid control on the right side that
allows easy access to the properties of the currently selected entity. You can also see
another dialog being displayed that shows the assets available to the world designer.
Another nice accessibility feature is a menu at the top which contains some quick
launch buttons and edit fields for commonly used operations or properties. This
is a very handy feature for designers, and can often improve workflow to some
extent by reducing the number of clicks required to perform common operations.
Visual cues are another feature of graphical tools that make them easier to use.
Notice the barrel in Figure 3.4; there is a selection bounding box around the enti-
ty, and there are widgets to adjust the X, Y, and Z position of the selected entity.
The same functionality could have been implemented using a numeric input field,
but doing so would make the interface less intuitive to the designers.
An excellent feature that is seen in most cutting-edge graphical tools is in-game
rendering, where the tool displays the world as it would look in-game. This doesn't
necessarily mean that the game itself is running within the tool but merely that the ren-
dering subsystem is attached to the tool's viewport to render the world appropriately.