Page 1 of 1

Ca3DE 8.03 (March 2008) released!

Posted: 2008-02-29, 12:13
by Carsten
Dear folks,
the latest Ca3DE 8.03 (March 2008) version has just been released! :wohow:

An incredible amount of development work has been spent since the last major release in July 2007, adding all the features listed below. They include support for map scripting, better collision detection, many enhancements to the Ca3DE World Editor CaWE, much improved in-game console handling, and much more.

I'm very grateful to all the wonderful people who helped with testing and debugging the release candidates that have irregularly been published since December, and I'm proud that this piece of work is finally available for public download.

The download is available at the Ca3DE Download section.
As always, have fun with the new release, and if you find any problems with it, please let me know! :)

The changelog for this release is posted immediately below. It's only a high-level overview of all the changes since last July, but it's still quite big.


The changes since the previous release (7.07, July 2007) broadly fall into three categories:
  1. the introduction of Map Scripting combined with a new Clip System for collision detection,
  2. enhancements to the Ca3DE World Editor "CaWE",
  3. everything else.

Map Scripting and the ClipSys

The introduction of map scripting went hand in hand with a thorough revision of the Ca3DE clip and collision detection code, as well as many accompanying code design enhancements.
  • Finally separated the clip world from the render world: Before, collision detection was performed as a by-product of the render system. Now there is a clear separation of the two concepts that exist in parallel (the clip and render worlds).
  • Exemplary reimplemented the "ladder" game code in terms of the new clip system.
  • Created explicit collision models for all static detail models in this release as demonstrated in the second part of the tutorial at and updated the map files accordingly.
  • Added a fully scripted two-part slide door to the TechDemo map for demonstration.
  • Introduced the new "mover" (EntFuncMoverT), "trigger" (EntTriggerT) and "doors" (EntFuncDoorT) entity classes that use and demonstrate further aspects of both the new scripting and clip systems. Plenty of door instances have been placed into the TechDemo map.
  • Improved the "connection" between 3D world GUI scripts and map-scripts, so that GUI scripts can access and manipulate entities easily. This is also demonstrated in the TechDemo map with the light source near the "emergency exit".
  • Map scripting provides coroutine management, so that functions like wait(), waitFrame() and thread() are possible. See for more details.

Enhancements to CaWE

Thanks to the efforts of Jörn Koch, CaWE has undergone many improvements:
  • The two old dialogs "Patch Surface" and "Edit Face Props" were merged into one: the "Surface Properties" dialog, which included a thorough conceptual revision and rewrite almost from scratch. See ... tfaceprops for the result.
  • Completed and augmented documentation about all tools, dialogs and menu items, as well as several step-by-step flash tutorials about crucial topics.
  • Much simplified the setup and configuration dialog. CaWE essentially works "out of the box" now, no complicated and error-prone initial setup required any more.
  • Game (MOD) configurations now work automatically, too.
  • 3D cameras are now displayed in the 2D views even when the Camera tool is not active. This makes precise 3D camera movement and orientation more intuitive.
  • Maps can now be compiled from within CaWE with custom options to the compile tools.
  • Several improvements to the 2D and 3D rendering of objects (e.g. bounds texts stay within view, mouse cursor depicts a small "+" when cloning objects, Bezier patches, etc.)
  • The Material Browser dialog has been cleaned up and finally shows more essential material attributes.
  • The number of Bezier patch subdivisions can now be controlled explicitly, and for new Bezier patches, "endcaps" can optionally be created with them.
  • Game definition files that describe all entity classes of a MOD are now Lua scripts.
  • Added a first, experimental incarnation of the new "Entity Inspector" dialog, which is going to replace the old "Object Properties" and "Entity Report" dialogs in the next release. Documentation is already available here.

Other Improvements

All other improvements do not fall into one of the two broad categories above, but are not the less important:
  • Upgraded to wxWidgets 2.8 (latest revision from SVN branch).
  • Revised the in-game command console once more: The "convars" and "confuncs" of the C++ code are now much better integrated into the underlying Lua state. This enables the full power of Lua at the Ca3DE in-game console, makes processing a config.lua file (with e.g. user default settings) trivial, includes a powerful TAB command-line completion feature, etc. See ... 2467#p2467 for more details.
  • Introduced many new console variables and function in the sequence, type list() for a full list and see for an example.
  • CaLight can now create lightmaps for entities other than worldspawn.
  • Cleanup of old client and server code. The server ("remote") console feature has been entirely rewritten. It's now based on connection-less network packets. The client has been adapted accordingly as well, it now also acts as a client for connection-less server communications! Both the client and server side got the appropriate password handling facilities added.
  • The game (MOD) code now accesses the Ca3D-Engine world representation via the proper C++ interface "GameWorldI", an abstract base class. This clarifies the code design significantly.
  • Added support for the new Microsoft Visual C++ 9 (2008) compiler.
  • Server-controlled NPC (non-player character) entities now get their graphics position interpolated for stutter-free movement.
  • Addressed and fixed a huge number of other issues and bugs.

Re: Ca3DE 8.03 (March 2008) released!

Posted: 2008-02-29, 17:14
by Carsten
And here is the related official news announcement:

Code: Select all

Ca3D-Engine: New release available!  
March 2008                            

  Dear Sirs,

  a new version of the Ca3D-Engine has just been released at the project
  website at The Ca3D-Engine is a modern game
  engine and game development kit with 3D real-time graphics and multi-
  player network support for Windows and Linux.

  The latest enhancements include support for map scripting (based on
  the Lua programming language), new clipping and collision detection
  code, many enhancements to the Ca3DE World Editor "CaWE", much
  improved in-game console handling and configuration, and many other

  Full details about the new release are available at

  Contents of this letter:

  1. What is the Ca3D-Engine?  (A brief introduction.)
  2. New features in this release
  3. Further information and contact

1. What is the Ca3D-Engine?

  Ca3DE is an all-purpose, modern 3D graphics engine and game
  development kit.

  It can be used to create a variety of 3D applications, including
  games, simulations, and training and architectural software. The
  development kit is freely available, and the DeathMatch MOD code is

  Its main features include

    + high-quality, real-time 3D graphics,
    + a very powerful and flexible material system,
    + cross-platform and cross-compiler portability,
    + multi-player network support,
    + physically correct lighting (radiosity based),
    + dynamic per-pixel lighting and shadows,
    + 3D sound effects, skeleton based model rendering,
    + very large terrain rendering,
    + scripting-language support,
    + freely available developer kit and MOD source code,
    + and easy extensibility by code and scripts.

  For a more detailed feature list please refer to

2. New features in this release

  Introduction of map scripting: Ca3DE used the Lua programming language
  for its scripting support before (e.g. as definition language of its
  2D and 3D (world/entity) GUIs, in the console interpreter, etc.), now
  Lua is also employed for defining the entity classes of a game and
  especially for scripting the entities that exist in the game maps. The
  connection to the C++ code is well defined and easy to extend, so that
  game developers and mappers have easy-to-use and powerful options
  available to customize their maps.

  Revision of the clipping and collision detection code: While in
  earlier versions of Ca3DE the collision detection computations were
  burdened on the same code that actually manages the graphics and
  rendering of a world, the two concepts have now been cleanly
  separated: Clipping and collision detection have their own world
  representation that can respond to its task in a lot more suitable
  manner than the graphics code. This also facilitates the
  implementation of trigger entities, doors, lifts, and similar objects,
  and thus works hand-in-hand with the new map scripting support.

  The Ca3DE World Editor "CaWE" has undergone many enhancements, and is
  now easier to use than ever before: it works out-of-the-box now (no
  complicated manual setup required any more), the surface editing code
  has been entirely rewritten, the documentation has much been enhanced
  (including new flash tutorials for beginners!), Bezier patches can be
  edited more easily, any many other improvements.

  Other improvements include the in-game command console, support for
  the new MS Visual C++ 9 (2008) compiler, C++ code design enhancements
  and smoother animation of NPC game entities.

3. Further information and contact

  For further and more detailed information about the Ca3D-Engine,
  please visit the official website at

  The website has a detailed feature list, many high-res screen-shots
  and of course a download page where the latest demo and game
  development kit are available.

  If you have questions, problems or comments, you're heartily invited
  to join the Ca3DE discussion forums or the IRC channel, see for the details.

  You can also contact the author of Ca3DE directly by sending email to
  Carsten Fuchs at

Re: Ca3DE 8.03 (March 2008) released!

Posted: 2008-02-29, 19:10
by Carsten
Barely half an hour passed since I sent out the announcement mails when the great guys of already got the new package mirrored! :up:
Depending on your geographical location, you may prefer to pick up the file from their mirrors at instead of the usual Ca3DE Download site.

Re: Ca3DE 8.03 (March 2008) released!

Posted: 2008-03-03, 12:20
by Carsten
More great news following the 8.03 release: The Ca3DE package has just been included with the heise Software Library. You can find the Ca3D-Engine library entry at

Heise Verlag is one of the greatest and most renowned publishers of computer magazines and related information in Germany, and I'm grateful that they included the Ca3D-Engine into their collection.

Re: Ca3DE 8.03 (March 2008) released!

Posted: 2008-03-04, 20:13
by Carsten
Here is a first bug-fix for the current release:
As reported by Jorge Oliveira, the import of Half-Life 2 map files in vmf file format doesn't work properly in Ca3DE 8.03 and before.

The attached file contains a new version of CaWE.exe that comes with a completely rewritten HL2 map file importer.
If you have problems with importing such map files,
  • please download the attached file,
  • unzip its contents,
  • rename your existing copy of CaWE.exe in the Ca3DE-8.03/Projects/Ca3D-Engine folder e.g. into CaWE-backup.exe,
  • then copy the CaWE.exe from the zip file into its place.
Please refer to the updated documentation at for more information about importing "foreign" maps into CaWE. :up:

Note that if you have no problems with CaWE, then there is no need to install this patch. :cheesy: