The second
version of Virtools clearly builds upon previous releases, keeping a similar
look while adding a host of new features that greatly improve the final
package. For those new to the product, Virtools is a production environment
(such as Director) designed to allow the rapid creation of 3D-interactive
applications.
It features importers for many popular file formats, an intuitive drag-and-drop
scene manager, and a behavior engine that allows users to assign behaviors
graphically to the different entities in the world. Import your Character
Studio files (other supported formats are discussed later), make them
move by dragging the appro-priate behavior from the palette, and off you
go. No recompiling, no coding: all the actions are performed graphically.
For this reason, Virtools is a great tool for game designers needing to
create working prototypes. In fact, it works so well that it can be used
to create full-blown games of moderate size (no, that does not include
Everquest). Thanks to the web player supplied with the package,
Virtools can create some of the best web-based content around, with top-notch
3D graphics and interaction. It’s rather impressive to see some of the
Virtools-based Doom clones available online.
Version 2.0 offers a wealth of new stuff for Virtools aficionados. To
begin with, the number of behavior building blocks (BBs) has expanded
to a whopping 400.
![]() |
![]() |
![]() |
||
![]() |
||||
![]() |
Tracing through the building blocks (active ones are shown in red) allows users to debug applications done in Virtools. |
That includes
everything from basic transforms or texture assigns, to rich and complex
behaviors such as skin/bones con-trollers and Bézier patch support. Another
highlight of the new features is the way Virtools handles progressive
meshes. You can adjust your triangle count by moving one slider and modifying
it on the fly to guarantee a good frame rate. Another impressive feature
is the portal system that culls away large parts of the geometry to optimize
rendering speed. All these features give Virtools the ability to produce
professional-looking applications.
Should you require additional behaviors, there are several tracks you
can follow. Your first stop should be to investigate purchasing the add-on
Physics Pack (new in version 2 of Virtools), a version of the Havok toolkit
designed to run with Virtools. The Physics Pack adds 30 new BBs, which
implement gravity, friction, and the like in your project. If you don’t
want to spend the extra cash to get more behaviors, Virtools sports a
large fan base, and many community web sites have free downloadable behavior
and composition collections. You can also create new behaviors using the
supplied SDK.
As far as the interface goes, the overall philosophy has remained unchanged
since the previous release: three stacked panes display the scene, behavior
library, and current script. All actions are performed via drag-and-drop,
with no coding required. Still, the interface has several problems that
have remained from previous versions. For one thing, it does not follow
a “standard” Windows design. In addition, the interface’s structure is
counterintuitive: it lacks an undo feature, it does not follow standard
key mappings, and there is a huge amount of information displayed on-screen.
All these issues can make for a long and steep learning curve. An extra
effort could have been made to make this otherwise strong product a bit
more accessible.
Workflow
with Virtools is, despite the flaws of the interface, a breeze. After
importing your content (.3DS, .X, .MP3, .WMA, and Maya files are among
the formats supported) you can begin assigning scripts to the items by
dragging building blocks to the lower pane. Click the play button, and
your composition will run interactively within the environment.
You can even select the renderer of your choice (DirectX 5, DirectX 7,
or software/hardware OpenGL; DirectX 8.1 support is being added with the
immi-nent 2.1 release) and limit your frame rate should you need to do
so. While you are in play mode, the Trace feature shows you which BBs
are activated at any given time, their parameter values, and other information.
You may also set breakpoints, which will pause the execution once it reaches
the marked BB. This way you can avoid losing vital information about its
inner workings when the script is running at full speed. All these debugging
features make working with Virtools very easy.
The documentation is a mixed bag. Virtools comes with a printed manual
that, aside from being slick and well laid out, does a great job of introducing
us to the basic components and terminology.
The 230-page manual covers the program operation and interface as well
as the inner structure of the behavior engine in a fair amount of detail.
It also features two complete tutorials that guide users through the different
features of the sys- tem. Despite offering a strong introduction, however,
the manual is not sufficient to gain real knowledge of the system: I had
to depend on online help files, context- sensitive help, and the like
to learn about specific building blocks and — surprisingly — the SDK.
One of the main strengths of Virtools Dev is the access to the SDK, allowing
users to create specific building blocks. Do you want to create a complex
AI? Then you need to use the SDK. Sadly, the SDK is not even mentioned
in the manual, and the available online documentation is “under construction.”
Several extensive samples are supplied (an AVI player, a Max exporter,
among others), but if you want to go on with the SDK, you are left on
your own.
The Bottom Line
Virtools 2.0 is a great tool with some annoying problems. On the plus
side, it allows you to create great interactive content rapidly with its
intuitive building block system. Being a programmer, I’m more used to
coding, but it’s good to know that there’s something out there worth using
for those of you that don’t know (or like) down-and-dirty coding.
The workflow is very intuitive and, given some time, can produce stunning
results. In fact Microsoft selected Virtools as the first official Prototyping
Tool: you can have a working prototype with final art and gameplay within
weeks, not months, and if the game is good enough for Xbox, you can then
move on to a final working environment (or stay with Virtools should you
wish to do so), while keeping all of the art assets you have created.
This pre-production or production-planning method, greatly encouraged
by Virtools, can be a real advancement from traditional production techniques.
On the minus side, the first hours with the system are rather harsh: the
interface is not intuitive, and the manuals only cover part of the picture.
It’s true that using the manual tutorials can get you up and running fast,
but Virtools needs more and better documentation. I have the sense that
many interesting features are hidden in there somewhere, but the lack
of documentation is preventing me from discovering them. And that’s a
shame.
![]() |
|
![]() |
||
![]() |
||||
![]() |