Clever Geek Handbook
πŸ“œ ⬆️ ⬇️

X-Ray (engine)

X-Ray is a game engine created by Ukrainian developers of computer games GSC Game World for the game STALKER: Shadow of Chernobyl .

X ray
X-Ray Engine.jpg
Logo of the engine at the presentation in 2004.
Type ofGame Engine ( List )
DeveloperUkraine Gsc game world
Key programmersOles Shishkovtsov, Alexander Maksimchuk, Dmitry Yasenev
Announcement DateNovember 13, 2001
Hardware platformsIBM PC-compatible computers
Supported OSWindows , Linux , Xbox 360 (limited support)
Written in languagesC / c ++
Licenseproprietary , not licensed - internal use only
Latest version1.6.02 (build 4017) / February 2, 2010
The first game on the engineSTALKER: Shadow of Chernobyl / March 20, 2007
Last game on the engineSTALKER: Call of Pripyat / October 2, 2009

The engine was introduced to the public back in 2001. Initially, it was focused on DirectX 8, but subsequently was repeatedly refined to fit its time. Thus, support for DirectX 9 appeared in it, and with the release of STALKER: ClearX added DirectX 10 . After the release of patch 1.5.07 for STALKER: Clear Skies, DirectX 10.1 support appeared in the game. In STALKER: Call of Pripyat , support for DirectX 11 appeared in the engine.

The graphic part of the engine was mainly worked by programmers Oles Shishkovtsov and Alexander Maksimchuk [1] (they also worked in 4A Games on the Metro 2033 project based on the book of the same name by Dmitry Glukhovsky [2] ).

Screenshot from the game STALKER: Shadow of Chernobyl , the initial version of the engine. On the ground and brick wall of the house you can see complex soft shadows.

Content

  • 1 Engine Features
    • 1.1 Graphic Engine
    • 1.2 Physical engine
    • 1.3 Game AI
    • 1.4 Sound Engine
    • 1.5 Networking
  • 2 List of games using the X-Ray Engine
  • 3 Leakage of source code to the network
  • 4 STALKER 2
  • 5 notes
  • 6 References

Engine Features and Features

Graphics Engine

 
A screenshot from the game STALKER: Clear Sky , showing the graphic effect of " volumetric rays "

The graphics engine , the main component of the X-Ray Engine game engine, uses Deferred shading technology, which allows achieving high reliability in lighting rendering with a high geometric complexity of the scene. High dynamic range floating point rendering is supported.

Initially, the engine was focused on DirectX 8 , but subsequently it was repeatedly refined to fit its time. Thus, support for DirectX 9 appeared in it, and in the game STALKER: Shadow of Chernobyl, the user could select the version of the graphic API in the graphical options of the game. In the version of X-Ray Engine 1.5, which appeared in the game STALKER: Clear Skies 2008 release, the developers added support for DirectX 10 . Patch 1.5.07 for this game added support for DirectX 10.1 to the engine.

On September 9, 2009, AMD-ATi senior marketing manager Ian McNaughton posted an article entitled β€œDirectX 11 - What to expect!” In his blog that described the benefits and main features of Direct3D 11 . In this article, he stated that STALKER: Call of Pripyat, along with BattleForge and Colin McRae: Dirt 2 , will use DirectX 11 [3] [4] .

Thus, the latest version of the engine (1.6) supports the following versions of Direct3D :

  • DirectX 9 (shader model 2.0)
  • DirectX 9.0s (shader model 3.0)
  • Direct3D 10 (shader model 4.0)
  • Direct3D 10.1 (shader model 4.1)
  • Direct3D 11 (shader model 5.0)

The graphics engine supports high detail (up to 4,000,000 polygons per frame) and is able to efficiently render both indoor and outdoor spaces, the area of ​​open spaces can reach 2 square meters. km There is a system of dynamic change of day and night, support for various weather effects, such as rain, wind, fog.

The lighting system is fully dynamic and pixel by pixel . Soft shadows are possible and Screen Space Ambient Occlusion technology is used. Of the embossed texturing technologies, Normal mapping and Parallax mapping are used .

Due to the features of the technology of deferred lighting and shading used, the engine cannot simultaneously use it together with full-screen anti-aliasing in DX9 mode [5] .

Physics engine

The X-Ray Engine uses the Open Dynamics Engine , a free physics engine .

Game AI

Game artificial intelligence in the X-Ray Engine is called "A-Life" ( Eng. Artificial life - Russian. Artificial life ) [6] .

 The essence of [A-Life] is that the characters in the game live their lives and exist all the time, and not just when the player sees them. This runs counter to the usual optimizations used in game development [...]. We have introduced two terms that characterize 2 character behavior models that differ in the level of detail: offline and online. The offline behavior of the character is very simple from the point of view of detail: the character does not play animations, sounds, does not actively manage inventory, does not build detailed smooth paths (although he builds paths according to the global navigation graph, but more on that later), etc. Online behavior, by contrast, has a full degree of detail. T.O. we can assume that offline behavior is the fruit of online.

In our system, while a player plays at his own level, other characters live at different levels, i.e. are offline, i.e. use offline behavior. Moreover, due to the large population, not all characters within the same level have online behavior, but only those who are within a given radius from the player (this may depend on levels, usually around 150 meters) or at the request of game designers.

To implement this, the simulator monitors the movement of the player and objects offline and translates them online / offline. When calculating the transition of objects, a standard inertia trick is used: the radius of the transition to offline is greater than the radius of the transition to online.

Next, it’s worth mentioning the navigation of objects online and offline. We have levels in the game, each of which creates its own navigation graph, which the characters use to move online. We call it a detailed graph. For each detailed graph, its less detailed analogue is also created, the vertices of which can be connected with the vertices of the same graph of another level / s. T.O. after combining all such graphs together, we get a graph that combines all levels. It is used by characters to move offline. Also, characters use it online when they fulfill their strategic goals. For example, if a character online decides to go to a different level, then he builds the path according to the global graph, then builds the path according to the detailed graph of his level from his position to the point of the global graph. If this point is already on a different level, then it teleports there and automatically goes offline. In order to prevent this from happening in front of the player’s eyes, we set transition points for game characters further than the player’s transition points, somewhere around the corner
 

Sound Engine

The sound engine uses Creative EAX technology for high-quality sound generation in space. The output of six-channel (5.1) sound is supported. Sound data is stored in the MP3 , MP2 , WMA , ADPCM , Ogg media containers .

Networking

The engine uses a client-server network model and distributed computing technology. The engine supports up to 32 players in one match.

X-Ray Engine Game List

Name of the gameGame Release DatePlatformsEngine version
Oblivion lostCanceledWindows xboxAlpha Version X-Ray Engine 1.0
STALKER: Shadow of ChernobylMarch 20, 2007WindowsX-Ray Engine 1.0
STALKER: Clear SkyAugust 22, 2008WindowsX-Ray Engine 1.5
STALKER: Call of PripyatOctober 2, 2009WindowsX-Ray Engine 1.6

Leakage of source code to the network

On April 28, 2014, the source code for the X-Ray engine, version approximately 1.0007 (rc1), was posted on the Internet on one of the fan sites. The 7 MB archive was the complete source code of the C ++ engine itself, with the exception of the game SDK , utilities, plug-ins, and third-party components.

On August 9, the full source code of versions roughly corresponding to patches 1.0007 (rc1) (Shadow of Chernobyl) 1.5.10 (Clear Skies) was posted by one of the GSC friends on the gameru.net forum.

On September 16, the code of the Call of Pripyat engine (version 1.6.02) was posted.

On April 11, 2015, all on the same gameru.net forum, the source code for the still unwritten X-Ray Engine 2.0 engine was posted, and on April 14, the engine code for the most large-scale game modification Lost Alpha.

Although officially the latest version of the engine is X-Ray Engine 1.6.02, at the same time fans of the game are developing more advanced versions of the engine, in which, in comparison with the original engine, many critical errors have been eliminated, new features have been added, as well as support for multi-core processors and, most most importantly, multithreading.

With the unofficial permission of Sergey Grigorovich, it is allowed to use the source code of the X-Ray Engine 1.xx engine in non-commercial projects . The license agreement on the GitHub website claims that the source code is owned by GSC Game World, but non-commercial distribution and use of the texts and the compiled engine are allowed. [7]

Based on the source code, several projects have been opened that seek to improve the game engine. The most ambitious projects to improve the engine are X-Ray Oxygen and OpenXRay. A feature of OpenXRay is native support on Linux with OpenGL instead of DirectX.

STALKER 2

See article STALKER 2

Notes

  1. ↑ STALKER Team The full composition of the development team (neopr.) . stalker-game-world.com. Date of treatment June 21, 2009. Archived on February 28, 2012.
  2. ↑ Maxim "Maxx" Mikheenko. Interview: Metro 2033 (Neopr.) . Games Country (December 1, 2007). Date of treatment June 21, 2009.
  3. ↑ Ian β€œCabrtosr” McNaughton. DirectX 11 - What to expect! (eng.) . AMD Blogs (September 9, 2009). Date of treatment September 12, 2009. Archived on February 28, 2012.
  4. ↑ Andrew Burnes. ATI On DirectX 11 Gaming Voodoo Extreme 3D (September 11, 2009). Date of treatment September 12, 2009. Archived on February 28, 2012.
  5. ↑ X-Ray Engine . Mod DB . Date of treatment May 7, 2009. Archived on February 28, 2012.
  6. ↑ Vitaliy Kazunov (Lockust). STALKER: Clear Skies - Interview about the problems of the survival of artificial intelligence in the Chernobyl Zone (neopr.) . GameTech (June 13, 2008). - Interview with Dmitry Yasenev, the main developer of the game AI in the game. Date of treatment May 14, 2009. Archived on February 28, 2012.
  7. ↑ OpenXRay / xray-16 commit 154b29ae43e87e9cbb99a4f14803b59172ceb988 ( unspecified ) . Date of treatment November 30, 2018.

Links

  • X-Ray Engine Mod DB . Date of treatment May 6, 2009. Archived on February 28, 2012.
  • Terran. X-Ray (English) (inaccessible link) . DevMaster.net (August 3, 2006). Date of treatment May 6, 2009. Archived February 12, 2006.
  • Konstantin Terentyev, Eugene Sobol. STALKER: Shadow of Chernobyl. Fight with fierce suspense (Russian) . Tom's Hardware (April 3, 2007). Date of treatment March 19, 2009.
  • Dmitry Chekanov. "Stalker: Clear Sky" (Clear Sky). Quality and performance test (rus.) . Tom's Hardware (October 1, 2008). Date of treatment March 18, 2009.
  • Danil Gridasov. i3D-Quality - Under the microscope - November 2008 - DirectX 10.1 in "STALKER: Clear Sky" (Russian) . iXBT.com (December 12, 2008). Date of treatment December 12, 2008.
  • Danil Gridasov. i3D-Quality - Under the microscope - January-February 2009 - Performance of high-quality modes in STALKER Clear Sky (Russian) . iXBT.com (March 6, 2009). Date of treatment March 6, 2009.
  • Dmitry Trambitsky. Graphic technologies in STALKER Testing ten video cards in the game (Russian) 5. TECHLABS.BY (April 12, 2007). Date of treatment May 8, 2009.
  • Arseny Kapulkin. Lecture # 32. RENDER (unopened) 7. GameDev.ru (May 10, 2007). - Transcript of an online lecture on graphic technology in the X-Ray engine. Date of treatment July 29, 2009. Archived February 28, 2012.
  • Cyril Balalin. Games against iron: STALKER (neopr.) . ITC.ua (May 11, 2007). Date of treatment January 3, 2015. Archived on February 28, 2012.
Source - https://ru.wikipedia.org/w/index.php?title=X-Ray_(engine)&oldid=102404458


More articles:

  • Gryzunov, Ivan Fedorovich
  • Fenhe
  • Shevchenko (last name)
  • Nuriev, Anatoly Anatolyevich
  • Realization of law
  • Irina Kirsanova (film)
  • 16th Panzer Division (USSR)
  • Kingston Terry
  • Robert Raikes
  • El'man

All articles

Clever Geek | 2019