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:
Color4Cclass has been renamed to
Color4Uto reflect the fact that it has unsigned components. There are also new classes called
Color4S, 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.
- 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.
- 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.
- 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.
- There are new icon and picture effects that can be used to apply Slug-based content to other surfaces.
- The impostor system has received a major upgrade.
- 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.
- 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,
inormal, to invoke these importers.
- 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 importing capabilities have been upgraded to Slug 6.5. In particular,
.otffiles are supported in addition to
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.
You can learn more about the C4 Game Engine return from the beyond in the video below.