The C4 Engine from Tarathon Software just released version 7 at GDC 2023. This is the first update to the long running source available commercial game engine since 2018, when it was briefly renamed the Tombstone engine. The upgrade is available for free for developers who own any previous versions. Lead Developer, Eric Lengyel is the editor of the Game Engine Gems series of books, which are currently available on Humble Bundle.
Details of the C4 Engine version 7 update include:
Core Engine
- The
Color4C
class has been renamed toColor4U
to reflect the fact that it has unsigned components. There are also new classes calledColor2U
,Color2S
, andColor4S
, where the number 2 or 4 indicates the number of channels, and the letter U or S indicates unsigned or signed.- Support for the Open Data Description Language (OpenDDL) has been updated to version 3.0.
- The unbounded string class
String<>
can now store any string that occupies 16 bytes or less (including terminator) without having to allocate additional memory.Graphics Manager
- Complete support for proper sRGB color handling has been implemented throughout the engine.
- The game rendering resolution has been decoupled from the resolution of the display. The world is now rendered at a fixed resolution, specified by the application or chosen by the user, and scaled to the size of the window or display. The user interface is always rendered on top at the full display resolution.
- Many of the rendering techniques in the engine have been improved. These include screen-space ambient occlusion, parallax mapping, cascaded shadow maps, and halo effects. The details about how most of these work can be found in Foundations of Game Engine Development, Volume 2: Rendering (FGED2).
- A new atmospheric shadowing effect has been added to the engine. This renders light beams / god rays using the information in the cascaded shadow map. This technique is also described in detail in FGED2.
- Wherever possible, shading now takes place in a coordinate system aligned to the world-space axes.
- Histogram-based exposure has been added to the engine. This uses a compute shader to calculate an average log luminance of the scene from which an exposure scale is derived. The luminances of the final render are scaled by this amount before tone mapping is applied. Special effects are counter-exposed by the reciprocal of the exposure scale of the previous frame so they don’t become insanely bright in dark scenes.
- The term radiosity has been replaced by illuminance to reflect the fact that we are dealing with visible light, and not general radiation.
- The shader LOD capabilities have been removed from the engine. They were rarely worth the effort.
Animation
- The engine now supports dual quaternion skinning. This can be enabled in the Skin Controller to perform higher quality vertex interpolation that tends to preserve volume better at a slightly higher computational cost.
Interface Manager
- The full capabilities of Slug 6.5 have been integrated into the engine. All text goes through Slug, and widgets for icons and picture albums are available.
- Mutators have been renamed to Sprockets. Sprockets are attached to widgets in order to animate them in some way.
Effect Manager
- There are new icon and picture effects that can be used to apply Slug-based content to other surfaces.
World Manager
- The impostor system has received a major upgrade.
World Editor
- All editor icons have been updated to vector graphics.
- Paint space now support flow maps. These can be drawn in the World Editor using the new tools in the Paint Page.
- When illuminance spaces are being generated, the overall progress is now shown in taskbar.
Texture Tool
- The texture import tool has been divided into two parts, one that handles ordinary texture maps and one that handles normal, parallax, and horizon maps. There are different console commands,
itexture
andinormal
, to invoke these importers.Shader Editor
- Interpolant processes are now colored blue to make them easier to identify in a shader graph.
- The Minimum and Maximum processes can now take an optional third operand. If three operands are supplied, then the result is the least or greatest of all three inputs.
Font Importer
- Font importing capabilities have been upgraded to Slug 6.5. In particular,
.otf
files are supported in addition to.ttf
files.They also outlined updates that are currently being worked on:
- The engine is transitioning from OpenGL to Vulkan. Some code is present in version 7.0, but it is not complete.
- A new physically-based metallic material attribute is in progress.
- A new fur shader is in progress.
- The way that terrain is textured is being updated.
Key Links
You can learn more about the C4 Game Engine return from the beyond in the video below.