C4 Engine

Last updated
C4 Engine
Developer(s) Terathon Software LLC
Stable release
Version 7.0 / March 22, 2023;11 months ago (2023-03-22)
Platform PlayStation 5
PlayStation 4
Xbox One
Microsoft Windows
Type Game engine
License Multiple types
Website c4engine.com

The C4 Engine is a proprietary computer game engine developed by Terathon Software that is used to create 3D games and other types of interactive virtual simulations for PlayStation 5, PlayStation 4, [1] PlayStation 3, Windows (XP and later), Mac OS X (versions 10.9 and later), [2] Linux, and iOS.

Contents

Development history

Development of the C4 Engine is led by computer graphics author Eric Lengyel, who is also the founder of Terathon Software. Although in development sporadically for several years beforehand, the engine was first made available under a commercial license in May, 2005. Due to changing market conditions, the C4 Engine was retired in 2015, but an announcement has been made that it is returning in 2021. [3] C4 Engine version 7.0 is released on 22 March 2023.

Capabilities and features

The architecture of the C4 Engine is that of a layered collection of software components, [4] 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. 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. Documentation for the engine is available online through a set of API web pages and a wiki. [5]

Graphics

The C4 Engine is based on the OpenGL library [6] on Windows, Mac, Linux, and iOS platforms, and it uses a one-pass-per-light forward rendering model. The engine is capable of rendering with several different types of light sources and shadowing methods. [7] The primary method for rendering dynamic shadows is shadow mapping, and a variant of cascaded shadow mapping is used for very large outdoor scenes.

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. 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. The engine internally generates the necessary shader code for each combination of material and light type that it encounters when rendering a scene. Material attributes can be used to produce effects such as normal mapping, parallax mapping, horizon mapping, and bumpy reflections or refractions. [8]

C4 also includes a graphical Shader Editor that allows complex custom materials to be created using a large set of predefined operations. [9] This method of designing materials enables greater creative freedom and functionality for expert users, but requires somewhat more work by the user. Materials created using the standard material attributes can be converted to custom shaders to serve as a starting point in the Shader Editor.

The terrain capabilities of the C4 Engine are based on a voxel technology, [10] 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. 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.

The engine is capable of rendering a large variety of special effects, including particle systems, procedural fire, electrical effects, volumetric fog, and weather phenomena. [11] 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, [12] as well as glow and distortion effects. The engine does not provide the capability to design custom post-processing effects.

Audio

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 plays sounds using a custom mixer that provides capabilities such as frequency shifting, Doppler effect, reverberation, and atmospheric absorption.

Networking

Multiplayer gameplay in C4 is supported by a two-layer messaging system that uses the User Datagram Protocol to communicate among different computers connected to a game.

Physics

The C4 Engine has a native physics engine which can be used or allows the option for implementing a 3rd party solution instead.

Tools

The C4 Engine ships with basic game development tools required to make a modern game. Each tool is packaged as a plugin module that exists separately from the engine itself. Many tools make use of the comprehensive graphical user interface system provided by the engine so that a consistent interface is presented to the user across multiple platforms.

World Editor

The World Editor tool is a 3D content creation application that is typically used to create game environments for use with the C4 Engine. It provides a large set of drawing and manipulation capabilities that are used to construct world geometry as well as many game necessities such as lights, sounds, triggers, and special effects. [13] [14]

The World Editor can import scene information through the OpenGEX [15] and COLLADA formats. [16] This enables the use of content from a large number of digital content creation programs such as Autodesk Maya or 3D Studio Max.

Script editor

The World Editor tool includes a graphical script editor designed to be accessible to artists and level designers as well as programmers. The script editor allows the user to place various "methods" into a directed graph connected by "fibers" representing action dependencies and the order of execution. [17] Scripts support loops through the creation of cycles in the graph structure, and conditional execution is supported by marking fibers to be followed or not followed based on the result value output by the methods at which they start.

The engine ships with several standard script methods that perform simple actions such as enabling or disabling a scene node (for example, to turn a light on or off) and more complex actions such as evaluating an arbitrary mathematical expression. New script methods can be defined by the game code, and they appear in the script editor as custom actions that can be used by a level designer.

Panel editor

The World Editor tool includes a sub-editor called the "panel editor" providing for the creation of 2D interface panels that can be placed inside a 3D world. The panel editor lets the user place various types of widgets such as text and images in a panel effect node that is rendered as part of the scene. [18] Panels can also include a special camera widget that displays the scene that is visible to a camera placed anywhere else in the same world.

Interface panels are both dynamic and interactive. The engine provides an extensible set of "mutators" that can be applied to individual panel items to induce various forms of animation such as scrolling, rotation, or color change. A character in a game can interact with a panel by approaching it and clicking the mouse inside interactive items. Script can be attached to such items, causing a sequence of actions to occur when the player activates them.

Licensing

The C4 Engine is licensed for $100 per person, and this includes all future updates at no additional cost.

Academics

The C4 Engine has been licensed by many universities in connection with games-oriented software engineering curricula or for special research projects. These universities include MIT, Georgia Tech, Worcester Polytechnic Institute (WPI), McMaster University, and the University of Kempten. [19] Students in some of these programs are required to create their own games as part of a course using the C4 Engine, and many of these projects have gone on to be entered in the Independent Games Festival student competition. [20]

One particular university research project involved the TactaVest technology developed at WPI, [21] and their use of the C4 Engine was featured in the Discovery Channel Canada television show Daily Planet airing on May 26, 2006. [22]

Games using C4

Games that use the C4 Engine include:

Related Research Articles

X3D is a set of royalty-free ISO/IEC standards for declaratively representing 3D computer graphics. X3D includes multiple graphics file formats, programming-language API definitions, and run-time specifications for both delivery and integration of interactive network-capable 3D data. X3D version 4.0 has been approved by Web3D Consortium, and is under final review by ISO/IEC as a revised International Standard (IS).

Autodesk 3ds Max, formerly 3D Studio and 3D Studio Max, is a professional 3D computer graphics program for making 3D animations, models, games and images. It is developed and produced by Autodesk Media and Entertainment. It has modeling capabilities and a flexible plugin architecture and must be used on the Microsoft Windows platform. It is frequently used by video game developers, many TV commercial studios, and architectural visualization studios. It is also used for movie effects and movie pre-visualization. 3ds Max features shaders, dynamic simulation, particle systems, radiosity, normal map creation and rendering, global illumination, a customizable user interface, and its own scripting language.

Irrlicht is an open-source game engine written in C++. It is cross-platform, officially running on Windows, macOS, Linux and Windows CE and due to its open nature ports to other systems are available, including FreeBSD, Xbox, PlayStation Portable, Symbian, iPhone, AmigaOS 4, Sailfish OS via a QT/Qml wrapper, and Google Native Client.

<span class="mw-page-title-main">LightWave 3D</span> 3D computer graphics program

LightWave 3D is a 3D computer graphics program developed by LightWave Digital. It has been used in films, television, motion graphics, digital matte painting, visual effects, video game development, product design, architectural visualizations, virtual production, music videos, pre-visualizations and advertising.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

TrueSpace was a commercial 3D computer graphics and animation software developed by Caligari Corporation, bought-out by Microsoft. As of May 2009, it was officially discontinued, but with some 'unofficial support' up to February 2010.

<span class="mw-page-title-main">Autodesk Softimage</span> Discontinued 3D graphics software

Autodesk Softimage, or simply Softimage was a 3D computer graphics application, for producing 3D computer graphics, 3D modeling, and computer animation. Now owned by Autodesk and formerly titled Softimage|XSI, the software has been predominantly used in the film, video game, and advertising industries for creating computer generated characters, objects, and environments.

<span class="mw-page-title-main">High-dynamic-range rendering</span> Rendering of computer graphics scenes by using lighting calculations done in high-dynamic-range

High-dynamic-range rendering, also known as high-dynamic-range lighting, is the rendering of computer graphics scenes by using lighting calculations done in high dynamic range (HDR). This allows preservation of details that may be lost due to limiting contrast ratios. Video games and computer-generated movies and special effects benefit from this as it creates more realistic scenes than with more simplistic lighting models.

<span class="mw-page-title-main">3D GameStudio</span>

3D GameStudio or 3DGS is a pan 3D computer game development system which allows the users to create 3D games and other virtual reality applications, and publish them royalty-free. It includes a model/terrain editor, a level editor, a script editor/debugger and comes with a big collection of textures, models and artwork, as well as a game template system that allows the creation of basic shooter games or RPGs without programming. For complex games or other applications, either the integrated programming language named Lite-C or an external development language such as Visual C++ or Borland Delphi can be used.

<span class="mw-page-title-main">Blender Game Engine</span> Discontinued game engine

The Blender Game Engine was a free and open-source 3D production suite used for making real-time interactive content. It was previously embedded within Blender, but support for it was dropped in 2019, with the release of Blender 2.8. The game engine was written from scratch in C++ as a mostly independent component, and includes support for features such as Python scripting and OpenAL 3D sound.

<span class="mw-page-title-main">3D rendering</span> Process of converting 3D scenes into 2D images

3D rendering is the 3D computer graphics process of converting 3D models into 2D images on a computer. 3D renders may include photorealistic effects or non-photorealistic styles.

Eric Lengyel is a computer scientist specializing in game engine development, computer graphics, and geometric algebra. He holds a Ph.D. in computer science from the University of California, Davis and a master's degree in mathematics from Virginia Tech.

<span class="mw-page-title-main">3D computer graphics</span> Graphics that use a three-dimensional representation of geometric data

3D computer graphics, sometimes called CGI, 3-D-CGI or three-dimensional computer graphics, are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering digital images, usually 2D images but sometimes 3D images. The resulting images may be stored for viewing later or displayed in real time.

Shade 3D is a 3D modeling, rendering, animation, 3D printing computer program developed by e frontier Japan and published by Mirye Software. In October 2013, Shade 3D development team formed a new company called Shade3D Co., Ltd., and continue to develop and market the program. After terminating the sales agreement with e frontier Japan and Mirye Software by the end of December 2014, Shade3D company is now developing and marketing Shade 3D products in Japan and worldwide exclusively.

iClone is a real-time 3D animation and rendering software program. Real-time playback is enabled by using a 3D videogame engine for instant on-screen rendering.

<span class="mw-page-title-main">Away3D</span>

Away3D is an open-source platform for developing interactive 3D graphics for video games and applications, in Adobe Flash or HTML5. The platform consists of a 3D world editor, a 3D graphics engine, a 3D physics engine and a compressed 3D model file format (AWD).

<span class="mw-page-title-main">ORX</span> Game Engine

Orx is an open-source, portable, lightweight, plug-in-based, data-driven and easy to use 2D-oriented game engine written in C.

Stage3D is an Adobe Flash Player API for rendering interactive 3D graphics with GPU-acceleration, within Flash games and applications. Flash Player or AIR applications written in ActionScript 3 may use Stage3D to render 3D graphics, and such applications run natively on Windows, Mac OS X, Linux, Apple iOS and Google Android. Stage3D is similar in purpose and design to WebGL.

<span class="mw-page-title-main">Art of Illusion</span>

Art of Illusion is a free software, and open source software package for making 3D graphics.

<span class="mw-page-title-main">GDevelop</span> Open-source, cross-platform game engine

GDevelop is a 2D and 3D cross-platform, free and open-source game engine, which mainly focuses on creating PC and mobile games, as well as HTML5 games playable in the browser. Created by Florian Rival, a software engineer at Google, GDevelop is mainly aimed at non-programmers and game developers of all skillsets, employing event based visual programming similar to engines like Construct, Stencyl, and Tynker.

References

  1. "PlayStation4 Tools & Middleware Developers". Archived from the original on 2013-02-27. Retrieved 2013-03-12.
  2. Thorn, Alan (2011). Game Engine Design and Implementation. Jones and Bartlett. p. 559. ISBN   978-0-7637-8451-5.
  3. "Eric Lengyel on Twitter".
  4. "C4 Engine Architecture" (PDF). Archived from the original (PDF) on 2016-09-23. Retrieved 2016-09-22.
  5. Gregory, Jason; Lander, Jeff (2009). Game Engine Architecture . AK Peters. p.  27. ISBN   978-1-56881-413-1.
  6. "OpenGL API-based Product Listings". OpenGL.org. Archived from the original on 2009-08-29. Retrieved 2009-12-22.
  7. "Lights and Shadows". C4 Engine wiki. Archived from the original on 2021-08-28. Retrieved 2007-11-28.
  8. Brady, James; Cruz, A.A.; Huntsman, James; Vasquez, David (2012). The Beginner's Guide to the C4 Engine (2nd ed.). Terathon Software LLC. ISBN   978-0-9858117-1-6.
  9. "Shader Editor". C4 Engine wiki.
  10. Clarke, Keith C (2011). Getting Started with Geographic Information Systems. Prentice Hall. p. 227. ISBN   978-0-13-149498-5.
  11. "C4 Engine Features". Archived from the original on 2013-05-09.
  12. Lengyel, Eric (2011). Game Engine Gems. Jones and Bartlett. pp. 235–248. ISBN   978-0-7637-7888-0.
  13. Shiratuddin, Mohd Fairuz; Kitchens, Kevin; Fletcher, Desmond (2008). Virtual Architecture: Modeling and Creation of Real-Time 3D Interactive Worlds. Lulu.com. ISBN   978-1-4357-5642-7.
  14. "World Editor". C4 Engine wiki.
  15. "Open Game Engine Exchange".
  16. "Technology-enabled COLLADA products". Khronos.org. Archived from the original on 2009-06-22. Retrieved 2009-12-22.
  17. "Script Editor". C4 Engine wiki.
  18. "Panel Editor". C4 Engine wiki.
  19. "List of schools using the C4 Engine". Archived from the original on 2013-09-05. Retrieved 2013-08-05.
  20. "CS IMGD IGF Submissions".
  21. "TactaVest at WPI". Archived from the original on 2011-09-27. Retrieved 2011-01-08.
  22. "Daily Planet video about TactaVest and C4 Engine". YouTube . Archived from the original on 2021-12-14.
  23. Fat Princess Adventures announced for PS4
  24. "World of Subways: Home". Archived from the original on 2008-08-28. Retrieved 2012-04-27.
  25. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 "C4 Engine Screenshots". Archived from the original on 2012-07-29. Retrieved 2012-05-11.
  26. City Bus Simulator: HOME
  27. "Lego Wolf3D on Mod DB". 6 September 2012.
  28. "Wolf 3D Dome news".
  29. "Free PC Gamers".
  30. "Quest of Persia website".
  31. The 31st - A Game by Terathon Software
  32. 1 2 3 "MK-Lab". Archived from the original on 2012-11-04. Retrieved 2012-05-11.
  33. Wingball - Home - Freeware game for Windows, Linux (soon) and Mac (eventually)
  34. Ludicrous Windows, Mac game - Indie DB
  35. CS Squared Games
  36. CS Squared Games
  37. 1 2 "1 Carnaval de Distorções » Saiba mais sobre o projeto em desenvolvimento". Archived from the original on 2012-04-15. Retrieved 2012-04-27.
  38. "- Home". Archived from the original on 2011-08-10. Retrieved 2012-05-11.
  39. PSR Outdoors. The most realistic hunting games for your PC
  40. "Home". archangelstudio.net.
  41. "GreySoul". Archived from the original on 2011-10-27. Retrieved 2012-05-11.