cpu

Effective multi-core CPU support from the ground up

  • Low level primitives: Atomics, thread-locals, thread pools, locks and spin loops, lock-free data structures.
  • Multiple higher-level processing paradigms supported:
    • Defaults to SPMD style; single-threaded is a special case.
    • Job/Task pool abstraction for heterogeneous computing.
    • Automatic task graph decomposition from serial code, using messages and futures.
    • Efficient implementation of the Actor Model.
    • Full integration with ispc – the Intel SPMD Program Compiler.
  • No loss of determinism or dangerous abstractions.
hw

Designed with cross-platform pitfalls in mind

  • Compile-time selection of engine modules minimizes abstraction penalties, while preserving platform-agnostic game code.
  • Per-platform data formats preserve efficiency and native conventions.
  • Many back-end implementations are planned –

gfx_logos

pipe

Flexible and efficient data pipelines

  • Flexible and extensible rule/plugin based data compilation with automatic dependency tracking.
  • Load-in-place data formats used to reduce on-load/parse computations to almost nil.
  • Native asynchronous streaming of all asset types.
  • Real-time refresh of all asset types for extremely fast content iteration times.
    • Data compiler tool instructs running game instances to re-load affected assets.
  • Automatic source data change detection and recompilation.
  • Compressed data archive support for shipping builds.
  • Network file-system support for development builds.
teapot

State of the art rendering technology

  • Fully dynamic scenes, lighting and time-of-day.
  • Physically-based shading with global illumination.
    • Reproduction of dielectrics, conductors, retroreflectors, anisotropic highlights, translucent scattering and participating media.
  • True floating-point HDR rendering pipeline based on radiometric units.
  • Filmic and photographic post-processing controls.
    • Emulation of F-stop, ISO, shutter speed, focal length and sensor/film-stock adjustments.
  • Oculus VR, Stereo 3D, multi-monitor and UltraHD ready.
 cloud

Flexible multi-player and networking systems

  • Both authoritative client-server and peer-to-peer topologies supported.
  • Separate physics simulation replication strategies for low-latency and extremely high-latency networks.
  • Post-match cheat detection and peer checking.
  • Cloud infrastructure for:
    • User accounts, authentication and authorization
    • User-generated content sharing
    • Matchmaking and server browsing
    • Hosting of dedicated servers
lua

Integrated scripting, serialization and reflection bindings

  • A simple data-description API allows decoration of any C++ type with:
    • Lua bindings (support for other languages also planned).
    • Serialization / de-serialization functions.
    • Generic type reflection.
    • Deferred execution of method calls (as ‘messages’ with ‘future’ return values).
  • Generated Lua bindings are extremely lightweight, with minimal inefficiency in crossing the C++ Lua boundary.
    • Dynamic type validation of C++ objects can optionally be disabled for shipping builds, for maximum performance.
 debug

Debugging and performance analysis tools

  • Integrated testing framework.
  • Per-module assertion and logging filtering.
  • Crash dump generation.
  • Live Lua debugger/IDE connection and code reloading.
  • Block-based code profiling of multi-core CPU and GPU workloads.
  • WebSocket host, providing live data inspection and modification capabilities to external browser-based and desktop tools.
 wheel

Detailed vehicle and physics simulation

  • Advanced tyre simulation.
  • Air resistance, aerodynamic downforce and lift.
  • Torque curves, gear ratios, clutch simulation.
  • Differentials, shock absorbers, stabilizers, Ackermann geometry.
  • Caster, camber and toe angles.
  • ABS, traction control, keyboard steering assistance.
osi

Open source components

  • The engine’s core layer will be released as a permissive open-source project.
  • An experimental/undocumented version is already available for the brave:
Advertisements