Multiplayer gameplay in C4 is supported by a two-layer messaging system that uses the UDP protocol to communicate among different computers connected to a game. The engine plays sounds using a custom mixer that provides capabilities such as frequency shifting, Doppler effect, reverberation, and atmospheric absorption. The C4 Engine can play sounds stored in the WAV format using 16-bit mono or stereo sampling, and audio data can be played from memory or streamed from disk. The engine does not provide the capability to design custom post-processing effects. During a post-processing stage, the engine can also apply full-scene cinematic motion blur to the final image using a technique based on a velocity buffer, as well as glow and distortion effects. The engine is capable of rendering a large variety of special effects, including particle systems, procedural fire, electrical effects, volumetric fog, and weather phenomena. Triangle meshes are generated from voxel data using the Marching cubes algorithm, and seamless multiresolution level of detail is made possible by using the Transvoxel algorithm to stitch together regions of differing resolutions.
#C4 studio full#
The terrain capabilities of the C4 Engine are based on a voxel technology, allowing full 3D sculpting to produce features such as overhangs, arches, and truly vertical cliffs that would not be possible under a conventional height-based terrain system. Materials created using the standard material attributes can be converted to custom shaders to serve as a starting point in the Shader Editor. This method of designing materials enables greater creative freedom and functionality for expert users, but requires somewhat more work by the user. Ĭ4 also includes a graphical Shader Editor that allows complex custom materials to be created using a large set of predefined operations. Material attributes can be used to produce effects such as normal mapping, parallax mapping, horizon mapping, and bumpy reflections or refractions.
#C4 studio code#
The engine internally generates the necessary shader code for each combination of material and light type that it encounters when rendering a scene. Simple shaders can be created by specifying a set of material attributes such as a diffuse reflection color, a specular reflection color, and a group of texture maps. Shaders are created in C4 using one of two available methods, both of which isolate the user from the shader code required by the underlying graphics library. The primary method for rendering dynamic shadows is shadow mapping, and a variant of cascaded shadow mapping is used for very large outdoor scenes. The engine is capable of rendering with several different types of light sources and shadowing methods. The C4 Engine is based on the OpenGL library on Windows, Mac, Linux, and iOS platforms, and it uses a one-pass-per-light forward rendering model. Documentation for the engine is available online through a set of API web pages and a wiki. While a considerable portion of the engine is dedicated to 3D graphics, there are also large components dedicated to functionality pertaining to audio, networking, physics, input devices, and scripting.
#C4 studio software#
The architecture of the C4 Engine is that of a layered collection of software components, in which the lowest layers interact with the computer hardware and operating system, and the higher layers provide platform-independent services to the game code. Due to changing market conditions, the C4 Engine was retired in 2015, but an announcement has been made that it is returning in 2021.
#C4 studio license#
Although in development sporadically for several years beforehand, the engine was first made available under a commercial license in May, 2005. Development of the C4 Engine is led by computer graphics author Eric Lengyel, who is also the founder of Terathon Software.