The Tombstone Engine

    • The Tombstone Engine

      The Tombstone Engine, the successor to the C4 Game Engine, just got a new update, it’s first since 2017. The Tombstone game engine is a commercial game engine that runs on 64bit Windows machines, and is capable of targeting major desktop platforms as well as the PlayStation 4. The 2.9 update is free for existing developers and focuses heavily on new font related functionality, as well as bumping the OpenGL version required to 3.3 or higher. Full details of the update from the release notes:
      Core Engine
      • All of the unsigned integer types that previously began with unsigned_ have been changed to begin simply with u. For example, unsigned_int32 is now just uint32.

      • The Array::FindArrayElement() function has been renamed to Array::FindArrayElementIndex() to make it clear what kind of information is returned.
      Graphics Manager
      • The Graphics Manager on Windows and Linux now require OpenGL 3.3 plus the GL_ARB_clip_control, GL_ARB_direct_state_access, GL_ARB_multi_bind, GL_ARB_texture_storage, and GL_ARB_texture_storage_multisample extensions. Since Apple does not support some of these extensions (and never will), this means that Tombstone 2.9 does not run on the Mac. We are planning to implement a Metal back end for the Graphics Manager in version 3.0.

      • The projection matrices used by the engine have been modified to produce device-space z coordinates in the range [0,1] with reversed depth. This greatly increases depth buffer precision and eliminates Z fighting artifacts when parallel surfaces near each other are viewed from far away.

      • Generalized depth offset modifications and depth bounds test optimizations have been implemented to handle oblique near plane projections. This can improve the appearance of decals in reflection or refraction images, and it can improve performance of point/cube/spot light sources in reflection or refraction images.

      • The motion blur algorithm has been improved and now generates better results. The velocity buffer has been changed to a two-channel format using 8 bits per channel, using half the space it previously used.

      • The method used to split linear 32-bit depths into two 16-bit depths for the floating-point structure buffer has been improved. This gives better precision farther from the camera position.
      Interface Manager
      • The font format has changed in this version. Any custom fonts that were previously imported must be imported again before they can be used.

      • There are many new text rendering capabilities, including underline, strikethrough, horizontal stretch, transform-based subscript/superscripts, right-to-left writing directions, bidirectional layout, adaptive supersampling, rectangle primitives, fraction formatting, and hyphen-minus substitution. Settings have been added to the Text Widget that can be used to enable these in the Panel Editor, and new embedded format directives have been added to control them within a block of text. See the Slug User Manual for details about all of the text rendering features.
      Effect Manager
      • A new Text Effect node has been added to the engine. This is used to place text on surfaces within a game world and apply materials to the glyphs so they appear to be painted on the surfaces. (This is completely different from using text in a panel effect.)
      • The functions that build terrain geometry have been improved so that vertex sharing occurs as often as possible. Rebuilding terrain geometries can reduce the data size by roughly 5–10%.
      Font Importer
      • The Font Importer contains new settings for the size and position of underline and strikethrough decorations and the transforms for subscripts and superscripts. These are initialized to the values specified in the input TrueType font file.
    • Hi,

      So here is the changelog of all Tombstone versions since 2016 when Tombstone v1.0 was released:

      Going through the release notes there is "here and there" some note about improved performance of some functions and better cpability to use AMD hardware - whatever this means.

      Here I found a link of C&C developer complaining about bad AMD Radeon performance on OpenGL - but this thread is old and only linked to another Thread. In this thread there is a user called "mirh". Here provides a little script "" which cann be started from command line and tests and compares the speed of OpenGL and vulkan for AMD cards. As far as I understand it can be used with nVidia cards, too.

      The result of everything is - as far as I understand it - that OpenGL support on the AMD card is not the best and Vukan performs better. I am no expert what OpenGL and Vulkan is exactly and if it can be activated/implemented in the new Tombstone engine but perhaps this is one reason why performance is not that good.

      So from my point of view:
      • Looks like AMD cards do not performa well on OpenGL but much better on Vulkan
      • C&C is using OpenGL on C4 4.5 Engine and when moving to Tombstone engine a newer OpenGL API is available
      • Vulkan could improve Speed for AMD cards
      • AMD OpenGL has problems when one CPU is maxed out: Here
      • I don't know if the people complaining about bad performance always use AMD cards or if there are nVidia users, too.