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.