Post feature RSS Features of "Glow" game engine Deferred shading, lighting is fully dynamic, ability to use light-shaders. Weather and day/night model, light scattering model for sun Havok physics, cooperative job system, HSM + dynamic navigation meshes(Recast), Client-Server networking (plus client-side physics), Lua scripts, virtual renderer (directx + openGL +...), clipmaps for landscapes, image based foliage maps.

Posted by on

Highly optimized rendering system

  • Deferred shading - allows hundreds of lights in frame
  • All lighting is dynamic (including sun and skies)
  • Weather and day/night model, light scattering model for sun
  • Real-time reflective lights
  • Pre-calculated ambient occlusion calculated on the global scale
  • Per-pixel lighting, bumpy reflections and refractions, animated and detail textures, shiny surfaces
  • Virtual renderer - allows several graphics API, currently DirectX 9, OpenGL.

Landscapes and foliage

  • Image based landscapes
  • Clipmaps
  • Trees rendering optimization - distant trees became billboard
  • Image based grass maps

Script bases particle systems

  • By GPU Shaders
  • Physical particles on powerful hardware
  • Prepared fire, smoke, explosions and a number of other effects

Physics System powered by Intel Havok technology

  • Integrated into game itself, including physical materials on all surfaces, physically driven sound.
  • Rigid body constructions. Thousands of different physical entities simulated per frame.
  • On powerful hardware engine implements physically correct behavior of particles such as smoke, debris, etc.

Highly optimized job system

  • It uses thread pool.
  • During startup, engine allocates number of threads, depends of available CPU cores.
  • Several modules in engine (physics, AI, navigation, decoding of sound etc) send jobs to execute.
  • Jobs from same module can not be executed in parallel (if it uses same data)
  • Profiler - counts function execution time.
  • Debug render - mesh, navigation, lighting, fps, AI

Audio system

  • 3D sound positioning, spatialisation and attenuation
  • OGG-vorbis compressed with adjustable quality, multi-threaded decompression
  • Sounds can be downloaded from WWW

AI and Gameplay

  • Efficient pathfinding for dynamic environment powered by Recast technology
  • Navigation meshes are dynamic and can be updated by moving objects.
  • Multi-layered animation system
  • Hierarchical state machines
  • Server side Lua scripts, with binding to everything - game objects, UI, AI etc

Optimized client-server

  • UDP based, world state replicated by snapshots
  • Bit-compressed data
  • Client and server side physics.
  • Client-side physics allows complex simulations over network.
  • Delta-compression to send changed data only.
  • Custom reflection mechanism to describe class members to be sent

Script based UI

  • UI are drawn by script on server side
  • Sending to render (or client) by render queue.

Data streaming from everywere

  • HDD folder
  • WWW streaming by curl library
  • Streaming from zipped folders
  • Loading big textures are delayed
  • Memory pool optimization - 3x time optimization for small object

Web player

  • ActiveX + IE now (other browsers later)
  • Streaming data from Web
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.