Atėjo diena, kurios laukiau, kai pagaliau galiu pristatyti šią plėtrą. Projektas pradėtas įgyvendinti lygiai prieš metus, bent jau 1 metų rugsėjo 2018 dieną pirmasis įsipareigojimas turi būtent šią datą.
Keleivinis traukinys Rostovo pagrindinėje stotyje (spustelėti)
Kas yra RRS? Tai 1520 mm vėžės riedmenų atviros kryžminės platformos treniruoklis. Skaitytojas natūraliai užduos klausimą: „Atsiprašau, kam skirtas šis projektas, jei yra pakankamai komercinių ir atvirų geležinkelio treniruoklių? Atsakymo į šį klausimą siūlau pažvelgti po katinu
Projekto istorija
Kažkada, 2001 m., jis buvo išleistas , dėl kurio mūsų šalyje susiformavo didžiulė geležinkelių bendruomenė. Per kelerius šio projekto gyvavimo metus (kol Microsoft jo atsisakė, pereidama prie jam įdomesnių dalykų, tokių kaip "Nokia" bankrotas ir pan.), projektas įgijo daugybę jam sukurtų priedų: maršrutų, riedmenų, scenarijai.
Remiantis MSTS, vėliau buvo sukurta daugybė kitų projektų, pvz , ir kiti priedai bei dariniai. Atsirado ir komercinių projektų, tokių kaip garsieji . Ir viskas būtų gerai, tačiau daugelis geležinkelio transporto gerbėjų šiais gaminiais nepatenkinti dėl gana objektyvių priežasčių – jie jokiu būdu neatspindi posovietinėje erdvėje eksploatuojamų ir plėtojamų vidaus riedmenų specifikos. Tai ypač aktualu žiūrint, kaip diegiami traukinių stabdžiai – nei vienas iš išvardytų projektų neturi ir neturės normaliai įdiegtų Matrosovo sistemos automatinių stabdžių.
Ne taip tolimais 2008 metais pasirodė dar vienas projektas - , sukūrė Viačeslavas Usovas. Projektas nuostabus tuo, kad jame atsižvelgta ir ištaisomi minėtieji trūkumai, o iš pradžių daugiausia dėmesio skiriama rusiškos vėžės riedmenims. Tačiau yra vienas didelis „bet“ - projektas yra patentuotas ir uždaras, architektūriškai neleidžiantis įvesti savo riedmenų.
Aš pats į geležinkelių temą atėjau 2007 m., kai pradėjau dirbti , kaip mokslinis bendradarbis, o 2008 m. apgynęs daktaro disertaciją, vyresnysis mokslo darbuotojas. Būtent tada ir susipažinau su naujausiais to meto laimėjimais geležinkelio simuliacinių žaidimų srityje. Ir man nepatiko tai, ką pamačiau, o „ZDSimulator“ projektas tuo metu neegzistavo. Vėliau, susižavėjęs riedmenų dinamika, atvykau į Rostovo valstybinį transporto universitetą () su daktaro disertacijos tema prekinio traukinio stabdymo dinamika. Šiandien vadovauju geležinkelių transporto mokymo kompleksų kūrimui mūsų universitete ir dėstau specializuotas disciplinas Traukos riedmenų katedroje.
Atsižvelgiant į tai, kas išdėstyta aukščiau, kilo idėja sukurti treniruoklį, kuris leistų jo priedo kūrėjui visiškai kontroliuoti riedmenyje vykstančius fizinius procesus. Panašus į „Orbiter“ kosminį treniruoklį, kuriam kažkada sukūriau papildymą nešančiųjų raketų šeima, pagrįsta R-7. Prieš metus ėmiausi šio darbo ir pasinėriau į jį. 26 metų gruodžio 2018 diena čia išvydo šviesą .
Mano kūrybą pastebėjo entuziastai, gerai žinomas geležinkelių mėgėjų rate, ZDsimulator vizualinio turinio kūrėjas. pasiūlė man pagalbą ir bendradarbiavimą toliau plėtojant projektą. Vėliau prie mūsų prisijungė kitas kūrėjas - ), maršruto kūrėjas, skirtas ZDsimulator. Mūsų bendradarbiavimas paskatino mus išleisti pirmąjį leidimą. Vaizdo įraše apžvelgiama, kaip atrodo pirmasis žaidimas

RRS simuliatoriaus ypatybės
Visų pirma, tai atvira programinės įrangos architektūra. Atvirojo kodo yra ne tik simuliatoriaus kodas, bet ir API bei SDK, skirti trečiųjų šalių priedų kūrėjams. Įėjimo barjeras yra gana aukštas – reikalingi pagrindiniai C++ kūrimo įgūdžiai. Simuliatorius parašytas C++ kalba, naudojant GCC kompiliatorių ir jo „MinGW“ variantą operacinei sistemai. WindowsBe to, kūrėjui patartina būti susipažinusiam su „Qt“ sistema, nes daugelis jos koncepcijų sudaro žaidimo architektūros pagrindą.
Tačiau su deramu kruopštumu ir noru šis projektas atveria milžiniškas galimybes priedų kūrėjui. Riedmenys realizuojami modulių, pagrįstų dinaminėmis bibliotekomis, forma. Pagrindinis konstrukcinis elementas simuliatoriuje yra riedmenų vienetas, arba mobilusis agregatas (MU) – automobilis (nesavaeigis arba kaip sudėtinio traukinio dalis) arba lokomotyvo sekcija. API leidžia nustatyti PE ratų komplektams taikomą sukimo momentą, reaguojant į ratų komplektų kampinį greitį, taip pat išorinius parametrus, tokius kaip įtampa ir srovės tipas kontaktiniame tinkle. Simuliatorius daugiau nieko nežino ir nenori žinoti, o tai vidinės įrangos fiziką palieka konkretaus lokomotyvo ar automobilio kūrėjo sąžinei.
Nesunku atspėti, kad toks palyginti žemo lygio požiūris leidžia įgyvendinti mažiausius lokomotyvo grandinės niuansus. Be to, į treniruoklio rinkinį įeina standartinės įrangos, sumontuotos buitiniuose riedmenyse, rinkinys: mašinisto traukinio krano konv. Nr.395, oro skirstytuvo būklė. Nr.242, pagalbinio stabdžio vožtuvo būklė. 254 ir kitus stabdžių įrangos elementus. Priedo kūrėjui tereikia šiuos elementus sujungti į konkretaus lokomotyvo ar automobilio pneumatinę grandinę. Be to, yra API, leidžianti kurti savo aparatūros blokus.
Architektūriniu požiūriu RRS yra pagrįsta dviejų pagrindinių procesų sąveika
- treniruoklis — fizinio traukinio dinamikos variklis TrainEngine 2. Įgyvendina traukinio judėjimo fiziką atsižvelgdamas į daugelį išorinių veiksnių, atsižvelgdamas į judančių vienetų sąveiką per sukabinimo įtaisus, apdoroja duomenis, gaunamus iš išorinių modulių, kurie įgyvendina riedmenų įrangos veikimo fiziką.
- žiūrovas — grafinė posistemė, vizualizuojanti traukinio judėjimą, sukurta grafinio variklio pagrindu
Šios posistemės sąveikauja viena su kita per bendrą atmintį, įdiegtą pagal Qt sistemos QSharedMemory klasę. Pirmosiose demonstracinėse versijose buvo naudojamas lizdas pagrįstas IPC, o ateityje planuojama grįžti prie šios technologijos, atsižvelgiant į kai kurių simuliatoriaus dalių tobulinimą ir poreikius, žvelgiant į ateitį. Perėjimas prie bendros atminties tam tikru mastu buvo priverstinė priemonė, kuri jau nebegalioja.
Neapibūdinsiu niuansų - daugelis šio projekto vystymo peripetijų jau aprašytos mano publikacijose apie išteklius, visų pirma, aš turiu gana platų , kuri išaugo iš praktikos dirbant su šiuo projektu.
Ne viskas projekte vyksta taip sklandžiai, kaip norėtume. Visų pirma, grafikos posistemis labai toli gražu nėra tobulas atvaizdavimo kokybės požiūriu, o SIM našumas palieka daug norimų rezultatų. Šis leidimas turi vieną tikslą – supažindinti geležinkelių transporto entuziastų bendruomenę su projektu, apibūdinti jo galimybes ir galiausiai sukurti atvirą kelių platformų geležinkelio simuliatorių su pažangia API priedų kūrėjams.
Перспективы
Perspektyvos priklauso nuo jūsų, mūsų brangūs būsimi vartotojai ir kūrėjai. Projektas yra atviras ir egzistuoja Iš kur galite atsisiųsti simuliatorių , kurios sudėtis bus nuolat pildoma. Egzistuoja projektas, Ir , kur galite gauti išsamiausių patarimų ir pagalbos.
Dėkojame už dėmesį!
Šaltinis: www.habr.com
