2010. július 30., péntek

Railworks leírás kicsit másképp


Mivel gyakran hallok sok helyről tévhiteket/marhaságokat a Railworks-al kapcsolatban, úgy gondoltam írok egy részletesebb beszámolót, ami több hónap RW játék, és fejlesztői tapasztalaton alapul, és nem 5 perc játékon ami kb annyi megállalpításból áll hogy jobb a grafikája :):


Története:
2001 megjelent az Microsoft Train Simulator a KUJU !fejlesztésében!, és a Microsoft kiadásában. Mivel konkurencia egyáltalán nem volt a vasútszimulátorok terén, gyorsan elkezdett terjedni, bár gépigénye óriási volt, és bizony a fizika terén, és a részletesség terén is hagyott kívánni valót maga után.
Fejlesztői dokumentáció szinte semmi nem járt hozzá, több év alatt sikerült lelkes moddereknek megfejteni az msts titkait, elkezdtek készülni rá az addonok, viszont gyorsan beleütköztek a játékmotor különböző limitjeibe, aminek kis részét az mstsbin projekt orvosolta, de csodát nem tudtak tenni. A gyenge, és szegényes hangkezelés, a poligonkorlát, valós rendszerek implementálhatatlansága megmaradt, az instabilitással, és a motor régiségéből adódódó lassúsággal, mivel a modern gépek erőforrásait képtelen rendesen kihasználni.

Közben felröppentek a hírek az MSTS2-ről, amit az MS pénzhiány(LOL) miatt lefújt. Így a KUJU átvándorolt az MSTS2 meglévő kódjaival az EA-hez, ahol erőltetett menetben összerakták a Rail Simulatort.
Ez elég sok problémával küzdött(mint az msts), de csak erős szemellenzővel nem lehetett látni hogy bizony fejlődött rendesen az msts-hez képest: kiadtak hozzá 2 patchet majd az KUJU és az EA is szakított.
Mivel a Rail Simulator név az EA tulajdonában maradt, és csak a kód és a weboldal maradt a KUJU tulajdonában, az új kiadást a Rail Simulatorhoz nem kapcsolódóan kellett kiadni más néven, Railworks néven. Közben mivel a KUJU is feloszlott a fejlesztést már a néhány KUJU tagból alakult railsimulator.com nevű cég vette át. Majd 1 évvel ezelőtt kiadták a Railworks-ot nyolcvanvalamennyis verziószámmal, immár külön kiadó nélkül, limitált számban dvd-n terjesztve, de főleg STEAM platformra alapozva.
Ami akkor nem volt más mint egy patchelt újra kiadott RS, amiben az újdonság az volt, hogy egyaránt bekerültek az USA és az eu-s verzió pályái és járművei, és ezek egy kis ráncfelvarráson estek túl, új objektumok, és részletesebb pályadekorációt kaptak.
Ez után pedig 1-2 havonta esetenként félhavonta jöttek a patchek, amik néha úgy járműveket is tartalmaztak ingyenesen (BR143-mas 151-es, és 52-es mozdony, vezérlőkocsi, néhány új vagon, részletesebb állomásépületetek, új jelzőrendszerek).
És akkor most egy felsorolás a szerintem fontos dolgokról, a legújabb 108-as verziót nézve szóval a 84-es "virágbolti" verzióhoz képest lehetnek különbségek ;)

Grafika:
-shaderek támogatása szebb effektekhez, csillogás, különböző felületű anyagok, élethűbb fények stb.

-directx9-es gpu támogatás, ami a modern gépek jobb kihasználását teszi lehetőve szebb, részletesebb grafika, és stabilabb, folyamatosabb futás mellett

-nem esik végre az alagutakban az eső

-jelzőknél "ragyogó" (glow) shaderes textúrák támogatása, ami messziről látható, és igen szép látvány.

-normal mapek támogatása (olyan textúra ami térbeli kiterjedést ír le, így lehet pl 20000 poligonos, de 200000 poligonosnak látszó extrém grafikai részletességű objektumokat készíteni, kis gépigény mellett

-teljes 3d vezetőállás

Hang:
-eax támogatás, visszhangzás, "csőhangzás", és egyéb effektek az ezt támogató audio chipeken, tárgyak és hangok kölcsönhatása (pl visszaverődik a hang egy nagy falról, torzul stb.

-széleskörű hangokat befolyásoló értékek (a teljesség igénye nélkül: mozdony kezelőszervek, mozdony rendszerek pl transzformátor/motoráram, kompresszor fordulatszám, motor fordulasztám, kanyarsebesség (kerékcsikorgás), kerék kipörgés/blokkolás), és korlátlan lehetőségek ezeken kívül lua scriptekkel. Ezeket a befolyásoló értékeket CONTROL VALUE-nek hívják ami nagyon fontos a játékban, mert nem csak a hangokat lehet ezzel befolyásolni, vagy ezt befolyásolni mással.

-hangerő/vagy lejátszási sebesség görbékkel befolyásolható hangok, akár kombinálva, korlátlan mennyiségben

-véletlenszerű (persze befolyásolhatóan véletlenszerű) hangok lehetősége pl környezeti zajokra (madarak, disznóröfögés :D, ami tetszik), vagy pl pályazajokra (klattyogás, zakatolás, nyikorgás)

- ún. Jetfighter hangok (ezek a kamerához képesti sebességre aktiválódnak), amikhez pl elhúzó vonat hangját(széllel mindennel) érdemes rendelni, ami sokkal jobban hangzik mintha a sima zajait hallanánk (tapasztalat), vagyis azt is halljuk, ez csak ráadás.

-hangokon belül össze vissza konfigurálhatóság, akár mondjuk egy motor minden fordulatszámtartományához külön hang hozzáadása

-44khz-es akár stereo minőségű hangok támogatása (ha jól tudom ez msts-ben csak 22khz lehett, mono-ban)

-SOK hang megszólaltatásának képessége egyszerre( msts-ben néhány hang ment csak egyszerre az azon túl hallható hangok némák voltak, sőt a túl sok hang gyakran "hibát okozott")

- külön konfigurálhatóak a forgóvázak, és a mozdony/vagon hangjai (pl mozdonyhoz kerül a motorhang, és egyebek, a forgóvázhoz pedig a kerékcsikorgás kanyarban, kerékcsúszás hangja, futászaj, zakatolás, akármi)

Fizika:
-physix SZOFTVERES fizika (szóval hátrányod nem lesz ha nem Geforce a videokártyád)
- a vagonok, járművek egymásra hatnak, visszarúgás, visszarántás fékezéskor, gyorsuláskor extrém esetben akár sínről lerántás/lelökés

- tömeg tömegközéppont szerinti mozgás számolása (tehát pl kanyarban megdől a jármű, aminek vége lehet teljes oldalra dőlés is, de akár az is hogy a kerékfelfüggesztés mozog, pl a Hagen-Siegen pályán van pár 140-es sebességkorlátos rész, ahol vannak szép kanyarok, és látszik amikor beér a kanyarba hirtelen megrándul és átmegy a súly a külső íven guruló kerekekre, főleg a hirtelenebb közvetlen baljobb/jobbbal kombinációknál

- ütközés hatása is, a sebességtől, a 2 ütköző tömeg stabilitásától, fizikai jellemzőitől függ, nem pedig egy fix értéktől, tehát lehet pl hogy kicsit túlzásban nekihajtasz egy hosszú sor vagonnak, de az ütközéstől nem siklik ki a mozdonyod, és az a vagon aminek ütköztél (de persze ezek is erősen bemozdulnak), hanem az összekötött vagonokon végighalad a lökéshullám, és esetleg távolabb ugrik le a sínről mondjuk a másik végen ahol nincs tovább a csatolások összehúzódása

-motorok, meghajtórendszerek pontos fizikai modellezése exceles (csv fájl) !JELLEGGÖRBÉKKEL! (pl sebesség vs vonóerő, sebesség vs teljesítmény, teljesítmény vs kezelőkar, dízelnél generátoráram vs meghajtómotor áram, dinamikus fékerő vs sebesség), akár TÖBB motor támogatása is egy mozdonyban

-fékrendszer pontos fizikai modellezése, nyomásértékek, fékerő, kompresszor, üzemmódokkal variálható, és a fékrendszerek nem korlátozódnak mozdony,vonat, és dinamikus fékre, korlátlan mennyiségű fékrendszert lehet beiktatni

-a kerekek tapadása függ az időjárástól is, pl eső hó

-kipöröghet a kerék, blokkolhat

Irányítás:
- xml fájlokkal akár járművenként saját billentyűzetkiosztást/bármilyen vezérlőkiosztást lehet csinálni, az egész billentyűzetet kombinációkkal fel lehet használni irányításra

-control valuek (igen ugyan az mint a hangrendszernél) ezeken keresztül irányítjuk a járművet, ennek az értékeit változtatja a játékmotor, ezeken keresztül megy minden irányítása. Ezek sem fixek, az alap controlvalueken kívül akármennyit létrehozhatunk, amihez a billentyűkiosztós xml-el rendelhető irányítóbillentyűt, vagy nem rendelünk ugyanis lehet olyan is, hogy ezt nem kézzel irányítjuk, hanem valami mással kötjuk össze, pl a hangok vezérlése, fedélzeti rendszerek vezérlése, kijelzők (pl sebességmérő vezérlése). Scriptekkel karöltve akár azt is megcsinálhatod hogy hűtőrendszert, fő megszakítót, akármit kelljen vezérelni

-AWS, PZB vonatbefolyásoló rendszerek támogatása alapból (bár a PZB egyesek szerint hiányos mert folyamtosan nyomni kéne, itt meg csak sárgánál, vörösnél, visít amit nyugtázni kell, különben satufék, bár szerintem ez nem gond, még is csak egy játék, én személy szerint nem akarok folyamatosan nyomni egy billentyűt csak mert a valóságban ilyen...), de mivel mint mondtam lua scriptekkel, és a control valuekkel bármit össze lehet hozni, ezt is ki lehet javítani, vagy akár új vonatbefolyásoló, és egyéb rendszereket létrehozni

-3 nehézségi fokozat (simple, intermediate, expert)

-ki-be kapcsolható hogy vörös jelzés engedély nélküli meghaladását scenario végével szankcionálja (gyak kikapcsolható a "you've ignored red light, activity ended)

Fejlesztés:
-mindennek meg van a helye. Objektumok az assets/fejlesztőinév/kiegészítőnév mappákban foglalnak helyet azon belül is beszédes, és bizonyos szintig szabványos névrendszer szerint pl railvehicles= vasúti járművek, railnetwork=vágányok, signals=jelzőkm audio=hangok, de ezeken a jelentéssel bíró fő mappákon belül már szabad a mappastruktúra
A world editor route és scenario részében a "bűvös kockával engedélyezhetők a betöltött kiegészítők fejlesztő és kiegészítőnév alapján, így elkerülhetőek a "nemtudom honnan raktam bele", és "nem tudom melyik szükséges kiegészítőt nem írtam a readmebe" problémák, ugyanis ha nincs engedélyezve az adott route/scenarion belül valami ,az nem is fog látszani a menükben és be sem töltődik, ami egyébként jótékonyan hat a játék teljesítményére.
A routek route adatai pedig a contents mappában foglalnak helyet, tehát jól különválaszthatóak a routek, és a hozzá tartozó objektumok, amik ugye az assetsben vannak.

-blueprint rendszer mindennek van egy "váza" egy konfigurációs fájl, amiből felépül valami. Ez egy xml fájl, ami egyébként exportáláskor gyakran kicsit más alakot ölt, a bin fájlba konvertáláson kívül (ugyanis a bin fáfl xml-ből vagy bármilyen nyers rw kompatibilis bemeneti fájlból a serz.exe nevű programmal hozható létre (amit egyébként az editorok meghívnak maguktól), de ugyanezzel vissza is fejthető, de mint írtam binbe konvertálás előtt kicsit átalakul az xml(NEM MINDEGYIK) így nem lesz kompatibilis a visszafejtett fájl a a blueprint editorral, de csak formailag, mert a tartalma az megmarad, és akár szövegszerkesztővel módosíthatod is, és visszabinelheted, viszont lényeges hogy RW xml-t NEM wines notepaddal írunk módosítunk, mert az rosszul kódol, az RW pedig visszaköpi (sőt már a serz visszaköpi, ugyanis ellenőrzi a bemenő fájlok helyességét)

-blueprint editor felhasználóbarát szerkesztőfelületen lehet létrehozni mindenféle blueprintet

-3dsxmax pluginek a modellezéshez, 3dcanvas pro alapból ismeri az RW/RS formátumát, blenderhez pedig szintén vannak ingyenes export scriptek. Pluginek photoshophoz, de egyébként rwacetoollal bármilyen népszerű formátumból lehet rw-be textúrát konvertálni (jpg, gif, png, tga, tif)

-paranccsori paraméterrrel indítható lua script debugger, hibaloggoló rendszer és audio debugger ami kiírja a hang hardver technikai értékeit, és a játékban megszólal hangok vezérlőértékeit, aktuális állapot (lejátszás, vagy nem, hangerő, sebesség), controlvaluelist

World editor (route editor és "acitvity" editor)
-kiváló route editor, amivel kis gyakorlás, és a toolok kipróbálgatása után gyerekjáték a route építés (bár még mindig baromi időigényes :), viszont pl a krstoolal automatizálható részben a scenery generálás), jó pár 10 órát eltöltöttem vele, olyan msts szerű "elszállnak a route-ból bizonyos dolgok néha" dolog soha nem volt, egyébként az rw támogatja az automata backupot.

-automatikus felsővezeték tartó oszlop lerakó tool

-a route editor a megfelelő helyre rakott SRTM domborzati adatokat a route template-ben megadott földrajzi adatok szerint, sőt akár a 9x nagyobb felbontású ASTER GDEM adatokat is egy T billentyű lenyomásával betölti az adott tile-ra.

-scenario editor igen fejlett útkereső MI-vel, ami bár néha makacskodik, de elég a célállomások megállóhelyek megadása(persze lehet szájbarágosan is rákényszeríteni fix utat amit te akarsz), a többit kiszámolja a gép. Akár 2 vágányos 2 irányú pályán előzést is kiszámol a vonattípus (gyak prioritás is megszabja) alapján, pl a tehervonatos játékos mögött haladó expressz személyt átirányítja a bal vágányra, a játékos vöröset kap a következő vágánykeresz előtt, majd bekanyarodik az expressz a játékos elé, miközben a szemből jövő vonat szintén vár. Nem kell trükközni a jelzőkkel fantomvonatokkal, rendesen működnek ezek.
Néhány óra gyakorlás után már igen sűrű forgalommal ellátott bonyolult scenariot (alias activity) lehet alkotni.

-vágány metadatok támogatása, pl elsődleges/másodlagos sebesség, hang, !vágánytípus! (személy, teher, fővonal, rendezőpályaudvar, stb) a scenario editor útkeresője pedig a vonat típus alapján irányítja a a vágánytípust figyelembe véve a vonatokat (pl személyvágányra nem mehet tehervonat, tehervágányra, rendezőpályaudvarra nem mehet személy, de a fővonalat mind2 használhatja, és még van pár ilyen típus), villamosítás

-az útkereső MI a vonat típusát, a pálya típusát, és sebességét egyaránt figyelembe veszi (pl az angol 4 vágányos pályákon a HST-ket inkább a középső nagysebességű vágányra irányítja, a tehervonatokat a külső kis sebességűekre, a mindenhol megálló személyeket meg oda ahol van hely

- alapból támogat mindenféle krixkrax vágánykapcsolatot, angolváltót, vágánykeresztet, automatikus, manuális váltót, nem kell xtracks meg ilyesmik

- mivel a vágányhálózaton kívül minden tile-okra osztva(bár a vágányhálózat is részben külön fájlban van (külön a vágányok, külön az utak, külön az egyéb loft objektumok, domborzat és egyéb scenery objetkumok), így routet akár párhuzamosan is fejleszthetnek többen


Egyéb
- hülyebiztos package támogatás (csomag), ezekbe a packagekbe, a packagerrel a fejlesztő bármilyen addont összerakhat egy csomagba, majd kiexportálhatja egy darabb rwp fájlba, amit a user pedig a package manager install gombjával, és az rwp kiválasztásával, majd némi várakozással telepíthet, sőt később uninstallálható, ismeri az RS rpk formátumát is

Nincsenek megjegyzések:

Megjegyzés küldése