Volatile engine is still under development, but we’re ready to shed some light on the current progress. Although the engine itself was written from scratch, it intentionally implements many design principles we refer to as “Quake ideology”. We are sure that old-school Quake/Half-Life programmers and level designers will notice that almost everything looks familiar. We do our best to incorporate the best principles from the best engines, so you will find some features you have already learnt from Source or Unreal. The engine is cross-platform (Windows, Linux/SteamOS, MacOS, Android), high-perfomance, flexible for game developers, and Steam-friendly. And certainly it is highly integrated with J.A.C.K. editor. We are currently developing a 3D-action game, Perilous Warp, on Volatile engine - please do not hesitate to check it out as well.
- cross-platform (Windows, Linux, MacOS, Android) with full 64-bit support, including cross-platform gaming and savegame sharing;
- scalable multi-renderer (Direct3D, OpenGL, and OpenGL ES) supports old or low-end video cards (e.g. GeForce 8800) but also exploits modern features of high-end hardware;
- real-time per-pixel lighting with bump and parallax mapping, combined with lightmaps;
- dynamic soft shadows for point, directed and parallel light sources;
- “static” renderer based on lightmapping and “deluxmapping” (static bump/parallax mapping), also supporting dynamic projected lights; can be a nice fallback for low-end and/or integrated video;
- precalculated lightmap/deluxmap styles (up to 8 styles per face) enable animated and toggleable lights even in “static” renderer;
- precalculated radiosity for static and immobile dynamic light sources; “radiosity light grid” technique accounts for indirect lighting of dynamic objects;
- multi-pass recursive rendering enables nested mirrors, portals and screens;
- layered, Quake III style, GPU-optimized texture scripts with different blend modes, geometry deformation, color and texture coordinate generation; most of the texture scripts can be evaluated in hardware, although software fallback for low-end video is also possible;
- advanced effects: screen-space local reflections, spectral refractions, parallax-corrected cubemap reflections, volumetric fog, water with reflections, refractions and coastline smoothing, streamed video textures, light flares and coronas;
- post-process effects: bloom, chromatic aberration, color correction, NDAA anti-aliasing;
- high-throughput, SIMD-optimized software skinning for skeletal animation with vertex weighting up to 4 bones per vertex;
- support for Bezier curves, and geometry level-of-detail for static and dynamic models;
- multithreading based on SMP model (rendition is performed in a separate thread);
- advanced network model (IPv4, IPv6, IPX) with packet fragmentation, reliable and unreliable messaging systems, and packet compression;
- multiplayer supporting up to 64 players with smooth local player and weapon prediction, and frame-based highly customizable delta encoding;
- demo recording and playback;
- embedded Lua scripting system enables custom server-side logic and client-side predictable events;
- collision detection, ray casting and arbitrary hull sweeping through brushes, curves, and models;
- dynamic physics based on Newton Game Dynamics physics engine, including climbable ropes and ragdolls;
- multi-channel sound engine with music streaming, advanced effects (Doppler, concussion), and DSP processing;
- custom GUI system supports the most common controls, such as text input fields, list boxes, image grids, buttons, scrollbars, and others;
- separated engine game server and game client modules allow easy modification; most of game-specific code is moved to server and client libraries.
- CPU 2.0 GHz (4-core 2.4 GHz CPU recommended);
- 1 Gb RAM (2+ Gb RAM recommended);
- Direct3D/OpenGL-compatible video card (shaders are highly recommended but not required);
- Windows XP SP3 or newer; Debian 7.8 or newer; MacOS Sierra or newer (64-bit OS recommended).
The minimum system requirements are very low, but expect poor visual quality; obsolete fixed-function render paths may be selected on low-end hardware. Nevertheless most of the gameplay features (e.g. dynamic flashlight, mirrors) will still function. Windows version supports both Direct3D and OpenGL renderers, but Direct3D renderer is recommended; other versions support OpenGL only.
- Popov, A.V. An Efficient Depth Linearization Method for Oblique View Frustums // J. Comput. Graph. Techniques. - 2016. - V. 5. - N 4. - P. 36-43.