X-Ray (spilmotor)

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 6. juli 2021; checks kræver 4 redigeringer .
røntgen

Motorens logo ved en præsentation i 2004.
Type Spilmotor ( liste )
Udvikler GSC Game World
Nøgleprogrammører _ Oles Shishkovtsov, Alexander Maksimchuk, Dmitry Yasenev
Annoncedato 13. november 2001
Hardware platforme IBM-PC-kompatible computere
Understøttet OS Windows , Linux , Xbox 360 (begrænset support)
Skrevet i tunger C/ C++
Licens proprietære
nyeste version 1.6.02 (bygning 4017) / 2. februar 2010
Første spil på motoren STALKER: Shadow of Chernobyl / 20. marts 2007
Sidste spil på motoren STALKER: Call of Pripyat / 2. oktober 2009

X-Ray  er en spilmotor skabt af de ukrainske computerspilsudviklere GSC Game World til spillet STALKER: Shadow of Chernobyl .

Motoren blev introduceret til offentligheden tilbage i 2001. I starten var det fokuseret på DirectX 8, men efterfølgende forfinet mange gange for at matche sin tid. Således dukkede understøttelse af DirectX 9 op i den, og med udgivelsen af ​​STALKER: Clear Sky blev DirectX 10 tilføjet . Efter udgivelsen af ​​patch 1.5.07 til STALKER: Clear Sky dukkede DirectX 10.1-understøttelse op i spillet. I STALKER: Call of Pripyat blev DirectX 11 -understøttelse tilføjet til motoren .

Programmørerne Oles Shishkovtsov og Alexander Maksimchuk [1] arbejdede på den grafiske del af motoren (de arbejdede også på 4A Games på Metro 2033 - projektet baseret på bogen af ​​samme navn af Dmitry Glukhovsky [2] ).

Karakteristika og funktioner i motoren

Grafikmotor

Grafikmotoren , hovedkomponenten i X-Ray Engine, bruger Deferred shading-teknologi til at opnå høj kvalitet i lysgengivelse med høj geometrisk kompleksitet af scenen .  Flydende komma -gengivelse med højt dynamisk område understøttes .

I starten var motoren fokuseret på DirectX 8 , men efterfølgende blev den forfinet mange gange, så den matchede sin tid. Således blev DirectX 8 erstattet af DirectX 9 , hvis implementering var opdelt i versioner, med dynamisk belysning og statisk belysning, implementeret ved hjælp af teknologien til forsinket skygge af Light map -typen , således i spillet STALKER: Shadow of Chernobyl , brugeren kunne vælge versionen af ​​den grafiske API . I version X-Ray Engine 1.5, som 2008 -spillet STALKER: Clear Sky er baseret på, tilføjede udviklerne DirectX 10 -understøttelse . Patch 1.5.07 til dette spil tilføjede DirectX 10.1-understøttelse til motoren.

Den 9. september 2009 offentliggjorde AMD-ATi Senior Marketing Manager Ian McNaughton ( Eng.  Ian “Cabrtosr” McNaughton ) en artikel på sin blog "DirectX 11 - What to expect!", hvori han beskrev fordelene og hovedfunktionerne ved Direct3D 11 . I denne artikel udtalte han, at "STALKER: Call of Pripyat", sammen med " BattleForge " og " Colin McRae: Dirt 2 ", vil bruge DirectX 11 [3] [4] .

Den seneste version af motoren (1.6) understøtter således følgende Direct3D -versioner :

Grafikmotoren understøtter høje detaljer (op til 4.000.000 polygoner pr. ramme) og er i stand til at gengive både indendørs og udendørs rum med høj kvalitet, arealet af åbne rum kan nå op på 2 kvadratmeter. km. Der er et system med dynamisk ændring af dag og nat, understøttelse af forskellige vejrpåvirkninger såsom regn, vind, tåge.

Lyssystemet er fuldt dynamisk og pr . pixel . Bløde skygger er mulige, og Screen Space Ambient Occlusion- teknologi bruges . Relief-tekstureringsteknologier, der anvendes, er Normal mapping og Parallax mapping .

På grund af arten af ​​den anvendte udskudte belysnings- og skyggeteknologi kan motoren ikke samtidig bruge den i forbindelse med fuldskærms anti-aliasing i DX9-tilstand [5] .

Fysik motor

X-Ray Engine bruger den gratis Open Dynamics Engine fysikmotor .

Spil AI

Spillets kunstige intelligens i X-Ray Engine kaldes "A-Life" ( engelsk  kunstigt liv  - russisk kunstigt liv ) [6] .

Essensen af ​​[A-Life] er, at karaktererne i spillet lever deres liv og eksisterer hele tiden, og ikke kun når spilleren ser dem. Dette er i modstrid med de sædvanlige optimeringer, der bruges i spiludvikling [...] Vi har introduceret to udtryk, der karakteriserer 2 karakteradfærdsmodeller, der adskiller sig i detaljeringsgraden: offline og online. Karakterens offline opførsel er meget enkel med hensyn til detaljer: karakteren afspiller ikke animationer, lyder ikke, administrerer ikke aktivt inventar, bygger ikke detaljerede udjævnede stier (selvom den bygger stier i henhold til den globale navigationsgraf, men mere om det senere ), etc. Onlineadfærd har derimod fuld granularitet. At. det kan anses for, at offline adfærd er frugten af ​​online adfærd.

I vores system, mens spilleren spiller på sit niveau, lever andre karakterer på andre niveauer, dvs. er offline, dvs. bruge offline adfærd. Desuden, på grund af den store befolkning, har ikke alle karakterer inden for samme niveau onlineadfærd, men kun dem, der er inden for en given radius fra spilleren (dette kan afhænge af niveauerne, normalt omkring 150 meter) eller på anmodning af spillet designere.

For at implementere dette overvåger simulatoren bevægelsen af ​​spilleren og objekter offline og oversætter dem til online/offline. Ved beregning af objekters overgang bruges et standardtrick med inerti: offline-overgangsradius er større end online-overgangsradius.

Dernæst er det værd at nævne navigationen af ​​objekter online og offline. Vi har niveauer i spillet, for hver af dem oprettes en navigationsgraf, som karakterer bruger til at bevæge sig online. Vi kalder det en detaljeret graf. For hver detaljeret graf oprettes også dens mindre detaljerede analoge, hvis toppunkter kan forbindes med toppunkterne i den samme graf på et andet niveau. At. efter at have kombineret alle sådanne grafer sammen, får vi en graf, der kombinerer alle niveauer. Det bruges af karaktererne til at flytte offline. Det bruges også af karakterer online, når de opfylder deres strategiske mål. For eksempel, hvis en karakter online beslutter sig for at gå til et andet niveau, så bygger han en sti langs den globale graf og bygger derefter en sti langs den detaljerede graf for sit niveau fra sin position til punktet på den globale graf. Hvis dette punkt allerede er på et andet niveau, så teleporterer han dertil og går automatisk offline. For at forhindre dette i at ske foran spilleren, sætter vi overgangspunkterne for spilkarakterer længere end spillerens overgangspunkter, et sted "rundt om hjørnet"

Lydmotor

Lydmotoren bruger Creative EAX -teknologi til højkvalitets lydgenerering i rummet. Seks-kanals (5.1) lydoutput understøttes. Lyddata gemmes i MP3 , MP2 , WMA , ADPCM , Ogg mediebeholdere .

Netværk

Motoren bruger en klient-server- netværksmodel og distribueret computerteknologi . Motoren understøtter op til 32 spillere i en kamp.

Liste over spil, der bruger X-Ray Engine

Navnet på spillet Udgivelsesdato for spil Platforme Motorversion
Oblivion Lost Annulleret Windows , Xbox Alfa-version af X-Ray Engine 1.0
STALKER: Shadow of Chernobyl 20. marts 2007 Windows X Ray Engine 1.0
STALKER: Klar himmel 22. august 2008 Windows X Ray Engine 1.5
STALKER: Call of Pripyat 2. oktober 2009 Windows X Ray Engine 1.6

Kildekode lækket online

Den 28. april 2014 blev kildekoden til X-Ray-motoren, version cirka 1.0007 (rc1), lagt ud online på et fanwebsted. Arkivet på 7 MB var den komplette kildekode til den faktiske C++- motor , med undtagelse af spillets SDK , hjælpeprogrammer, plug-ins og tredjepartskomponenter.

Den 9. august blev den fulde kildekode for versioner, der omtrent svarer til patches 1.0007 (rc1) (Shadow of Chernobyl) 1.5.10 (Clear Sky) postet af en af ​​GSC-venner på gameru.net-forummet.

Den 16. september blev Call of Pripyat-motorkoden frigivet (version 1.6.02).

Den 11. april 2015 blev kildekoden til den aldrig færdige X-Ray Engine 2.0 lagt ud på det samme gameru.net-forum, og den 14. april koden til motoren til den største spilmodifikation, Lost Alpha.

Selvom den officielle seneste version af motoren er X-Ray Engine 1.6.02, udvikles der samtidig mere avancerede versioner af motoren af ​​spilfans, hvor mange kritiske fejl er blevet rettet i forhold til den originale motor, nyt funktioner er blevet tilføjet, understøttelse af multi-core processorer og multi-threading, samt port til Linux.

Med Sergey Grigorovichs uofficielle tilladelse er det tilladt at bruge kildekoden til X-Ray Engine 1.xx i ikke-kommercielle projekter .

Noter

  1. STALKER Team Fuld sammensætning af udviklingsteamet . stalker-game-world.com. Dato for adgang: 21. juni 2009. Arkiveret fra originalen 28. februar 2012.
  2. Maxim "Maxx" Mikheenko. Interview: Metro 2033 . Land of Games (1. december 2007). Hentet 21. juni 2009. Arkiveret fra originalen 11. september 2014.
  3. Ian "Cabrtosr" McNaughton. DirectX 11 - Hvad kan du forvente!  (engelsk) . AMD Blogs (9. september 2009). Dato for adgang: 12. september 2009. Arkiveret fra originalen 28. februar 2012.
  4. Andrew Burnes. ATI på DirectX 11  Gaming . Voodoo Extreme 3D (11. september 2009). Dato for adgang: 12. september 2009. Arkiveret fra originalen 28. februar 2012.
  5. Røntgenmotor  . _ ModDB . Dato for adgang: 7. maj 2009. Arkiveret fra originalen 28. februar 2012.
  6. Vitaly Kazunov (Lockust). STALKER: Clear Sky - et interview om problemerne med kunstig intelligens-overlevelse i Tjernobyl-zonen . GameTech (13. juni 2008). — Interview med Dmitry Yasenev, hovedudvikleren af ​​spil AI i spillet. Hentet 14. maj 2009. Arkiveret fra originalen 8. juli 2013.

Links