Panta Rhei (game engine)
Developer(s) | Capcom |
---|---|
Platform | PlayStation 4, Xbox One, Microsoft Windows |
Type | Game engine |
Website | {{ |
Panta Rhei (named after the English transliteration Panta rhei), is a video game engine developed by Capcom, for use with 8th generation consoles: PlayStation 4, Xbox One; as a replacement for its previous MT Framework engine.
Background and history
Following years of Capcom using their proprietary MT Framework engine for video game development during the seventh generation of hardware, it was decided that to maximize productivity in the following generation of hardware it would be necessary to create a new development engine, now titled "Panta Rhei". This was intended for home consoles while games for Smartphones, PlayStation Vita and Nintendo 3DS still use the MT Framework Mobile & Lite engines.[1]
Specific design aims for the new engine included increases in workflow efficiency by reducing iteration time for modifications to gameplay and game design.[2] Additionally, the engine introduced improved physical modeling of fluids and emphasis on global illumination rendering.[2]Development of a new engine began in summer 2011. Features of the new development engine included: in engine management of shader (GPU) programs; an engine virtual machine allowing game scripting to be written initially in C#; changes in organization of the workflow/content meant that backwards compatibility with the MT Framework engine was lost.[3] The engine corresponds to DirectX 11 level of technology.[4]
The initial game to be developed with Panta Rhei was Deep Down,[1] whose team provided feedback on the engine development;[2] development of the game and engine were carried out in parallel.[5] A trailer for Deep Down and the Panta Rhei engine were publicly demonstrated by Yoshinori Ono at the PlayStation 4 unveiling event in Feb. 2013.,[6][7] the 'Deep Down' technology demo used ~3GB of textures, with 30 shaders, running at approximately 30 fps. Graphics techniques used in the 'Deep Down' demo included tessellation (actors cloak); with deferred rendering implementing dynamic lightsources; and surfaces rendered including diffuse and specular light reflections with surface roughness implemented by the Oren–Nayar reflectance model; global illumination calculations (such as light from a dragon's fiery breath) were estimated using the 'voxel cone tracing' method (with 1 specular 'ray' and an approximation to 12 dodecahedrally situated 'rays', sampled at a lower resolution, for diffuse reflectance); moving light sources including flames were modeled using a 64x64x64 voxel (voxel cube size ~0.5m) implemented as 3D textures stored in a Mipmap like structure.[8]
Further technology demos showcasing fluid simulations of fire and smoke in the Panta Rhei engine were released in Aug. 2013.[9] The tech. demo demonstrated the engine's use of volume based simulations of fire (also used in the Feb. 2013 "Deep Down" video), as opposed to less functional 2d "billboarded" (see Sprite) based depictions. The demos used a volume (voxel) based physical simulation of the fluid, with fixed voxel size. The simulation of fluid flow used a semi-Lagrangian method for approximations to the solution of the advection equation - specifically vorticity confinement simulations with the MacCormack method used to obtain solutions.[10] The voxel representation of the fluid required a 'ray marching' graphics rendering process (see Volume ray casting); self-shadowing of fluids, and scattering were also implemented in the engine demos.[11]
Further details of the game engine were discussed at a talk at CEDEC (CESA Developers Conference) 2014 given by Hitoshi Mishima (三嶋 仁氏) and Haruna Akuzawa (阿久澤陽菜氏). In common with other PS4/XboxOne generation rendering engines the PantaRhei engine used physically based rendering methods for calculating lighting reflectance; demonstrations based around the Deep Down PantaRhei development videogame used a Oren-Nayar model for diffuse reflectance, Cook-Torrance model for specular highlights (replacing a Blinn–Phong shading model used in earlier demonstrations). Demonstrations used tile based deferred rendering generally, with forward rendering also applied for simulations of translucent skin effects, and other transparent objects. Indirect lighting was demonstrated again, using a 128x128x128 voxel grid representing local light intensity, and voxel cone tracing along 12 directions (dodecahedral). Specific demonstrations at CEDEC were a pre-integrated skin shader for simulation of light through (human/animal) skin effects, and a 'liquid' shader; surface reflections were modelled using a screen space reflection technique originally developed by Crytek, utilising parallax corrected environmental maps; a hair modelling effect using runtime compute shader generation of hair positions, in conjunction with tessellation. [12]
In Nov 2014 at AMD's "Future of Compute" Singapore conference Masaru Ijuin of Capcom announced that AMD's Mantle API technology was being incorporated into the game engine.[13]
References
- ↑ 1.0 1.1 Ijuin 2014, p. 1.
- ↑ 2.0 2.1 2.2 Ijuin 2014, p. 2.
- ↑ Panta Rhei engine, Pt.1(game.watch.impress.co.jp) p.1. (japanese)
- ↑ Panta Rhei engine, Pt.1 (game.watch.impress.co.jp) p.3. (japanese)
- ↑ Panta Rhei engine, Pt.1 (game.watch.impress.co.jp) p.2. (japanese)
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Panta Rhei engine, Pt.1 (game.watch.impress.co.jp) p.2-5. (japanese)
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Panta Rhei engine, Pt.2 (game.watch.impress.co.jp) p.1. (japanese)
- ↑ Panta Rhei engine, Pt.2 (game.watch.impress.co.jp) p.2. (japanese)
- ↑ CEDEC session (www.4gamer.net)
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
Sources
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.