røntgen | |
---|---|
| |
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] ).
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] .
X-Ray Engine bruger den gratis Open Dynamics Engine fysikmotor .
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"
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 .
Motoren bruger en klient-server- netværksmodel og distribueret computerteknologi . Motoren understøtter op til 32 spillere i en kamp.
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 |
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 .
FORFØLGER | |||||
---|---|---|---|---|---|
Spil |
| ||||
Andet |