DoÅ”ao je dan koji sam Äekao kada konaÄno mogu predstaviti ovaj razvoj. Projekt je zapoÄeo prije toÄno godinu dana, barem 1. rujna 2018 prvi commit ima toÄno ovaj datum.
PutniÄki vlak na Glavnom kolodvoru Rostov (na klik)
Å to je RRS? Ovo je otvoreni viÅ”eplatformski simulator željezniÄkih vozila Å”irine 1520 mm. Äitatelj Äe se, naravno, zapitati: āOprostite, Äemu ovaj projekt, ako postoji dovoljan broj željezniÄkih simulatora, komercijalnih i otvorenih?ā Za odgovor na ovo pitanje predlažem pogledati pod maÄku
Povijest projekta
Jednom davno, 2001. godine, objavljena je , Äime je nastala ogromna zajednica željezniÄkih simera u naÅ”oj zemlji. Tijekom nekoliko godina koliko je ovaj projekt postojao (sve dok ga Microsoft nije napustio, preÅ”avÅ”i na njemu zanimljivije stvari, poput bankrota Nokie itd.), projekt je stekao masu dodataka stvorenih za njega: rute, vozni park, scenariji.
Na temelju MSTS-a naknadno je nastao niz drugih projekata kao npr , i drugi dodaci i izvedenice. Pojavili su se i komercijalni projekti, poput poznatog . I sve bi bilo u redu, ali mnogi ljubitelji željezniÄkog prometa nisu zadovoljni ovim proizvodima iz sasvim objektivnih razloga - oni ni na koji naÄin ne odražavaju specifiÄnosti domaÄih željezniÄkih vozila koja se koriste i razvijaju na postsovjetskom prostoru. To je posebno akutno kada se pogleda kako su implementirane koÄnice vlakova - nijedan od navedenih projekata nema niti Äe imati normalnu implementaciju automatskih koÄnica Matrosovljevog sustava.
U ne tako dalekoj 2008. godini pojavio se joÅ” jedan projekt - , koji je razvio VjaÄeslav Usov. Projekt je znaÄajan po tome Å”to uzima u obzir i ispravlja gore navedene nedostatke, dok se u poÄetku usredotoÄuje na željezniÄka vozila ruskog kolosijeka. Ali postoji jedno veliko "ali" - projekt je vlasniÄki i zatvoren, arhitektonski ne dopuÅ”ta uvoÄenje vlastitog voznog parka.
I sam sam na temu željeznice doÅ”ao 2007. godine, kada sam poÄeo raditi , kao znanstveni novak, a nakon obrane doktorske disertacije 2008. godine, u zvanje viÅ”eg znanstvenog novaka. Tada sam se upoznao s najnovijim dostignuÄima na podruÄju simulacijskih igara željeznice u to vrijeme. I nije mi se svidjelo ono Å”to sam vidio, a projekt ZDSimulator u to vrijeme nije postojao. Kasnije sam, fasciniran dinamikom željezniÄkog vozila, doÅ”ao na Rostovsko državno sveuÄiliÅ”te za promet () s temom doktorske disertacije KoÄna dinamika teretnog vlaka. Danas vodim razvoj kompleksa za obuku željezniÄkog prometa za naÅ”e sveuÄiliÅ”te i predajem specijalizirane discipline na Odjelu za vuÄna željezniÄka vozila.
U vezi sa svime navedenim javila se ideja o izradi simulatora koji bi razvijaÄu dodatka za njega omoguÄio potpunu kontrolu nad fiziÄkim procesima koji se odvijaju u željezniÄkom vozilu. SliÄno svemirskom simulatoru Orbiter, za koji sam svojedobno razvio dodatak u obliku obitelji raketa-nosaÄa temeljenih na R-7. Prije godinu dana prihvatio sam se ovog posla i bacio sam se na njega. Ovdje je svjetlo ugledao 26. prosinca 2018 .
Moj rad su primijetili entuzijasti, au krugovima željezniÄara poznati kreator vizualnog sadržaja za ZDsimulator ponudio mi je pomoÄ i suradnju u daljnjem razvoju projekta. Kasnije nam se pridružio joÅ” jedan programer - ), kreator rute za ZDsimulator. NaÅ”a nas je suradnja dovela do naÅ”eg prvog izdanja. Video prikazuje pregled kako igra izgleda za svoje prvo izdanje

ZnaÄajke RRS simulatora
Prije svega, to je otvorena softverska arhitektura. Ne samo da je kod simulatora otvorenog koda, veÄ postoji i API i SDK namijenjeni programerima dodataka treÄih strana. Ulazna barijera je priliÄno visoka - potrebne su osnovne vjeÅ”tine razvoja u C++. Simulator je napisan u C++, koristeÄi GCC kompajler i njegovu MinGW varijantu za operativni sustav. WindowsOsim toga, preporuÄljivo je da programer bude upoznat s Qt frameworkom, jer mnogi njegovi koncepti Äine osnovu arhitekture igre.
MeÄutim, uz dužnu marljivost i želju, ovaj projekt razvijaÄu dodataka otvara ogromne moguÄnosti. ŽeljezniÄko vozilo implementirano je u obliku modula temeljenih na dinamiÄkim bibliotekama. Glavni strukturni element u simulatoru je jedinica voznog parka, ili mobilna jedinica (MU) - vagon (samohodni ili kao dio vlaka sa viÅ”e vlakova) ili dio lokomotive. API omoguÄuje postavljanje zakretnog momenta primijenjenog na PE kotaÄe, kao odgovor primajuÄi kutnu brzinu kotaÄa, kao i vanjske parametre, poput napona i vrste struje u kontaktnoj mreži. Simulator niÅ”ta drugo ne zna i ne želi znati, Å”to fiziku unutarnje opreme ostavlja na savjesti razvojnog inženjera odreÄene lokomotive ili automobila.
Nije teÅ”ko pogoditi da takav pristup relativno niske razine omoguÄuje implementaciju najmanjih nijansi kruga lokomotive. Osim toga, komplet simulatora ukljuÄuje skup standardne opreme instalirane na domaÄim željezniÄkim vozilima: dizalicu za vlak vozaÄa konv. Br. 395, stanje razdjelnika zraka. Br. 242, stanje ventila pomoÄne koÄnice. broj 254 i ostali elementi koÄne opreme. Programer dodatka treba samo spojiti ove elemente u pneumatski krug odreÄene lokomotive ili automobila. Osim toga, postoji API za stvaranje vlastitih hardverskih jedinica.
Arhitektonski, RRS je izgraÄen na interakciji dva glavna procesa
- simulator ā motor za fiziÄku dinamiku vlaka TrainEngine 2. Implementira fiziku kretanja vlaka, uzimajuÄi u obzir mnoge vanjske Äimbenike, uzimajuÄi u obzir meÄudjelovanje pokretnih jedinica preko ureÄaja za spajanje, obraÄuje podatke koji dolaze iz vanjskih modula koji provode fiziku rada opreme željezniÄkih vozila.
- gledatelj ā grafiÄki podsustav koji vizualizira kretanje vlaka, izgraÄen na temelju grafiÄkog motora
Ovi podsustavi meÄusobno djeluju putem zajedniÄke memorije, implementirane na temelju QSharedMemory klase Qt okvira. Prvi demo primjeri koristili su IPC temeljen na utiÄnicama, a planira se povratak ovoj tehnologiji u buduÄnosti, uzimajuÄi u obzir usavrÅ”avanje nekih dijelova simulatora i potrebe s pogledom na buduÄnost. Prijelaz na zajedniÄko pamÄenje donekle je bila iznuÄena mjera koja je nadživjela svoju korisnost.
NeÄu opisivati āānijanse - mnoge peripetije razvoja ovog projekta veÄ su navedene u mojim publikacijama na resursu, posebno imam priliÄno opsežan , koji je proizaÅ”ao iz prakse rada na ovom projektu.
Nije sve u projektu glatko kako bismo željeli. Konkretno, grafiÄki podsustav je daleko od savrÅ”enog u smislu kvalitete renderiranja, a izvedba sim-a ostavlja mnogo za poželjeti. Ovo izdanje ima jedan cilj - upoznati zajednicu entuzijasta željezniÄkog prometa s projektom, ocrtati njegove moguÄnosti i konaÄno stvoriti otvoreni željezniÄki simulator za viÅ”e platformi s naprednim API-jem za programere dodataka.
Planovi
Izgledi ovise o vama, naÅ”i dragi buduÄi korisnici i programeri. Projekt je otvoren i postoji odakle možete preuzeti simulator , Äiji Äe se sastav kontinuirano nadopunjavati. postoji projekt, I , gdje možete dobiti najdetaljnije savjete i pomoÄ.
Hvala vam!
Izvor: www.habr.com
