Перейти к содержанию

Проект TCH-club.ru приглашает

в мир виртуальной железной дороги, в основу которой лег симулятор RtrainSim. Мы предлагаем ощутить всю мощь локомотивов от первого лица, управляя этими монстрами из кабины. Грузовые, пассажирские составы, а может просто маневры? А может Вам хочется управлять и навести порядок в этом хаосе движения? Приходите к нам, мы научим Вас всему!
Гоу!

ТЧ-клуб.рф

собственность проекта www.TCH-club.ru, на котором действуют правила, привилегии, приказы, указы и пр. распоряжения в управлении основного домена, а так же все ограничения, включая баны.
Гоу!

Multitranslogistic.ru

официальный домен-алиас проекта www.TCH-club.ru с наследованием всех прав и разрешений основного домена
Гоу!

Партнерка

Проект ТЧ-клуб.рф приглашает к обмену ссылками по программе Партнерка, а так же к сотрудничеству молодых и не только проектов в рамках симулятора Rtrainsim
Гоу!
News tape:
  • • С 04.09.2021г. проект ТЧ-клуб.рф в рамках соглашения с MaDaDev Inc. получает право на использование и сопровождение дополнений Rtrainsim посредством лаунчера проекта MaDaDev RTS. Так же в рамках соглашения запускается модернизация технической части проекта. Возможны перебои в работе, доступа и пр. Спасибо за понимание! •
Авторизация  
t_reks

Russian Railway Simulator (RRS)

Рекомендуемые сообщения

Russian Railway Simulator (RRS)

 

 

 

 

История проекта

 

Когда-то давным давно, в 2001 году, увидел свет Microsoft Train Simulator (MSTS), породивший в нашей стране огромное сообщество ж/д-симмеров. За несколько лет, которые просуществовал этот проект (пока Майкрософт не забросила его, занявшись более интересными для неё вещами, типа обанкрочивания Нокии и т.п.) проект оброс массой созданных для него дополнений: маршрутов, подвижного состава, сценариев.

На основе MSTS, в последствии, был создан ряд других проектов, такие как OpenRails, RTrainSim (RTS) и прочие дополнения и производные. Появились и коммерческие проекты, такие как знаменитейший Trainz. И все бы хорошо, но многих любителей ж/д транспорта эти продукты не устраивают по вполне объективным причинам — они никак не отражают специфику отечественного подвижного состава, эксплуатируемого и разрабатываемого на постсоветском пространстве. Особенно остро это проявляется при взгляде на то, как реализуются тормоза поезда — ни в одном из перечисленных проектов нет и не будет нормальной реализации автоматических тормозов системы Матросова.

В неблизком уже, 2008 году появился другой проект — ZDSimulator, разработанный Вячеславом Усовым. Проект замечателен тем, что вышеперечисленные недостатки он учитывает и исправляет, при этом изначально ориентирован на подвижной состав русской колеи. Но есть одно большое «но» — проект проприетарный и закрытый, архитектурно не допускающий внедрение в него собственного подвижного состава.

Сам я пришел к железнодорожной тематике в 2007 году, когда стал работать в ОАО ВЭлНИИ, в должности научного сотрудника, а после защиты кандидатской диссертации в 2008 году — старшего научного сотрудника. Тогда же я и познакомился с последними на тот момент достижениями в области железнодорожных игр-симуляторов. И то что я увидел, мне не понравилось, а проекта ZDSimulator на тот момент еще не было. В дальнейшем я, увлеченный динамикой подвижного состава, пришел в Ростовский государственный университет путей сообщения (РГУПС) с темой докторской диссертации по динамике торможения грузового поезда. На сегодняшний день я руковожу разработкой тренажерных комплексов ж/д транспорта для нашего вуза и преподаю профильные дисциплины на кафедре «Тяговый подвижной состав».

В связи со всем вышеперечисленным возникла идея создания симулятора, который позволял бы разработчику дополнения для него получить полный контроль над физическими процессами, протекающими в подвижном составе. Сродни космическому симулятору Orbiter, для которого я разработал в свое время дополнение в виде семейства ракет носителей на базе Р-7. Год назад я взялся за эту работу и ушел в нее с головой. 26 декабря 2018 года увидела свет вот эта технологическая демка.

Моя работа была замечена энтузиастами, и известный в кругах ж/д-симмеров, создатель визуального контента для ZDsimulator Роман Бирюков (Ромыч РЖДУЗ) предложил мне помощь и сотрудничество в дальнейшем развитии проекта. Позже к нам присоединился еще один разработчик — Александр Мищенко (Ulovskii2017), создатель маршрутов для ZDsimulator. Наша совместная работа привела нас к первому релизу. На видео — некоторый обзор того, как игра выглядит к своему первому релизу

 

Особенности симулятора RRS

 

Прежде всего это — открытая программная архитектура. Не говоря даже о том, что код симулятора открыт, существует API и SDK, ориентированный на разработчиков сторонних дополнений к нему. Порог вхождения довольно высок — требуются базовые навыки разработки на языке C++. Симулятор написан именно на нем, с применением компилятора GCC и его варианта MinGW для операционной системы Windows. Кроме того, желательно знакомство разработчика с фреймворком Qt, так как многие концепции из него лежат в основе архитектуры игры.

Однако, при должном усердии и желании, данный проект открывает для разработчика дополнений огромные возможности. Подвижной состав реализуется в виде модулей на базе динамических библиотек. Основным структурным элементом в симуляторе является единица подвижного состава, или подвижная единица (ПЕ) — вагон (несамоходный или в составе моторвагонного поезда) или секция локомотива. API дает возможность задавать крутящий момент, приложенный к колесным парам ПЕ, в ответ получая угловую скорость колесных пар, а так же внешние параметры, вроде напряжения и рода тока в контактной сети. Больше симулятор ни о чем не знает и знать не хочет, что оставляет физику работы внутреннего оборудования на совести разработчика конкретного локомотива или вагона.

Нетрудно догадаться, что такой относительно низкоуровневый подход дает возможность реализовать мельчайшие нюансы схемы локомотива. Кроме того, в комплект симулятора входит набор стандартного оборудования, устанавливаемого на отечественный подвижной состав: поездной кран машиниста усл. №395, воздухораспределитель усл. №242, кран вспомогательного тормоза усл. №254 и прочие элементы тормозного оборудования. Разработчику дополнения достаточно лишь соединить эти элементы в пневматическую схему конкретного локомотива или вагона. Кроме того, имеется API для создания собственных блоков оборудования.

 

Архитектурно RRS построен на взаимодействии двух главных процессов

 

simulator — физический движок динамики поезда TrainEngine 2. Реализует физику движения поезда с учетом множества внешних факторов, учитывая взаимодействие подвижных единиц через сцепные приборы, занимается обработкой данных, поступающих из внешних модулей, реализующих физику работы оборудования подвижного состава
viewer — графическая подсистема, выполняющая визуализацию движения поезда, построенная на базе графического движка OpenSceneGraph

Эти подсистемы взаимодействуют между собой через общую память, реализуемую на базе класса QSharedMemory фреймворка Qt. Первые демо-версии использовали IPC на базе сокетов, и в дальнейшем планируется возврат на эту технологию, учитывая доработку некоторых частей симулятора и потребности с прицелом на будущее. Переход на общую память был в какой-то степени вынужденной мерой, которая изжила себя.

Не буду описывать нюансы — многие из перипетий развития этого проекта уже изложены в моих публикациях на ресурсе, в частности у меня есть довольно обширный цикл туториалов по движку OpenSceneGraph, выросший как раз из практики работы над данным проектом.

В проекте не все так гладко как хотелось бы. В частности, графическая подсистема весьма далека до совершенства в части качества рендеринга, да и производительность сима оставляет желать лучшего. Данный релиз имеет одну цель — познакомить сообщество любителей ж/д транспорта с проектом, очертить его возможности и наконец-то создать открытый, кроссплатформенный железнодорожный симулятор с продвинутым API для разработчика дополнений.

 

© (RRS)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...