Visuals
+ 3D objects with instancing
- alpha objects with multiple render types and sorting
- skinning and bone hierarchy
- tween (morph) targets
- LOD based on distance from camera
+ Advanced lights and shadows
- shadows using dynamic shadow volumes
- highly optimised, using stencil buffer
- soft shadows using postprocessing
- rendering per light - shadow is light occluder
- visibility detection
- quality reduction based on visibility of object
- point, spot and directional lights, part of hierarchy
- textured light projection
+ Advanced material system
- fully shader driven pipeline, custom shaders, legacy fixed pipeline also supported
- various material lighting properties
- detail textures
- static and dynamic cube maps
- normal/specular maps
- dynamic reflections and mirrors
- animated textures (with inbetween frames blending)
- video textures
- quality reduction based on visibility of material
- library of per pixel shaders
- flexible user shaders support
- clothes (textures) changing
- media loader - jpg, bmp, tga, png, dds (as compressed textures - DXT1, DXT3, DXT5), tiff, wmv
+ Animation system
- supported animation types:
- skeletal (bone) hierarchical animation
- tween and facial animation
- transformation animation
- lipsync support using tween animations
- animation layers with interpolations between any number of animations and animation types
- programatic bone manipulation (i.e. head observing objects)
- quality of animation based on distance from camera
+ Advanced particle animation system
- applicable on billboard or 3d object types
- alpha and color effects
- scaling and rotation
- spread, chaos, gravity, magnet
- various movement functions
- LOD
- part of hierarchy (i.e. person can carry burning torch)
- various predefined geometric source objects or custom 3D mesh
+ Eye candy
- lens flares
- decals (planar or reproducing target's geometry)
- decals as light occluders
- fog animation system for changing weather and time of day
+ Fullscreen postprocess effects
- flexible shader system
- library of fullscreen shaders:
- depth of field
- glow
- ambient occlusion
- blur
- color corrections
- MLAA
+ more
+ 2D graphics system
- scale, rotation, crop and alpha effects
- virtual screen space, independent of actual screen resolution
- automatic UI rearrangement based on screen aspect ratio
- connected with lighting system for 2.5D games, casting shadows using prerendered light masks
- video playback
- truetype text rendering subsystem
- based on FreeType2 library
- text outlines generation
- text can have alpha or keycolor
- screen capturing
Scene
+ Scenegraph
- optimized object hierarchy
+ Physics
- rigidbody (can constist of base primitives, polyhedrons, height fields and triangle meshes)
- vehicles (any number of wheels, axis, clutches etc.)
- ragdoll (with variable animation strength application on each bone)
- various raycast optimizations
+ Camera system
- freely follows object (ability for 1st/3rd person)
- various interpolations
- part of object hierarchy
- multiple cameras
- using render targets used as materials for 3d or 2d objects, or rendering directly to defined viewport in back buffer
- highly customizable using editor or scripting
+ Characters
- full featured actors using all game systems available (animations, pathfinding, physics...)
- various forms of controlling actors (from input controller, script AI, point and click etc.)
- highly customizable using editor or scripting
+ Advanced track system
- define tracks to create spline animation of object movement
- using hierarchy connections apply on any object (lights, 3d objects, cameras…)
- additional connected object property animation
+ Visibility
- multi stage system:
- Portal system
- Occluder system
- Octree
- frustum culling
+ Moving object system
- for game dynamics controlled from script
General systems
+ Scripting language
- microthread based
- highly documented and reliable
- connected with engine using robust API
- everything can be done in script - from particular UI to RPG system to controls of any kind of game
- remote script debugging using TCP/IP - breakpoints, threads, stacks, variable watches etc.
+ User data
- user defined data types connected to any game object
- sort of information database approach
- editable from game editor - for totally data driven scripts
+ Pathfinding
- path finding on pregenerated 2D map with dynamic actors and obstacles
- actors dynamically steering avoiding each other and other dynamic obstacles
+ DitectInput controllers
- controllers abstraction
- force feedback
+ Statistics
- resources usage
- profiler
- object counters
- system states snapshot, complete rendered frame log
+ Savegame system
- proprietary, very small format, compressed
- active screen thumbnails
- save compatibility across versions
+ Text database
- server based
- every text is in database
- ingame multi language support
- server based localisation with governance of recency
- supports concurrent localisations, even still during development
- supports opendocument export/import
+ Resource memory system
- automatically managing memory - reducing disk access
- leaving data in memory until it is full, then releasing least used resources
- can be reloaded any time during gameplay/editing
+ Resource file system
- big file containers
- individual file compression based on its type and content
+ Timing
- using multiple customizable timers
- any game object can be connected to any timer
- can be used to pause entire game except ingame menu, change speed of physics, slow down objects in particular area and so on
Sound system
+ Sound system
- 2D and 3D sounds (cones and spheres)
- directional sounds
- streaming sounds/music
- doppler, pitch, pan, volume...
- Media loader - wav, ogg
+ Reverb based environment effects
- I3DL2
- definition of environment areas, fluent transitions
Tools
+ Editor
- tons of features
- scene and materials editing
- all game data comes through scene editor and outputs to ready to use scene/level
- all settings and scene descriptions are output to easy to read text format
- template/instance separation
- include scenes and scripts for assets
- customizable viewports
- tool for object scattering across terrain
- undo/redo system
+ IDE
- for script editing, compiling and debugging
- full featured editor with syntax highlight & undo
- thread, stack, breakpoints, watches
- texts browser with text validation tools
+ Line compiler
- compiler - data and script compiler, creating big resource file(s), automatic patch generation
- text system tool - export, import, local texts update
- resource file packer plugin for total commander
+ Publisher
- automatic creation of game builds with installation, autorun and eventually localisation kit
+ Exporters
- 3D Studio MAX exporter
- MAYA exporter
+ Documentation
- WIKI media used for all documentations and tutorials, offline version in CHM available
- Doxygen and CHM used for engine source code documentation
|
|