Just at the peak of summer, we're happy and proud to present the new and hot
August 2008 (8.08) release of the
Ca3D-Engine Game
Development Kit!
We've spent the time since the prior March 2008 release with incredibly intense
and focused development work, and again we have been able to implement many
great changes and improvements to the Ca3D-Engine:
While the
user experience has much been enhanced, the true
focus of this release is clearly on the interesting new features for
game developers. Examples include the
new powerful
tools in the map editor
CaWE, the new
Sound
System, and the much enhanced support for
2D and 3D GUI
scripting - see the change log below for more details.
Beginning with this release, we ship separate packages for Windows and Linux
platforms again. This way we can better take into account platform-specific
features as well as gain more flexibility in testing and release cycles.
This release contains the
C++ example source code of the
DeathMatch MOD and all script source code. We're currently preparing
Ca3DE source code licenses with
low-cost options for
students and indies.
We're very grateful to all the wonderful people who helped with testing and
debugging the release candidates, and we're proud that this piece of work is
finally available for public download!
The download is available at the
Ca3DE Download section.
Have fun!
Change Log
World Editor (CaWE)
related
For game developers, the Ca3DE World Editor is the central program for
making new maps for Ca3DE.
- Wrote a new (and much better!) Entity Inspector dialog
that replaces and subsumes the old "Entity Report" and "Object Properties"
dialogs.
The Entity Inspector is a comfortable and powerful scene-graph view of
a map that allows users to browse and edit the properties of entities
(one or multiple at a time) easily. It is explained and documented
in-depth in the CaWE documentation, chapter The
Entity Inspector Dialog.
- Added a new importer for loading VMF files (the
Half-Life 2 map file format) directly into CaWE.
- Added a new Terrain Editing tool for editing the shape
of terrains directly in CaWE! The terrains can be shaped by an array of
powerful subtools with real-time preview in the 2D and 3D views.
- The terrain shaping tools include Raise, Lower,
Flatten, Fill, Ablate, Blur, Sharpen, Noise, and Road.
- Terrains are kept internally with very high 16
BPP (sub-millimeter) precision.
- Terrains can be imported from and exported to high-precision
Terragen and PGM (portable
graymap) file formats or from/to 8 BPP precision image formats
PNG, BMP and
JPG.
- High-quality implementation makes sure that you can continue
edit operations in the 3D view even when getting "behind
mountains".
- The "Road" tool is incredibly clever and useful for making all
kinds of paths with smooth slopes.
-
Real-time preview and direct working
in CaWE's native 2D and 3D map views. The 2D views have
multiple color schemes for encoding height values (grayscales,
rainbow pattern, "gray stairs").
- Documentation about the new Terrain Editing tool is at chapter
The Edit Terrain Tool.
- Introduced the "Command Pattern" (a very important
internal enhancement) for all map operations in CaWE. This implied a
complete rewrite of the Ca3DE Undo/Redo system. For the user, this results
in a more flexible and reliable editor application, and is the prerequisite
for future changes such as simultaneous multi-user online editing.
- Enhanced Morph Tool. The usage of the indispensable
Morph
Tool has been refined and it has fully been integrated into the
new Undo/Redo system.
New Ca3DE Sound System
The
Ca3DE Sound System has been
rewritten from
scratch. Like the graphics system, it is now
highly
portable and can auto-detect and choose among several implementations.
This guarantees that at runtime, the
best available audio
implementation is employed for the current platform and system.
- We provide implementations both for OpenAL as well as
FMOD. The OpenAL implementation is the default now, and is
great for independent developers, as it doesn't imply additional licensing
fees. The FMOD implementation is kept for reference and as an alternative
and fall-back sound system.
- The OpenAL implementation always employs the optimal solution for
actual 2D and 3D sound output on all platforms, e.g. by software rendering,
DirectSound on Windows, ALSA on Linux, native hardware drivers, etc. This
also makes it the best choice for sound output under Windows
Vista.
- Supported file formats include MP3 (.mp3),
Ogg Vorbis (.ogg), Wave (.wav) and
raw audio.
-
Resource management makes sure that limited resources
like samples and hardware channels are automatically shared and reused
whenever possible and appropriate.
- Optional Sound Shaders, the analogue to Material
Shaders for graphics, are available for the convenient description of the
properties of sounds.
- The newly introduced Speaker Entity makes it easy to
place spatial sound sources in maps, including the definition of special
effects like the Doppler effect or cone-shaped sound volumes.
New Main Menu and GUI
System
In a first step, we significantly improved the
Ca3DE GUI
System: The GUI scripts are now
truly native Lua
scripts, the previous mix of Lua fragments and custom window
definitions is finally gone. Even better, the GUI scripts now support Lua
coroutines, that is,
collaborative multi-threading, just like
the map/entity scripts. Moreover, the new type system and Lua-to-C++ binding
code makes it much easier for developers to make new window classes available
to the scripts, who have full control now over the creation, use and deletion
of all GUI windows.
Consequently, as a second step, we wrote the
new Main Menu GUI
on top of the new GUI System features. The Main Menu provides a much better
user experience than before, with menu background music, map preview images and
real-time player model previews.
The Main Menu also demonstrates clearly the most important features of the GUI
System, e.g. its great extensibility and flexibility by scripting with
script code that is lightweight and easy to read, and its
applicability to
2D and 3D (in-game) GUIs.
The new Main Menu GUI entirely replaces the Ca3DE Options dialog from previous
releases. Moreover, we've started work on a GUI editor that makes creating new
GUIs even simpler and more intuitive.
Other important changes
-
Enhanced the Radiosity lighting computations for
higher quality lighting results that are richer in contrast. See
this
news post for more details.
- Enhanced the Type System. The Type System is an
important component in scripting support, and is available now for both
entities (map scripts) and windows (GUI scripts). Game
developers can now easily extend the class hierarchies,
inclusive automatic binding to the scripting language (including in turn
script class inheritance) thanks to the TypeSys.
- Moving light sources are interpolated now, which eliminates flickering
shadows.
- Improved the fault handling and tolerance in the Network
subsystem.
- Memory consumption reduction code that significantly reduces memory
requirements and improves performance on systems with 1 GB RAM or less has
been implemented.
- New math class templates cf::math::PlueckerT<T> and
cf::math::RotationT<T> were introduced for advanced computations
especially wrt. collision detection and model placement.
Changes already begun for the next
release
- Support for vegetation (tree, bushes and similar
plants), especially for the TechDemo island.
- A GUI editor for making GUIs even easier.
- Support for the COLLADA model file format.
- Better support for models in general.