Star Engine

Game engine that power Star Citizen
Revision as of 16:55, 21 May 2021 by imported>Alistar Bot (→‎References: Depreciate SEO template, replaced: {{SEO}} → {{subst:Void}})
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Star Engine is the unofficial name of Star Citizen's game engine.[1] Originally it is a heavily refactored version of CryEngine 3 from Crytek used since the first in-engine video released at the start of the Crowdfunding campaign. More specifically, the last update integrated into Star Citizen's code was patch 3.8.[2]

On 2016-12-23, CIG announced with the release of Star Citizen Alpha 2.6.0 its move to  Amazon_Lumberyard game-engine (which is also based on CryEngine 3.8) in order to utilize the integrated Amazon Web Services (AWS) and Cloud-Computing features "to support next generation online gaming" [3] . It is not known which version of Lumberyard is currently integrated in Star Engine and how CIG will handle future iterations (as of November 2016, the current version of Lumberyard is Beta 1.6).

Engine development is still driven within the CIG studio structure with some of former Crytek employees supervising the project[citation needed].

Features

Here's a list of features added by CIG since CryEngine 3.8.

Notable Tech

Rendering

  • Object space shader damage (allows 4 different types of damage to be permanently inflicted on ships, including cutting holes, and blended seamlessly into the base shading)
  • Real time environment-probe capture and compression (avoids needing to bake probes in space and on planets)
  • Image based lens flares (use entire source image to simulate 4 different physically based lens distortions per colour channel on up to 20 individual elements)
  • Physically based bloom (wide exponential kernel based purely on light intensity)
  • Human eye exposure simulation (capture histogram of light intensity from both screen and surroundings, isolate range of light we intend to focus on, simulate both pupil and photo-pigment reactions for quick and slow reactions)
  • Major improvements to planar lights (far more physical basis now which results in major quality improvements)
  • Intelligent mesh-merging system (repeatedly searches for best bang-for-buck mesh merge opportunity in a scene until we hit a memory limit)
  • Upgraded volumetric fog (e.g. support for planar lights, light-boxes, env-probe priority sorting)
  • Major upgrade to shadow pool system (all lights share one giant pool for better dynamic resolution scaling, shadows can be cached between frames for better performance)
  • Render target pooling (shares memory between internal textures used in the renderer to vastly reduce VRAM usage)
  • Render to texture pipeline (ability to render secondary viewports with full or limited feature set to then be used as textures in the primary scene, e.g. video comms or holograms)
  • Tiled lighting upgrades (use rasterization light culling for greater efficiency, particle support)
  • Density based LOD algorithm (LODs change based on polygon density to ensure consistent appearance, less artist intervention, and promote more optimal art assets with fewer sub-pixel polygons)
  • GGX normal map filtering (gloss adjusted in mip-chain to best fit of our GGX lighting model to give the same results as super sampled normals)
  • Camera relative rendering (allows 64bit world without incurring any rendering performance hit by maintaining 32bit precision for rendering)
  • GPU Particle System (built from the ground up for efficiency, distinct from Lumberyards and CryEngine's GPU particle systems)
  • Various improvements to transparency sorting (generalized system, allow depth of field and motion blur to not effect nearby in-focus objects, order independent transparency for specific shaders such as hair)
  • Artist friendly profiler (captures statistics per art-team, and per area of the level allowing accurate breakdowns and quick diagnosing of performance issues)
  • Physically based atmospheric scattering
  • Hierarchical object management (efficient searches and culling, local coordinate frames for things like ships inside ships on planets which are rotating etc)[11]

Tech included in Star Citizen Alpha 3.0.0 [12]

  • P4K System - improved data handling system
  • Planetary Rotation
  • Temporal Supersampling (TSAA) - previously rendered frames are used to improve the anti-aliasing results on the new frame
  • Improved Screen Space Directional Occlusion (SSDO)
  • New Filmic Tone Mapping Curve (ACES)
  • PBR Glass - Glass (e.g. cockpits) can be rendered with phyiscs-based distortions, cracks, reflections and chromatic effects

Future Planned features (as of October 2017)[12]

Short term

  • Terrain Occlusion & Shadowing
  • Gameplay Driven Material Shaders
  • "Space Fog" (Gas Clouds in e.g. asteroid fields)
  • Improved Hair
  • New Shield Effect
  • Depth of Field Improvements
  • Colour Processing Improvements
  • New Motion Blur Implementation
  • Support for Complex Shading Models

Mid/Long term goals

  • Object Container Streaming support on the low level/system side
  • Improved Planet Effects (shadows, clouds, etc.)
  • Improved Space Effects (stars, sun, rings, etc.)
  • Dynamic Global Illumination
  • Batching of physics-thread
  • Batching of render-thread
  • Vulcan backend support


Tools & 3rd-Party Software

  • Kythera - AI middleware [13]
  • Vulkan API - 3D graphics and compute API [14]
  • Wwise - Sound Engine [15]
  • FMOD - (deprecated) Sound Engine [4]
  • DataForge [citation needed] - Data management, Ship & Weapons balancing [4]
  • StoryForge - Dialogue and Conversations system, built upon DataForge [6]
  • VERS 3D (formerly known as PlanetEd) - Editor for creating planets [16]
  • System Layout Tool - Star system layout and design [5]
  • Room Management System - (deprecated) System for players to manage their hangars; now changed and integrated in Item Port System [4]

List of Videos on the Star Engine

Gamers Nexus - Video Interview with Chris Roberts on Engine Architecture & Zoning Optimization (2015)

Gamers Nexus - Video Interview with Chris Roberts on Instancing & Player Counts (2015)

Gamers Nexus - Video Interview with Chris Roberts on Procedural Generation (2014)

Gamers Nexus - Video Interview with Chris Roberts on Character Tech, Weather System, & Engine Architecture (2016)

Gamers Nexus - Video Interview with Sean Tracy on CPU thread management, Jobs System, Character Technology, Lighting, sun/planet movement, Authoring Tools & AI (2016)

Gamers Nexus - Video Interview with Sean Tracy on Parallax Occlusion Mapping for Biomes edge-blending; Spring Tension and Inverse Kinematics for the Rover & Ships (2016)

Gamers Nexus - Video Interview with Chris Roberts on Procedural Planets V2 (2016)

Gamers Nexus - Video Interview with Sean Tracy on 64-bit Engine Tech & Procedural Edge Blending (2016)

Gamers Nexus - CitizenCon 2016 PlanetEd tool

Chris Roberts on DX12 & Vulkan support

Squadron 42 Trailer (2012)

See also

References

  1. 1.0 1.1 Gamers Nexus - Interview with Chris Roberts, summary
  2. Gamers Nexus - Interview with Sean Tracy, summary
  3.  Clarification by Chris Roberts on the switch to Lumberyard
  4. 4.0 4.1 4.2 4.3 4.4 Monthly Report Oct 2014
  5. 5.0 5.1 Monthly Report Sept 2014
  6. 6.0 6.1 Monthly Report Nov 2014
  7. 7.0 7.1 7.2 7.3 7.4 Monthly Report April 2015
  8. Monthly Report May 2015
  9. Subscriber's Town Hall with Austin Developers
  10. Monthly Report June 2015
  11. Ali Brown comments on Star Engine renderer on Spectrum. Spectrum
  12. 12.0 12.1 CitizenCon 2017 Graphics Engineering Panel "Beyond the Cutting Edge"
  13. Kythera by Moon Collider
  14.  Ali Brown (Director of Graphics Engineering) comment about Vulkan
  15.  Wwise
  16. PlanetEd reference