|
First a confession: Although I've worked with a number of 2D
development tools (like Director and Authorware) and have used
a number of scripting languages (like Lingo and Lisp) I never
had the time to learn a true programming language like C or
C++. This has rarely been an obstacle, and the few times it
was I recruited the assistance of a "real" programmer
to get the job done. Several months ago I was tasked to produce
a 3D simulator and realized that I would not be able to create
it with my usual quiver of tools. A quick look at the 3D simulation
and game engines on the market made me realize that nearly all
of them require a heavy understanding of C++. Faced with the
option of either hiring a full time programmer, or (cough) learning
C++ myself (cough), I decided what I needed was a development
system that would allow me to create the application myself
without having to crack open a "how to" book on C++.
While
searching for this tool, I found that I wasn't alone. Game
developer forums all over the internet are full of people
either using or looking for such a tool: from aspiring indie
game developers, to artists and designers, we all want pretty
much the same thing.
What
I found ran the gamut: from complete development environments
intended for large corporations to tools clearly intended
for the indie game developer. Which tool is "best"
is not an easy question to answer, and the one you choose
will be largely driven by your application, resources and
budget. This article is the first in a series that will reveal
what I learned during my search. Although your needs may differ
from mine, I hope this information will help you decide which
tool to "try first".
Deep
Creator 2.2
Right Hemisphere (
http://www.righthemisphere.com/ ) markets “Deep
Creator” as a true What You See Is What You Get (WYSIWYG)
3D editor capable of producing "real-time, interactive,
3D scenes and 3D games". That statement, as well as most
things about this product, are greatly understated. Deep Creator
was originally known as "Cosmos Creator" until its
development and marketing were taken over by Right Hemisphere.
Like many of the other tools I tried of this type, Deep Creator
(DC) is built around Microsoft's DirectX 9 technology. This
is a deceptively powerful tool, easy enough for me to create
a simple stand alone interactive scene in minutes (without
ever having to consult the documentation) yet powerful enough
for almost any interactive content you may need. I was immediately
impressed.
GUI
and interface
Deep Creator's user interface consists of a main screen with
what, at first glance, seems like a maze of icons on all four
sides. Most of the icon symbology is fairly standard for 3D
applications, but others I thought were cryptic and hard to
read. I ran DC at a resolution of 1280x1024 on a 17"
screen and it felt "cramped". At first I found the
huge array of icons intimidating, but after a while I got
used to it and moved along without any real problems. All
the icons are in "trays" and the windows are all
reconfigurable, so I could change the entire GUI if I really
wanted to.
3D
modeling and scene creation
Deep Creator's 3D modeling features are extensive. Besides
having a long list of basic primitives (like spheres, cubes,
planes, etc), it has some surprisingly unique primitives (like
springs, rounded cylinders, gears, spiral stairs, etc.). Some
of these are of questionable usefulness (like the "teapot"),
but some I thought were very helpful. One thing I would have
liked to see was a "half-dome" and "sky-box"
for outdoor scenes. These are easy enough to create, but would
have been a bit more useful than some that are already there.
Primitives
are only the beginning of the tools available, and DC's editing
tools are equally complete. A full range of snap settings,
polygonal, vertex and other tools round out the modeling toolbox.
I found DC's model creation tools to be nearly on par with
many full 3D modeling applications I've used. Where DC differs
from your typical 3D modeler is that it uses "alteration
settings" to modify objects. Using these alteration settings
an object can be interactively manipulated or modified in
dozens of different ways. Just as easily as an alteration
is added, it can also be modified, removed, or even more importantly,
animated and made interactive. What I found especially powerful
was that many of these settings and effects can be changed
interactively while the project is playing. This is a very
powerful tool that, once mastered, offers huge potential.
Importing
3D models and animations
Importing models into a game engine can sometimes be challenging.
Fortunately, this was not my experience with Deep Creator.
DC comes with built-in support for 3DS Max and Maya native
files. So if you use either of these applications, importing
your object and animation data into DC can be as simple as
opening a file. DC also supports many other formats (including
3D Studio .3ds, Wavefront .obj, Lightwave .lwo, DirectX .x
and many others). This comes as no surprise because Right
Hemisphere is also the company behind "Deep Explorer"
a 3D/2D file translation application. While using DC I was
able to import both Max (.max) and Maya (.mb) files without
any problems. I also tried static models in .3ds and .obj
format and an animated .x file. Everything worked as it should.
Textures
and shaders
Deep Creator also includes a good assortment of preset materials,
textures and DirectX shaders. There are also editors for textures,
mapping and .fx shaders so more can be created without leaving
the program.
One
feature I found in DC took me by surprise was how it handled
bump and normal maps. My work flow with other engines was
to first create a bump map, then convert to a normal map and
then finally import it. In DC, I later learned, all these
steps are done automatically. Any gray scale bump map brought
in automatically converts to a normal map. That alone saved
me a couple minutes per texture. DC's procedural texture editor
and UV map editor are equally useful.
Animation,
physics, particles and effects
Deep Creator supports skeletal animation (bones), path animation,
mechanical and some basic physics (gravity and current). I
experimented with DC's physics engine by creating a number
of simple simulations: a car, a boat and a snowboarding simulator.
The process was very straightforward: create the model, apply
the physics through pull-down menus in the “animation”
screen and you're done. Often my first attempt resulted in
some unexpected results (like a boat that immediately flew
off the screen), but after looking at some sample files and
playing with the various settings, I soon got the effect I
was looking for. Although it includes basic support for bones
and character animation, it doesn't import motion capture
data, something that might be important for some projects.
DC
includes basic particles, projectiles and other effects. I
would not call it's animation and built in effects extensive,
but for the target market Right Hemisphere is now focusing
on (training and simulation) the tools that are currently
included are probably sufficient.
User
interactivity and extensions
User interactivity and logic can be created without programming
by setting various user triggers in the “animations”
settings. Again, the process is straightforward, create a
model, animate it and select what will trigger it. This level
of intelligence may be sufficient for some projects like an
architectural walk-through and simple games or simulators,
but many applications will require more control. In order
for the developer to tap into more of DC's power, LISP and
C++ are supported. I haven't seen LISP in the game world before,
but have seen it used as a scripting language in some CAD
applications ( AutoCAD ). If your needs require it, you can
also access the DC API through C++ and documentation for this
is included in the help files.
What
DC currently lacks is joystick/gamepad support and artificial
intelligence (AI). A sample joystick.dll with source code
is available on their website, but doesn't include any documentation.
At present, if you want AI in Deep Creator you'll have to
create it on your own.
Final
delivery
When the project application is completed there are a number
of delivery options:
- the entire application can be saved into a single .exe file,
- a compiled DC project file can be saved and played with
an external player, or
- that same project file can be played through the Internet
using DC's web plug-in.
DC
project files can be very small. The size is largely effected
by the amount of bitmaps and textures used, even still, I
was surprised to learn that fairly complex projects compiled
to files much less than 1 mb. When I tested a few sample projects
and saved them to a stand-alone .exe files, the first thing
I noticed was that my small projects grew by 5mb, or roughly
the size of the DC runtime player. Load times of larger projects
can be managed by breaking the project into smaller pieces,
saving each as a separate project file and calling them from
the main application. Overall, the process of creating the
final deliverables was straightforward and didn't require
an external compiler.
When
the user clicks the final application's icon for the first
time, the Right Hemisphere logo and status bar appear as it
de-compresses temporary files to disk. I would have preferred
to have a bit more flexibility in how this is displayed, including
an option to turn off or customize both the logo and status
bar, but currently this is not supported.
Documentation
and tutorials
The documentation that comes with DC is limited to the help
files, tutorials, and a decent assortment of example projects.
For the simplest of projects, this might be enough, but in
order to really understand the inner workings of DC and produce
a program of real substance a complete, printed manual would
be helpful. Unfortunately, this lack of printed documentation
seems to be the norm for products of this type, and because
of that I'd rate DC's documentation as average.
Support
After sales support for DC comes in the form of email and
a support forum. When I first started using DC I went to their
forum and got help within just a few hours. Not only did I
get quick answers, but often a sample file or two to show
me how it is done. The Deep Creator community may be small,
but it appears to be very active and helpful. Overall, I'd
rate their support as excellent.
Versions
and pricing
Deep Creator is currently shipping version 2.2. Pricing is
based on intended use and scope of project. The “Full”
version is intended for commercial development, has no restrictions,
includes network support and sells for $1,995.00. There is
a “Home” version for $249.00 and a “Student”
version for $50.00. Both are restricted to creating project
files no larger than 10 MB, completed projects bear a watermark
and are not intended for commercial production. There are
no royalty fees associated with distributing titles created
with the commercial version.
Conclusions
In my evaluation of Deep Creator I found it to be a very complete
3D modeling and animation program in it's own right, and as
close to a non-programming solution to interactive 3D development
as one is likely to find. I think joystick support, AI, a
more robust physics engine, a printed manual and removing
the logo from deliverables would make it even better. It's
likely that many projects created in DC will need at least
some LISP programming, and if you want to create a -real-
game, sooner or later you'll need to access the API through
C++. But for the aspiring indie developer or anyone else wanting
to delve into interactive 3D without programing, Deep Creator
is certainly worth a look.
About
the author
Paul M. Unterweiser is an independent multimedia and interactive
developer with nearly 20 years experience creating custom
applications for business communications and training. His
current projects include a number of 3D training simulators
as well as contributing to several open source projects.
His website: http://www.pmudesign.com/
Copyright
© 2006 Paul M. Unterweiser
|