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’re pretty sure 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’ll find some features you’ve already learnt from Source or Unreal. The engine will be cross-platform (Windows, Linux/SteamOS, Android), high-perfomance, flexible for game developers, and Steam-friendly. And certainly it is highly integrated with J.A.C.K. editor.
- scalable multi-renderer (Direct3D, OpenGL, and OpenGL ES) supports low-end video cards (e.g. GeForce 6600) 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: spectral refractions, parallax-corrected cubemap reflections, volumetric fog, streamed video textures, light flares and coronas;
- post-process effects: bloom, color correction, NDAA anti-aliasing;
- high-throughput, SIMD-optimized software skinning for skeletal animation with vertex weighting up to 4 bones per vertex;
- 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 256 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;
- 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 1.4 GHz (4-core 2.6 GHz CPU recommended);
- 512 Mb RAM (2+ Gb RAM recommended);
- Direct3D/OpenGL compliant video card (GF8800-class hardware recommended);
- Windows XP SP3 or better; Debian 7.8 or better (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.