Jump to content

C4 Engine

From Wikipedia, the free encyclopedia
C4 Engine
Developer(s)Terathon Software LLC
Stable release
Version 7.0 / March 22, 2023;15 months ago(2023-03-22)
PlatformPlayStation 5
PlayStation 4
Xbox One
Microsoft Windows
TypeGame engine
LicenseMultiple types
Websitec4engine.com

TheC4 Engineis a proprietary computergame enginedeveloped by Terathon Software that is used to create 3D games and other types of interactive virtual simulations forPlayStation 5,PlayStation 4,[1]PlayStation 3,Windows(XPand later),Mac OS X(versions10.9and later),[2]Linux,andiOS.

Development history

[edit]

Development of the C4 Engine is led by computer graphics authorEric 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

[edit]

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 provideplatform-independentservices 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

[edit]

The C4 Engine is based on theOpenGLlibrary[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 isshadow mapping,and a variant of cascaded shadow mapping is used for very large outdoor scenes.

Shadersare 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 adiffuse reflectioncolor, aspecular reflectioncolor, and a group oftexture 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 asnormal 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 theMarching cubesalgorithm, and seamless multiresolutionlevel of detailis made possible by using theTransvoxel algorithmto stitch together regions of differing resolutions.

The engine is capable of rendering a large variety of special effects, includingparticle systems,procedural fire, electrical effects, volumetric fog, and weather phenomena.[11]During a post-processing stage, the engine can also apply full-scene cinematicmotion blurto the final image using a technique based on avelocity buffer,[12]as well as glow and distortion effects. The engine does not provide the capability to design custom post-processing effects.

Audio

[edit]

The C4 Engine can play sounds stored in theWAVformat 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

[edit]

Multiplayergameplay in C4 is supported by a two-layer messaging system that uses theUser Datagram Protocolto communicate among different computers connected to a game.

Physics

[edit]

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

Tools

[edit]

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 comprehensivegraphical user interfacesystem provided by the engine so that a consistent interface is presented to the user across multiple platforms.

World Editor

[edit]

TheWorld Editortool 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 theOpenGEX[15]andCOLLADAformats.[16]This enables the use of content from a large number ofdigital content creationprograms such asAutodesk Mayaor3D Studio Max.

Script editor

[edit]

The World Editor tool includes a graphical script editor designed to be accessible to artists andlevel designersas well as programmers. The script editor allows the user to place various "methods" into adirected graphconnected 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

[edit]

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 ofwidgetssuch 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

[edit]

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

Academics

[edit]

The C4 Engine has been licensed by many universities in connection with games-oriented software engineering curricula or for special research projects. These universities includeMIT,Georgia Tech,Worcester Polytechnic Institute(WPI),McMaster University,and theUniversity 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 theIndependent Games Festivalstudent 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 showDaily Planetairing on May 26, 2006.[22]

Games using C4

[edit]

Games that use the C4 Engine include:

References

[edit]
  1. ^"PlayStation4 Tools & Middleware Developers".Archived fromthe originalon 2013-02-27.Retrieved2013-03-12.
  2. ^Thorn, Alan (2011).Game Engine Design and Implementation.Jones and Bartlett. p. 559.ISBN978-0-7637-8451-5.
  3. ^"Eric Lengyel on Twitter".
  4. ^"C4 Engine Architecture"(PDF).Archived fromthe original(PDF)on 2016-09-23.Retrieved2016-09-22.
  5. ^Gregory, Jason; Lander, Jeff (2009).Game Engine Architecture.AK Peters. p.27.ISBN978-1-56881-413-1.
  6. ^"OpenGL API-based Product Listings".OpenGL.org. Archived fromthe originalon 2009-08-29.Retrieved2009-12-22.
  7. ^"Lights and Shadows".C4 Engine wiki. Archived fromthe originalon 2021-08-28.Retrieved2007-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.ISBN978-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.ISBN978-0-13-149498-5.
  11. ^"C4 Engine Features".Archived fromthe originalon 2013-05-09.
  12. ^Lengyel, Eric (2011).Game Engine Gems.Jones and Bartlett. pp. 235–248.ISBN978-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.ISBN978-1-4357-5642-7.
  14. ^"World Editor".C4 Engine wiki.
  15. ^"Open Game Engine Exchange".
  16. ^"Technology-enabled COLLADA products".Khronos.org. Archived fromthe originalon 2009-06-22.Retrieved2009-12-22.
  17. ^"Script Editor".C4 Engine wiki.
  18. ^"Panel Editor".C4 Engine wiki.
  19. ^"List of schools using the C4 Engine".Archived fromthe originalon 2013-09-05.Retrieved2013-08-05.
  20. ^"CS IMGD IGF Submissions".
  21. ^"TactaVest at WPI".Archived fromthe originalon 2011-09-27.Retrieved2011-01-08.
  22. ^"Daily Planetvideo about TactaVest and C4 Engine ".YouTube.Archivedfrom the original on 2021-12-14.
  23. ^Fat Princess Adventures announced for PS4
  24. ^"World of Subways: Home".Archived fromthe originalon 2008-08-28.Retrieved2012-04-27.
  25. ^abcdefghijklmno"C4 Engine Screenshots".Archived fromthe originalon 2012-07-29.Retrieved2012-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. ^abc"MK-Lab".Archived fromthe originalon 2012-11-04.Retrieved2012-05-11.
  33. ^"Wingball - Home - Freeware game for Windows, Linux (soon) and Mac (eventually)".Archived fromthe originalon 2012-09-10.Retrieved2012-05-11.
  34. ^Ludicrous Windows, Mac game - Indie DB
  35. ^"CS Squared Games".Archived fromthe originalon 2012-01-25.Retrieved2012-04-27.
  36. ^CS Squared Games
  37. ^ab"1 Carnaval de Distorções » Saiba mais sobre o projeto em desenvolvimento".Archived fromthe originalon 2012-04-15.Retrieved2012-04-27.
  38. ^"- Home".Archived fromthe originalon 2011-08-10.Retrieved2012-05-11.
  39. ^PSR Outdoors. The most realistic hunting games for your PC
  40. ^"Home".archangelstudio.net.
  41. ^"GreySoul".Archived fromthe originalon 2011-10-27.Retrieved2012-05-11.
[edit]