Russian Railway Simulator (RRS): первый публичный релиз

    Наступил тот долгожданный мной день, когда я наконец могу представить эту разработку. Проект был начат ровно год назад, 1 сентября 2018 года, по крайней мере в репозитории RRS на Gtihub первый коммит имеет именно такую дату.

    Пассажирский поезд на станции Ростов Главный (кликабельно)



    Что такое RRS? Это открытый кроссплатформенный симулятор подвижного состава колеи 1520 мм. Читатель закономерно задаст вопрос: «Позвольте, а для чего нужен этот проект, если симуляторов железнодорожной тематики, как коммерческих, так и открытых, достаточное количество?» За ответом на этот вопрос я и предлагаю заглянуть под кат

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


    Когда-то давным давно, в 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 для разработчика дополнений.

    Перспективы


    Перспективы зависят от вас, наши дорогие будущие пользователи и разработчики. Проект открыт, существует официальный сайт, где можно скачать симулятор, с документацией, состав которой будет непрерывно пополнятся. Существует форум проекта, группа ВК, и канал на YouTube, где можно получить самую подробную консультацию и помощь.

    Спасибо за внимание!
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 196

      +16
      У вас очень крутой симулятор. Желаю вам успеха.
      Но то как вы в «интервью» наезжаете(хочется сказать более грубое слово) на сообщество ZDS выглядит как нытье обиженного подростка. Уберите ту статью из паблика, не позорьтесь.
        –1
        Это не нытье, а наезд на в конец обалдевших проприетарщиков, разрывающих отрасль на куски. Не буду убирать, мне не стыдно за эту публикацию
          +4
          Если бы вы там просто аргументированно рассказали что за хрень они творят — это был бы наезд.
          А так, с выкладыванием переписки, придумыванием обзывательств, да еще и с замаскированным этим всем под якобы интервью. Ну плохо со стороны выглядит.
          Читал по диагонали, потому что к первой трети уже устал от такой подачи, но не создалось впечатления что они мудаки. Создалось впечатление что они делают продукт так, чтобы на нём заработать и вам это просто не нравится.
            +3
            Да, мне не нравится, что они, зарабатывая, агрессивно дистанцируются от любой критики. Людей не разбирающихся в физике и математике они давят авторитетом «великих разработчиков». Половина форума на премодерации, читаются и удаляются даже личные сообщения. Нормально да? Я, конечно же не имею права спросить с них ничего, заплатив деньги за лицензию, только кланятся богоподобным и слезно просить…

            На мне они сломали зубы, задавить авторитетом не получилось, пришлось забанить.

            Не разводите тут демагогию — со своей точки зрения я не сойду, так что копья ломать не надо. И не в тему. Спасибо за положительный отзыв, будем стараться и постепенно раскручивать эту машину дальше. Всех благ
              +11
              Вы выбрали лучший из возможных вариантов — сделать своё.
              Зачем вам срач что?

              Нормально да?

              А я не их сужу. Я сужу ваш материал с критикой. И он плох.
                0
                Я сужу ваш материал с критикой. И он плох

                Это Ваше личное мнение, отличное от мнения многих других людей. Не вижу основания соглашаться с Вашими доводами
        +7
        Ценность того же Trainz в том, что энтузиасты нарисовали настоящие маршруты.
        Например:
        Маршрут, моделирующий железную дорогу Кольского полуострова Мурманской области от Никеля до Мурманска и от Мурманска до Кандалакши.

        Маршрут разработан по существующему направлению с Белорусского вокзала, сообщением Москва — Вязьма.

        Маршрут построен на основе реалистичной линии Сухум-Адлер.

        Первая часть маршрута Севастополь-Симферополь (до Бахчисарая), протяжённостью 77 км.

        Маршрут начинается от Ладожского вокзала, проходит станцию Волховстрой и заканчивается в Тихвине.

        А какой там движок не так интересно, как проехать по реальному маршруту.
          +1
          Ценность того же Trainz в том, что энтузиасты нарисовали настоящие маршруты.

          Настоящие маршруты? В Трейнзе? Не смешите меня. В ZDSimulator настоящие маршруты, да, но не в трейнзе. Я знаю о чем говорю
            +1
            В любом случае в сравнении с RRS у других симуляторов маршруты есть.
              0
              И у нас есть — вся база маршрутов ZDSimulator. Конвертер в руки, инструкция по конвертации есть на сайте, и едьте по любому маршруту, их достаточно сделано
                +11
                в этом сразу фейл — я не хочу чото там искать конвертировать и тд — я хочу нажал кнопочку вбой играть и фперед.

                поэтому вангую вам эпикфейл со старта и условно полторы калеки

                И, кстати, я никогда не понимал почему вечно какието костыли свои вписывают, например, его было бы не запилить хотябы же на том Unreal и былабы хорошая графика из коробки, кучи готовых плагинов и т.д и т.п
                  +2
                  Ну это же альфа билд для фанатов, обычные пользователи должны ждать релиз, там очевидно всё будет.
                    +2
                    Я работал в отрасли тренажеростроения для РЖД (Сапсан), а потому мне кажется, что у человека не «Общедоступная игрушка», а некий тулкит для разработки визуализаций тренажерам. Стоимость таких тренажеров может быть под 10-20 лямов, а приобретать под эти дела движок не хочется часто (товар штучный).
                    Мы использовали Юнити, но вынуждены были все с нуля разрабатывать.
                    Здесь же дают готовый тулкит для разработки дорог и их визуализации.

                    Если рассуждать с такой позиции — то это очень полезная работа.
            +4

            Отлично. Долго не мог понять как тронуться, подсмотрел на видео.
            На скорости 280 пропали стрелки на панели ) комп слабоват. А вообще насколько реально проехать на такой скорости 50 км и не сойти с рельсов?

              +17
              … и никто не делает симулятор маневровой жд работы (диспетчера), а ведь там самый интерес — успеть освободить путь под прибывающий поезд, организовать безостановочную работу маневровых локомотивов, собрать из нескольких прибывших поездов один на отправку, да даже работа сортировочной горки чего стоит!
              А так конечно здорово везти поезд с одного пункта на другой, но драйва не хватает :)
                +2
                ShortLine 2.0 не подойдет?
                  0
                  Фу :)
                  Есть же LocoMania, Train Valley да даже в OpenTTD можно навороченную сигнализацию делать.
                  Faint на заметку
                    0
                    В OTTD нельзя замутить автоматическую реогранизацию составов, а значит это уже не маневровые работы.
                    Или уже есть патчи позволяющие такое?
                      0
                      Патчи с реализацией маневровой работы периодически появляются (емнип видел какой-то еще лет 12 назад), но из-за общей сложности и забагованности в основную ветку не уходят, а потом и сами авторы на них забивают. Последняя попытка вроде бы эта — www.tt-forums.net/viewtopic.php?t=83374
                        +1
                        Круто! Спасибо
                      0
                      LocoMania не знаю, но TrainValley это вообще песочница для детей, небольшая головоломка. В TransportTycoon даже при тщательном планировании то и дело аварии случаются, симуляция там так себе
                    +2

                    По сортировочной горке был симулятор еще во времена моей учебы в РГУПСе. Насколько он открыт и что стало с проектом далее — без понятия. Да, драйва там хоть отбавляй. ) Легендарная игра "Ну, погоди!", где волк яйца ловит — нервно курит в сторонке.

                      0
                      Сортировочная горка жива-здорова. Добавились и другие тренажерные комплексы — если интересно какие — Вам сюда
                      0

                      Не все из этого есть, но в openTDD имхо можно долго ковыряться с жд сетью.

                        0
                        После длительного перерыва в OpenTTD можно (с удовольствием!) провести пару вечеров после работы просто ковыряясь в настройках.
                      +3
                      Спасибо, интересно. Неужели такие большие отличия российской ЖД от иностранной?

                      PS: А метро в симуляторе поддерживаться будет? :)
                        +3
                        Долго глядел на картинку, пытаясь найти элемент, на котором мозг сломался.
                        Оказывается, там шпалы изгибаются, примерно как верхняя губа у человека.
                          +5
                          Поиграл минут 30. В целом впечатляет для проекта, который делает один человек.

                          Немного обратной связи:
                          1) На стартовой локации FPS = 45..48, для RTX 2060 это как-то маловато
                          image
                          Надеюсь, оптимизации будут.

                          2) Встречаются странные модели, висящие в воздухе
                          image

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

                          4) Провода дальше метров 10 отображаются как отдельные пиксели. В жд симуляторе много проводов, это сильно портит картинку.
                          image

                          5) Зеркала фейковые (((
                          image

                          6) Некоторые стрелки выглядят странно
                          image

                          7) Звуки в кабине моно, не привязаны к реальным положениям источников

                          Буду следить за развитием!

                          P.S. Автозапуск локомотива — отличная идея )
                            +11
                            Проект делают три человека. За отзывы — спасибо, недостатки будут устранятся со временем
                            –4
                            Среди разработчиков случайно нет тех кто разрабатывал Lada Racing Club?
                            Графон настораживает
                              +4
                              Нет
                                –2
                                В симуляторах графон вторичен.
                                Ну и очевидно, что такой проект не может нигде найти крутых артистов на весь контент — выйдет слишком дорого.
                                  +8
                                  В симуляторах графон вторичен.

                                  (отрываясь от DCS) Ну не сказал бы.


                                  Это же просто красиво: тыц тыц тыц тыц тыц.


                                  Ну или в динамике: https://youtu.be/hBYwKYblKgs (надо бы ещё позаписывать, эх).


                                  Просто приятно так играть.

                                    0
                                    Графон это круто. Просто симуляторщикам он не так важен.
                                      +1

                                      Ну так DCS один из дву топовых авиасимов таки. И эти же симуляторщики почему-то очень радуются эффектам типа капель на стекле или overwing vapour.

                                        +1
                                        А почему бы им не радоваться? Повторюсь — графон это круто.
                                          0
                                          А второй какой?
                                            0

                                            Falcon BMS. Но он какой-то дохлый, и лично я его в топы бы не записывал, но знаю людей, которые фанатеют по тамошней динамической кампании.

                                              0
                                              А, вы только военную авиацию считаете авиасимами. Зря. Я грешным делом запереживал, кто это покушается на тройку бесспорных ГА-лидеров XP+P3D+FSX :)
                                                0

                                                Ну ГА это да :) DCS там банально нечего делать.


                                                Впрочем, я пару лет назад попробовал погонять FSX, и что-то у меня сложилось впечатление, что flight model там так себе. Самолёты как-то как по рельсам летают.

                                                  0
                                                  Да, есть такое. Попробуйте X-Plane. В отличие от FSX, это не заброшенный проект (новые версии регулярно выходят), там более продвинутая флайтмодель и он сам по себе графонистее.
                                                    0

                                                    Скоро выйдет Flight Simulator 2020, может там флайт модели улучшатся (вместе с графикой).
                                                    https://youtu.be/ReDDgFfWlS4

                                                      0
                                                      Да, в FSX ФМ очень рельсовая, то ли дело X-Plane.
                                                      Еще в Ил-2БЗБ и Ил-2БЗС неплохая ФМ, но оно про поршневую авиацию времен ВМВ и с меньшим уровнем контроля, нежели тру-симы.
                                                        0
                                                        На поршневой времен ВМВ привыкшим к скучным современным свисткам просто нечего контролировать :)

                                                        Всё что положено для тех времен там в общем-то было (не могу в 2019 говорить о них в настоящем времени) и на ФМ влияло еще как. При тяговооруженности меньше единицы граждане, не умеющие с должным контролем в размен кинетической в потенциальную и обратно сливали только так :)
                                                        0
                                                        В 2017 году уже не стоило пробовать FSX. Тогда как раз появился X-Plane 11, рекомендую попробовать, благо у него есть бесплатная демо версия.
                                            +4
                                            Распространённая ошибка — путать устаревший графон и плохой графон.
                                              0
                                              А с чего вы взяли что здесь имеет место быть такая путаница?
                                                0
                                                Потому что я смотрю на скрины в комментах выше и вижу ужасные вещи.
                                                  0
                                                  А можно чуть конкретнее?
                                                  Расскажу что я вижу плохого:
                                                  трава, отсутствие реалтайм теней
                                                  Всё остальное — чисто проработка контента(отсутствие нормалмапов, низкое качество текстурирования)
                                        +3
                                        Не запускал не смотрел, но графика очень печальна. Почему не взяли на основу Unreal или Unity?
                                          0
                                          Сначала тоже хотел этот вопрос задать. Тем более VR в этот симулятор так и просится, а в том же UE он из коробки есть.
                                          Но не стал его задавать, т.к. ответ очевиден: делали на том, на чём умеют.
                                            0
                                            Тем более VR в этот симулятор так и просится, а в том же UE он из коробки есть.

                                            И там, не поверите, уже есть VR. И анреал для этого не обязателен
                                              0
                                              Я не говорил что он обязателен, я сказал что там он есть из коробки. Это сильно разные вещи.
                                                0
                                                А что там там сильно разного. Api у того же oculus простая вещь. Фактически, нужно просто отрендить в две rendertarget с различным положением камеры. Вообще не критичный функционал у движка.
                                                  0
                                                  Шлемов несколько разных, у каждого свой API.
                                                  Насколько я помню — единого стандарта нет.
                                                  Соответственно надо для каждого реализовывать поддержку, чтобы она была.
                                                    0
                                                    Суть не меняется — отрендить два раза со смещением камеры для стереоскопии. Дал выбрать тип шлема, выбрал соответствующие функции. Если бы у меня был готовый классный симулятор, это была бы вишенка на торте.
                                                      0
                                                      Мне кажется вы превратно представляете сложность внедрения поддержки шлема в движок.
                                                      Steam VR HMD плагин в том же UE занимает несколько тысяч строк кода. Еще примерно столько же контроллер.
                                                        0
                                                        Это уже все есть. Например Можно брать и пользоваться.
                                            –9
                                            Почему не взяли на основу Unreal или Unity?

                                            Потому что
                                            Не запускал не смотрел

                                            «Не смотрел, но осуждаю»
                                              +9
                                              1 и 2 пункт говорят о том, что вы не умете работать суказанными движками, т.к. на них(во всяком случае на UE) обозначенное делается без проблем.
                                              Ну а 3 — работаем с тем, с чем умеем.

                                              P.S.
                                              Давать ответ на огромную статью, вместо того чтобы привести конкретную выдержку — моветон.
                                                +2
                                                Что же касается UE, и на этом и на других ресурсах за два года мной было задано достаточно вопросов, о том как отделить процесс сборки проекта от процесса добавления/изменения используемых им ресурсов, и адекватного ответа я не получил ни в документации, ни от «матерых» геймдевелоперов. Буду очень рад (без сарказма) если меня аргументировано натыкают носом во что-то, что было мной упущено.

                                                Видимо слишком абстрактный вопрос, вот ответа и не получили.
                                                Вообще, ответ на этот вопрос можно легко найти, если поискать по запросу «Unreal Engine реализация поддержки модификаций».
                                                UE естественно прекрасно поддерживает модификации, и сама концепция модов требует, чтобы их можно было создавать не имея доступа к самому проекту.

                                                каким образом подобные локации можно создавать независимо от редактора и без пересборки проекта?

                                                А зачем их создавать независимо от редактора?
                                                UE предоствляет мощный и удобный редактор, собирай в нём всё что хочешь.
                                                Также никто не мешает грузить данные в рантайме удобным вам способом.
                                                  –1
                                                  Также никто не мешает грузить данные в рантайме удобным вам способом.

                                                  Документацию, описание — в студию. Без этого все Ваши аргументы — пустословие.
                                                    +1
                                                    Давайте чуть больше конкретики. Вопрос слишком абстрактный. В зависимости от задачи это решается по разному.
                                                    Например, когда мне надо было загрузить кастомный файл в рантайме с ландшафтом я делал это так:
                                                    bool cTerraformaGrid::loadFromFile(FString FileName) {
                                                    	TArray<uint8> tfaRAW;
                                                    	if (!FFileHelper::LoadFileToArray(tfaRAW, *FileName))
                                                    	{
                                                    		if (GEngine)
                                                    			GEngine->AddOnScreenDebugMessage(-1, 5.5f, FColor::Red, "Cant open terraforma landscape from " + FileName);
                                                    		return false;
                                                    	}
                                                    
                                                    	return loadFromArray(tfaRAW);
                                                    }

                                                    github.com/Allexin/TerraformaGame/blob/master/UEProject/Source/Terraforma/Landscape/cTerraformaGrid.cpp

                                                    Когда мне надо было, что файл импортировался как ассет — я сделал плагин:
                                                    github.com/Allexin/TerraformaGame/tree/master/UEProject/Plugins
                                                      –6
                                                      Вопрос слишком абстрактный. В зависимости от задачи это решается по разному.

                                                      Золотые слова. Вот именно.
                                                      Поэтому я и говорю о том, что необходимо обсуждать конкретные предложения по реализации участка ж/д средствами UE или Unity. Есть такие предложение? Пример кода не является законченной технологией. Когда будет описание технологии, или хотя бы её аргументированная концепция, тогда и поговорим предметно. А пока всякие аураны и прочие гиганты индустрии почему-то пишут свой игровой движок, основываясь на графических фреймворках. Видимо, по той же причине, по которой это делаем и мы
                                                        +9
                                                        Есть такие предложение?

                                                        Отдельная карта + Level Streaming(https://docs.unrealengine.com/en-US/Engine/LevelStreaming/index.html). Вообще ничего придумывать не надо.
                                                        Карта добавляется как DLC(https://www.tomlooman.com/add-mod-support-to-your-unreal-engine-4-game/). Тут даже кода писать не придется.

                                                        А пока всякие аураны и прочие гиганты индустрии почему-то пишут свой игровой движок, основываясь на графических фреймворках.

                                                        О, если бы вы были гигантами — вопрос про использование движка бы не возник.
                                                        А пока у вас плохая графика, которая тормозит. И врядли силами трех человек без бюджета вы сможете что-то изменить. Это я опять же возьмусь утверждать, потому что до UE в течении 10 лет занимался разработкой графических движков.

                                                        Впрочем, повторюсь — я вам UE не продаю(не смешите высказываниями про бесплатность, это устойчивое выражение и к цене не имеет отношения), а лишь указываю на несостоятельность ваших утверждений в сторону этого движка.
                                                    0
                                                    Вообще, ответ на этот вопрос можно легко найти, если поискать по запросу «Unreal Engine реализация поддержки модификаций».

                                                    При быстрой замене UE на Unity, наспех ничего годного найти не удалось.
                                                    Не ту ли у кого-нибудь под рукой годных статеек по созданию поддержки модификаций игр под Unity?
                                                      0

                                                      В большинстве известных мне Unity-игр с поддержкой модов, игра просто загружает выбранные пользователем DLL (из папки или Steam Workshop), а они уже патчат код через Harmony. API для интеграции модов в игру желателен, но не обязателен, всё равно всего не предусмотреть.

                                                        0
                                                        Да, я тоже недавно на Harmony наткнулся, но интересно есть ли еще какие-то способы и не совсем понимаю что со стороны разработчика нужно сделать, что бы можно было свободно делать моды через Harmony
                                                    –16
                                                    1 и 2 пункт говорят о том, что вы не умете работать суказанными движками, т.к. на них(во всяком случае на UE) обозначенное делается без проблем.
                                                    Ну а 3 — работаем с тем, с чем умеем.


                                                    1. Кто Вам сказал, что я не умею?
                                                    2. Делается легко — СДЕЛАЙТЕ! Кто Вам мешает?
                                                      +10
                                                      Кто Вам сказал, что я не умею?

                                                      Вы мне сказали, когда делали высказывания о движке, которые не соответствуют действительности.

                                                      2. Делается легко — СДЕЛАЙТЕ! Кто Вам мешает?

                                                      Ой, что вы так остро реагируете? Я вам UE не продаю.
                                                        –24
                                                        Потому что балабольство и пустословие вокруг возможностей хайповых движков меня уже порядком поддостало. Хотите обрисовать их возможности применительно к данной задаче — извольте предъявить обоснованные аргументы, в которых будет видна Ваша компетентность в вопросе и знание инструментария.

                                                        Я вам UE не продаю

                                                        UE бесплатен с открытыми исходниками. Если потрудитесь полистать мои статьи, вы найдете там и публикации о сборке этого движка из исходников. Роялти взимается при доходе свыше 1000$ за квартал. Вы даже этого не знаете, и пытаетесь мне что-то доказывать? Идите учите матчать
                                                          +18
                                                          Если потрудитесь полистать мои статьи, вы найдете там и публикации о сборке этого движка из исходников.

                                                          Рокетсайнс прям два скрипта запустить, для сборки UE. То что вы владеете инструментами сборки, ничего не говорит о вашем уровне владения движком(в отличии от ваших высказываний, которые показывают уровень очень явно). Похоже на сборке вы знакомство с UE и закончили.
                                                          Не позорьтесь, ведя диалог так агрессивно вы лишь приближаетесь к тому, что так ненавидите в ZDS сообществе.
                                                            +2
                                                            Чувствую, с таким лидером у вашего проекта (с открытым исходным кодом, что немаловажно) большое будущее.
                                                      +7
                                                      «Не смотрел, но осуждаю»


                                                      Это значит: не даю оценку проекту в целом, механике, реализму или какие там еще есть плюшки, которые представляют, скорее всего, основную ценность. А обращаю внимание на откровенно плохую и устаревшую графику. И потому мне интересно почему вы взяли OSG, а не Unreal который позволит создать гораздо более приятную графику. И да я понимаю, что это тренажер и всем насрать на картинку, там главное что бы кнопки работали правильно.

                                                      На OSG можно сделать хорошую графику, например youtu.be/9L0-ZqLNZzk, но это сложнее и дольше.

                                                      По статье на которую вы сослались:
                                                      Из описанных Вами проблем большинство решаемы и не так сложны как вам кажется. Как мне кажется, проще было бы прикрутить Unreal чем достичь аналогично уровня графики на OSG.
                                                        –5
                                                        На OSG можно сделать хорошую графику, например youtu.be/9L0-ZqLNZzk, но это сложнее и дольше.

                                                        Это симулятор FlightGear, и да он основан на OSG. И его разработчики почему-то не выбрали Unreal. Наверное были к тому причины. Ровно как и у нас.

                                                          +12
                                                          Не надо сравнивать себя с FlightGear, этому проекту столько же лет сколько Unreal, у Вас с ними ничего общего.
                                                            –13
                                                            Не надо сравнивать себя с FlightGear

                                                            Почему? Потому что, Вы не разрешаете?
                                                            А почему бы и не сравнить — этот проект развивается дольше, и разработчиков там больше, но когда-то этот проект так же точно начинался как и наш. Не вижу ничего криминального
                                                              +7
                                                              *саркастическая улыбка*
                                                                –8
                                                                Сарказм — Ваше право. Не возражаю
                                                            +13
                                                            Простите что никак не оставлю вас в покое, но вы сами меня провоцируете делая вот такие утверждения, так что просто не могу удержаться. :))
                                                            Очевидно что они не выбрали UE, потому что когда они делали проект — единственный способ получить UE было заплатить много сотен тысяч долларов.
                                                            Ровно по той же причине многие компании до сих пор пилят проекты на своих движках — когда начинали не было UE, а сейчас отказ от legacy будет слишком дорогим.
                                                            Выбор инструмента — это всегда сложный процесс, но будем откровенны, в 99% случаев он основывается не на сложном анализе существующих решениях, а на личных предпочтениях технического лидера проекта. И почти всегда это будет не лучший выбор, а выбор в пользу того, что тех лид знает лучше всего.
                                                            Это, кстати, не плохо.Потому что очевидно что техлид сделает лучше именно на том инструменте, который знает хорошо, нежели потратит кучу времени на изучение нового инструмента, который, возможно, вообще не подойдет.
                                                        0
                                                        В игровом движке столько всякого функционала, что не факт, что все аспекты поддерживаются на каком-то высочайшем уровне. Тут и управление персонажем с разного рода кинематикой, физика, которая перелицованный буллет какой-нибудь и всего остального полно, девять десятых им не нужного. Сделали свой рендер с редактором м движение по кривой. Больше им не надо.
                                                          –1
                                                          Вот именно, и я о том же твержу уже третий год — зачем брать игровой движок чтобы потом придти к необходимости внутри него писать игровой движок
                                                            +5
                                                            Только одного высококлассного рендера уже достаточно чтобы брать готовое.
                                                            Всё что вы говорите актуально для закрытых движков, когда либо пользуешься тем что есть, либо иди нафиг.
                                                            В OpenSource движке вполне возможно использовать только часть.
                                                            К примеру я работаю в компании, которая делает стратегию на UE. Совсем не типичное применение движка. Я как раз занимаюсь поиском пути и связанными с ним задачами. Несмотря на то, что в UE есть поиск пути и он работает даже в стратегии — мы приняли решение писать свой.
                                                            Ну так мы ровным счетом ничего не потеряли от того, что пишем свой поиск пути. В кастомном движке мы всё равно его также бы писали. Зато нам не надо думать обо всем что уже есть готовое.
                                                            Это вообще традиционная проблема геймдева прошлого десятилетия — люди годами писали движок для игры, вместо того чтобы делать игру. Современные движки позволяют делать игры и лишь изредка дописывать то, чего не достает.
                                                              –2
                                                              Как раз написать физическую библиотеку типа буллета или симбоди или что там еще есть это непростая задача или редактор, в котором можно создать уровни. А для рендера мне совсем не нужна еще одна обертка вокруг директх или опенжл чтобы выставить состояния растеризатора и шейдеры. Единственной преимущество какая-то кроссплатформеннось.
                                                                +1
                                                                Ну если вас устраивает графика уровня форвард с треугольником, текстурой и фонгом, то конечно.
                                                                А вот банальныq deffered shading с тенями, SSAO и полупрозрачностью повторить, да так чтобы ничего не заартифачило в процессе — это уже работа на много сотен часов.
                                                                Не говоря о том, что при апдейте движка вы получите новые фичи GAPI из коробки. Не придется даже в код лазить, чтобы получить новые возможности.
                                                                А свой рендер надо актуализировать. Ну и в целом, очень мало кастомных движков с маленькими командами, которые могут похвастаться возможностями графики того же UE или хотя бы Unity. И под возможностями графики я подразумеваю не выкрученный bloom, а все таки немного более сложные штуки типа каскадных теней. И да, я понимаю, что каждая фича по отдельности без проблем реализуется. Благо таже nvidia регулярно публикует пейперы по актуальным технологиям. Но вот заставить всё это работать не в рамках обособленной демки, а в комплексе — отдельная и сложная задача.

                                                                P.S. Кроссплатформенность вообще побоку, порт при нормальной архитектуре делается за пару дней на платформу.
                                                                    0
                                                                    Я не понял чего вы этими видосами сказать хотели.
                                                                    Кстати, не стоит в качестве примера хоршей графики приводить ночь и мокрую погоду.
                                                                    Скажем так, эти две вещи показывают не хорошую графику, а выпячивают пару технологий, которые в других ситуациях не очень видны. Тот же блум пресловутый и нормалки. Ну и убирают всё остальное. А еще глаза ОЧЕНЬ любят яркие пятна. Поэтому когда разрабы открыли для себя блум — его везде стали пихать и первое время игроки были в восторге. Но это не делает графику лучше. Блум — дешевый обман, о чем пользователи достаточно быстро догадались. именно поэтому я в предыдущем сообщении написал что блум это не пример крутой графики.

                                                                    Если вы погуглите GTA 5 PhotoRealistic Graphics, самые популярные комменты будут:
                                                                    first time ever when I see a graphic mod without wet ground

                                                                    Wait what.....no water on the road… Glad someone really understand what realistic graphics mean!

                                                                    its not realistic...we need water on the streets...add some water bro


                                                                    Но это лирика, поболтать захотелось. Так что вернусь к первоначальному вопросу: что вы этими видосами сказать хотели?
                                                                      0
                                                                      Что как-то не помогли движки с «высококлассным рендером» переплюнуть графику десятилетней давности.
                                                                      У кого руки откуда надо растут, тот и без оберток обойдется, и мне гораздо приятнее на их творчество смотреть.
                                                                        0
                                                                        Вы просто взяли дерьмовое видео и выдали его за «В 2016 году вот такая графика была в UE.»
                                                                        Ну нет, не была. Все технологии из демки от ATI в 2016 году в UE уже были.
                                                                        Например вот, нормалки + Depth of field:

                                                                        Или вот смена дня и ночи в UE в том же 2016 году:

                                                                        Вы вроде бы немного ориентируетесь технологиями, скажите какая технология есть в demo от AMD, которую не поддерживал UE в 2016 году. В противном случае я буду считать ваш пост наглой манипуляцией!
                                                                          0
                                                                          Большая часть первого видео это дизайн уровня, а совсем не рендера. Его можно создать в разных редакторах или программах, это не критично. А отрендить я могу и сам, написав такой же шейдер. Это я и пытаюсь сказать. Если физическая библиотека или контроллер персонажа мне предоставляют какой-то функционал, который без них у меня вообще отсутствует. То рендер это просто какая-то обертка и без того высокоуровневого апи директх или опенжл или вулкана, которые в общем-то не требуют никаких дополнительных оберток и создавались с тем рассчетом, что люди вполне этим апи могут пользоваться. Они же не предлагают с драйвером работать. Так что, если нужен просто рендер без игровой логики, персонажей и т.д, не вижу необходимости в каком-то громоздком движке.
                                                                          Второе видео тоже не поражает какой-то суперграфикой, что как бы подтверждает мысль, что дело не в движке.
                                                                            0
                                                                            Графический Движок — это все технологии из актуальных демок собранные в одном месте с удобным набором настроек.
                                                                            В демке от AMD вообще я вижу только Paralax+Normal map которые прям выпячивают на кирпичах и мостовой, отражения(наплоскости) и немного динамических теней. Всё остальное — грамотная камера и контент.
                                                                            И, тут, кстати можно поговорить о разнице между демкой и не демкой. Данная демка работает в очень ограниченном пространстве, что позволяет без проблем использовать обычные shadow maps. Все истончники света очень ограниченного радиуса действия, соответственно потеря разрешения не видна. В демке пофиг. А в реальном продукта вам придется что-то с этим делать. При этом стоит помнить, что техники SM более высокого уровня гораздо сложнее в реализации.
                                                                            Ваши утверждения про, вот GAPI там всё есть выглядят как «вот кирпичи и раствор, считай готовый дом».
                                                                              0
                                                                              Ну если они все там собраны, это удобно, можно посмотреть, хотя в SDK того же директх тоже много чего собрано как примеры да и любой алгоритм сходу нагуглить можно. А чтобы создать ресурсы, установить состояния конвейра и установить шейдер движок не обязателен. А кроме этого я даже и не знаю что еще нужно бы было.
                                                                                0
                                                                                Я не люблю этот вопрос, но просто не могу не задать.
                                                                                Вы писали когда нибудь движок игровой, для 3D игры с актуальным на момент написания стэком технологий(я не имею ввиду с топовым набором технологий, тут ответ очевиден, но хотя бы с минимальным набором: свет, тени, постэффекты)?
                                                                                  0
                                                                                  А почему тут ответ очевиден? Я могу дать пример своего кода и попробуйте сделать это в анриале.
                                                                                    0
                                                                                    Не надо примера кода. Давайте пример графического эффекта. Иными словами «картинку которую надо повторить».

                                                                                    А почему тут ответ очевиден?

                                                                                    Потому что ваши утверждения не соответствуют тому, что говорят профессионалы делающие топ. Либо вы очень крутой профессионал с альтернативной точки зрения, либо нет. Я за бритву.
                                                                                      0
                                                                                      Давайте емейл (можете как-то приватно, не знаю как это делается), я вам дам ссылку на небольшой файл, если, хотите. Мне тоже будет интересно посмотреть, как это можно и стоит ли делать на движке.
                                                                                        +1
                                                                                        Делать это лично для вас бесплатно не вижу смысла.
                                                                                        Как публичный эксперимент — можно.
                                                                                        Так что выкладывайте сюда, если конечно автор статьи не против такой дискуссии в комментариях к его статье.
                                                                                          –1
                                                                                          Вы же постом раньше сказали давайте то, что нужно повторить. Вы уж или за слова отвечайте или тогда так бодро себя в грудь не стучите.
                                                                                            0
                                                                                            Ну так я же не в личку вам написал.
                                                                                              –1
                                                                                              Так у меня не гарантии, что вы что-то будете делать, у меня впечатление, что вы хотите поговорить, зачем мне тогда что-то выкладывать.
                                                                                                0
                                                                                                Вы же постом раньше сказали могу дать. Вы уж или за слова отвечайте или тогда так бодро себя в грудь не стучите.

                                                                                                Как-то так звучало, не? :)
                                                                                                  –1
                                                                                                  Смешной человек. Начал типа сомневаться в моих знаниях со своей вершины интернетного профессионала, а сейчас хочет от меня каких-то односторонних действий, типа чтобы я тут оправдывался от его сомнений. Я уже вижу что вы из себя ничего не представляете. Проходите.
                                                                                                    0
                                                                                                    Всё что требуется от вас — предоставить демку недоступную для UE, которые у вас уже есть по вашим словам.
                                                                                                    А с моей стороны — разработать аналог демки!
                                                                                                    С вашей стороны минимум действий, с моей — либо достаточно сложная(вы же не будете фигню показывать, верно?) работа, либо признание ошибки.
                                                                                                    Да я только рад что вы сливаетесь, меньше работы по обличению вашей некомпетентности.То что я не балабол как минимум можно понять по статьям на этой ресурсе и гитхабу c репозиториями на несколько сотен звезд.
                                                                              +1
                                                                              высокоуровневого апи директх или опенжл или вулкана

                                                                              OpenGL и старый DirectX — это высокоуровневые интерфейсы. Vulkan, последний DirextX и Metal — это низкоуровневые интерфейсы. На столько, на сколько это вообще возможно для абстракции над железом.


                                                                              Условная демка на Vulkan, которая "делает ничего", а по факту только инициализацию и отрисовку условного треугольника, будет занимать далеко не одну сотню строк.

                                                                                –1
                                                                                Опять про отрисовку треугольника. Если там идет инициализация, установки состояний конвейера и прочее, то потом без разницы один или миллион треугольников. Создание окна и инициализация директх, создание буферов и прочее тоже не две строчки занимает и при этом я его низкоуровневым не считаю.
                                                                                  0
                                                                                  А что для вас «низкий уровень»?
                                                                                  ИМХО вы путаете вендор специфик и уровень API.
                                                                                  Типа если надо заморачиваться с вызовами под конкретную железку — это низкий уровень, а если об этом удмтаь не надо — высокий. Это не верное видение уровней.
                                                                                  Вендорспецифик API может быть высокоуровнем и унивесральнео API может быть низкоуровневым(Как тот же Вулкан).
                                                                                    0
                                                                                    Я отвечал об отрисовке треугольника. Надо взглянуть на это с позиции оптимиста — после нескольких сотен строк кода вы можете рендить миллионы треугольников.
                                                                                    +1

                                                                                    После отрисовки треугольника проще не становится. Опять же я говорю именно про современные штуки вроде DirectX 12 или Vulkan. Не о старых, вроде OpenGL (которых вообщет много разных вариаций). Там да, всё быстро и просто. Настроил буферы, втыкнул шейдеры и рендерь на здоровье.


                                                                                    В чём сложности? Вам самим надо следить за всякими штуками вроде синхронизаций. Прочими управлениями памяти заниматься тоже вам. Самая большая проблема с этим — всё работает, но изредка падает. Добро пожаловать в параллельный мир с параллельным программированием. И да, если вам не особо интересен многопоточный рендеринг, то вам это всё и не нужно, возьмите старые добрые проверенные штуки.


                                                                                    Кстати в том же Vulkan состояние конвейера менять особо и нельзя. Но можно создать новый. Вот вам нужно например вызвать шейдер с немного разными параметрами (например хотите конвейер с другим Blending): хоба, у вас уже два конвейера. Или уже три, по той причине, что вам это собрать вместе нужно.

                                                                            +1
                                                                            О да, Вы абсолютно правы, накрутить блума, побольше бликов, какой-нибудь chromatic aberration и вуаля у нас супер графика, а по факту навалили постэфектов
                                                                              0
                                                                              Ну взять этот топик. На сайте OpenSceneGraph тоже написано, что высокопроизводительный движок. По факту при весьма посредственной картинке вообще без ничего кроме геометрии с текстурой 40 фпс на GTX 2060 где-то в комментах написали. Это как такое вообще может быть.
                                                                                0
                                                                                Потому, что нужно уметь его готовить. Методов оптимизации так много, что я даже не возьмусь пытаться предполагать почему тут такая низкая производительность.
                                                                                  –1
                                                                                  То есть теперь надо разбираться почему движок медленно рендит. И зачем бы я стал себя так мучить, хотел бы я знать.
                                                                                    0
                                                                                    В любом случае придется разбираться почему движок медленно рендерит. И без разницы, будет это свой движок или готовый.
                                                                                      0
                                                                                      Дело не в движке, а в кривых руках. И о боже мой придется пользоваться головой, а не кликнуть два раза и что бы было круто и все само
                                                                  +4

                                                                  Почему выбор пал на GPLv2? Выглядит достаточно странно на самом деле. Есть же по меньшей мере GPLv3 и всякие вариации LGPL. Но copyleft-лицензии выглядят "полузакрытыми" ибо по факту переиспользование этого кода во многих случаях невозможно.


                                                                  Вообще я рекомендую вам сделать ядро физики/механики в виде отдельной подсистемы и выпустить под пермиссивной лицензией. Самое модное сейчас: сдвоенная лицензия MIT/Apache 2.0. Пермиссивная лицензия делает проект гибче в долгосрочной перспективе. И в целом выглядит более привлекательно. При этом "контент" в виде моделек поездов и их настроек можно совершенно отдельно лицензировать.


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


                                                                  Суммируя у вас будет три части:
                                                                  1) Ядро с физикой и механиками
                                                                  2) Графический движок
                                                                  3) Набор моделек, текстурок и прочих ресурсов

                                                                    –3
                                                                    Но copyleft-лицензии выглядят «полузакрытыми» ибо по факту переиспользование этого кода во многих случаях невозможно.

                                                                    Переиспользуйте на здоровье. Только не забудьте поделится исходниками с сообществом open source. Лицензия будет именно такой, и никакой иной. Точка
                                                                      +8
                                                                      Лицензия будет именно такой, и никакой иной. Точка

                                                                      Мой вопрос больше о том, почему была выбрана именно копилефт-лицензия и почему именно вторая версия, которая уязвима к тивоизации.


                                                                      Переиспользуйте на здоровье.
                                                                      Только не забудьте поделится исходниками с сообществом open source.

                                                                      Ещё мне придётся заразить свой код лицензией GPLv2. Мне недостаточно будет вскрыть исходники. О каком здоровье идёт речь, если код болен неизлечимой вирусной лицензией?


                                                                      (Я не оспариваю ваш выбор, просто забавная игра слов)

                                                                        +2
                                                                        Так может поэтому и выбрали?
                                                                        Чтобы иметь возможность работать с железячниками, которые могут захотеть залочить устройство на конкретный софт.
                                                                          0
                                                                          Использование GPL v2 связано с желанием обезопасить проект от закрытия кода его форков, с последующей коммерциализацией.
                                                                            +11
                                                                            Использование GPL v2 связано с желанием обречь проект на медленную смерть без денег, а также обеспечить отсутвие возможности переиспользования любых участков кода в сторонних проектах.

                                                                            А почему не GPL v3? Почему именно v2, а не v3? Why?

                                                                    +1
                                                                    С openstreetmap бы подружить… Там как раз есть маньяки, что выправляют ж/д маршруты.
                                                                      +1
                                                                      Думал об использовании этой системы, продолжаю думать, возможно применим
                                                                        0
                                                                        Возможно вам стоит скоординироваться с Романом:
                                                                        gamedev.ru/projects/forum/?id=238486

                                                                        Он даже игру выпустил с генерацией карт на базе OSM. Я не помню чтобы он выкладывал своё решение как OS(хотя вроде бы собирался), но может быть не откажется вам помочь.
                                                                          +1
                                                                          Судя по роликам — крутая штука. Надо будет прикупить попробовать
                                                                            +1
                                                                            Какая годнота!
                                                                            Спасибо за ссылку
                                                                        +30
                                                                        Зашел почитать про симулятор и отзывы о нем, а тут какой-то адовый срач :)

                                                                        Автору стоило бы научиться чуть адекватнее реагировать на критику и острые вопросы. Просто наблюдение.
                                                                          +4
                                                                          Уважаемый maisvendoo, к сожалению, из тех людей, которым силы для работы дает срач и желание поплевать на оппонента. Проект в результате получается крутым (для своих условий разработки, без шуток), но вот в процессе этого вокруг несколько… плохо пахнет. Что прискорбно.
                                                                            +3

                                                                            Он же вроде в ВУЗе преподает ещё, не знаете он со студентами так же общается?

                                                                              –4
                                                                              О, пошел переход на личности)
                                                                              С добросовестными, вежливыми и трудолюбивыми — хорошо общаюсь. С бездельниками и хамами — плохо.
                                                                                +11
                                                                                Мне кажется, вы почему-то не очень обоснованно считаете человека бездельником и хамом, пока он докажет обратного.
                                                                                  0
                                                                                  Я кого-то обозвал бездельником? Просто я очень не люблю, когда переливается из пустого в порожнее, особенно касательно вопросов, которые уже освещались ранее. Никакой новой информации эта дискуссия не привнесла, конструктивных предложений технологического характера тоже. Для чего она — чтобы доказать как я неправ, не используя UE4?

                                                                                  Но, честно говоря, я бы прекратил этот непонятный конфликт, спрятал бы палки и камни и вернулся бы в конструктивное русло.
                                                                                    +7
                                                                                    Для чего она — чтобы доказать как я неправ, не используя UE4?

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

                                                                                    конструктивных предложений технологического характера тоже.

                                                                                    А вот это обидно. Я вроде прямым текстом рассказал как делать маршруты в UE, с ссылками на документацию. :)
                                                                                      +8
                                                                                      А вот это обидно. Я вроде прямым текстом рассказал как делать маршруты в UE, с ссылками на документацию. :)

                                                                                      Согласен, палку я немного перегнул, за что приношу извинения. Изучу
                                                                                  +19
                                                                                  Да ладно вам, ну интересно же. Не часто такая интересная комбинация поста и комментариев встречается.
                                                                                  image
                                                                                +2

                                                                                А ещё срач в комментариях накручивает счётчик комментариев. Пиар такой пиар.

                                                                                  –1
                                                                                  Ну так спасибо тем, кто этот срач организовал. Он уже второй день протекает без всякого моего участия
                                                                                –1

                                                                                Автор имеет отношение к РЖД. Какого отношения к оппонентам вы ждали? :)

                                                                                  0
                                                                                  Я не имею никакого отношения к РЖД. Равно как и кольцо из 9-ти транспортных вузов РФ. Потрудитесь сперва узнать, к чьей сфере ответственности они относятся, прежде чем формулировать умозаключения
                                                                                +1
                                                                                Почему на сайте только под винду?
                                                                                  +1
                                                                                  Потому как со способом дистрибуции в зоопарк линукс-дистрибутивов я еще не определился. Обязательно будет, так как проект разрабатывается в этой среде, в винде осуществляется только контрольная сборка
                                                                                    +1
                                                                                    Какой зоопарк-то? Пакет под дебиан/убунту x64 закроет процентов 70 потребностей.
                                                                                      0
                                                                                      Согласен. Это впереди, сам хочу сделать, но рук не хватает
                                                                                      0

                                                                                      А в чём проблема собрать так, чтоб без зависимостей? Тупо один бинарник и всё. Даже libc можно свой таскать. Можно даже автоматически делать эти штуки. Вам об этом уже говорили вот тут https://github.com/maisvendoo/RRS/issues/2. Я бы даже помог бы с этим, но у вас GPLv2, а вы не говорите, почему именно v2, а не v3. Вот например если не хочется быть зависимым от системного libc есть https://www.musl-libc.org/, но она распространяется по лицензии MIT, это значит, что данную библиотеку можно использовать в любых проектах вне зависимости от того, является ли их код открытым или не является. Эта лицензия даже с GPL совместима. И с v2 и с v3. Так что я не вижу причин использовать именно v2, кроме случаев, если вам по непонятной причине нужна возможность тивоизации. https://appimage.org/ — предложенный вам способ дистрибуции вашей игры. Он тоже лицензирован по лицензии MIT и потому подходит для коммерческого применения. Не только подходит, но и используется. Поскольку позволяет сильно упростить работу сразу со многими дистрибутивами. В том числе хорошо подходит для игровых проектов, для которых в силу разных причин требуется привязка к конкретным версиям библиотек. Одна из таких причин — при обновлениях зависимостей вашего проекта может ломаться совместимость. Иногда сильно и беспощадно. Хуже того, в разных дистрибутивах могут быть сильно разные версии библиотек. Например ArchLinux — у него нет версий, кроме самой последней и свежей. В противовес этому у Ubuntu или там у Fedora более стабильные пакеты и вместе с тем менее свежие. В добавок одновременно могут существовать несколько живых версий этих дистрибутивов. Решение? Только что озвучил. Вам в обязательном порядке нужна эта штука под названием AppImage, которая, на минуточку, распространяется по лицензии MIT. Её главная и основная цель — помогать разработчикам в доставке их бинарников с удобной установкой и вот этим всем. Вне зависимости от того, покусал ли их Ричард Мэттью Столлман (являющийся главным пиарщиком GPLv2, GPLv3, LGPL и других) или нет.


                                                                                      Так почему? Почему именно GPLv2, а не GPLv3? Кстати. Будете смотреть в сторону улучшения графики — гуглите Physical Based Rendering, хотя вы наверняка уже об этом слышали. Скорее всего вы найдёте подходящие шейдеры где-то на просторах гитхаба. Скорее всего вы вытащите кусочки этих шейдеров из какой-то библиотеки или движка. Скорее всего этот движок будет лицензирован по пермиссивной лицензии и вам совершенно не обязательно будет сохранять эту лицензию, будь то MIT или BSD, но будьте осторожны с BSD-лицензиями ибо там есть вариант, в котором вы будете обязаны предоставить список всех разработчиков со всеми их даже самыми дальними родственниками и друзьями, хотя на самом деле эти штуки никого не волнуют и вообще всем пофиг, пока вы не лезете к ним с какой-то фигнёй прямо как я сейчас.


                                                                                      Так почему? Почему именно GPLv2, а не GPLv3?

                                                                                        0

                                                                                        Далась вам эта лицензия? Факт, что она свободная и позволяет использовать код, значит, ваши контрибуции не пропадут.


                                                                                        Насчет AppImage — там еще есть Snapcraft и еще что-то. Недостаток AppImage имхо в том, что там есть дополнительное время на распаковку, что замедляет запуск. А "распаковать" его один раз при установке вроде нельзя.

                                                                                          0
                                                                                          значит, ваши контрибуции не пропадут.

                                                                                          Для меня код, который я отправил в GPL — потерян. Как бы мне не было интересно (на самом деле никак), но никакой код оттуда я использовать в каких-то своих открытых и бесплатных проектах не могу.


                                                                                          Недостаток AppImage имхо в том, что там есть дополнительное время на распаковку, что замедляет запуск.

                                                                                          Это не всегда является недостатком. Зависит от проекта и целей. Лично мне больше нравится создание чистых бинарников без зависимостей, а упаковать их можно самыми разными способами.

                                                                                    +4
                                                                                    Посмотрел видео-ролик. Ну про графику ничего не скажу, как бы это — сим и фиг с ней. Но поезд едет НЕреально. Долго думал почему, наверное потому что на поворотах вагоны не раскачиваются из стороны в сторону, в кабине нет работы аммортизаторов (рессор), которые бы немного вверх/вниз дрыгались.
                                                                                      0
                                                                                      +рельсы-шпалы тоже должны реагировать на движение поезда, слегка проминаясь и давая динамику.
                                                                                        0

                                                                                        Мне показалось ещё, что всё очень дёргается — то ли фпс маловат, то ли обсчет физики движения происходит реже, чем отрисовка.

                                                                                          0
                                                                                          Я вам больше скажу: на 20 секунде ролика поезд едет, а отражение улицы в стёклах вагонов – нет.
                                                                                          +1
                                                                                          ни в одном из перечисленных проектов нет и не будет нормальной реализации автоматических тормозов системы Матросова.

                                                                                          А чем эти тормоза отличаются от остальных? Можно попросить объяснить для человека «не в теме»?
                                                                                            +2
                                                                                            По большому счету все железнодорожные автотормоза имеют один принцип действия — пневмоуправление приборами торможения за счет снижения давления в тормозной магистрали (ТМ). Различия обуславливаются конструкцией тормозных приборов, в частности воздухораспределителей (ВР).

                                                                                            На отечественном подвижном составе пассажирской службы устанавливался ВР усл. №292, который активно заменяется сейчас на ВР усл. №242. На европейских дорогах распространены ВР типа КЕ. Так вот, ВР 292/242 работает на разнице двух давлений — в запасном резервуаре (ЗР) и ТМ. КЕ работает на трех давлениях — в ТМ, специальной рабочей камере (РК), фиксирующей уровень зарядного давления, и тормозном цилиндре (ТЦ). За счет этого, ВР типа КЕ позволяют ступенчатый отпуск тормоза, наш же пассажирский ВР делает только полный отпуск. У нас считается, что для реализации возможности ступенчатого отпуска достаточно электропневматических тормозов (ЭПТ), которыми так же оснащается весь наш пассажирский подвижной состав.

                                                                                            Наш ЭПТ не обладает автоматичностью действия, при обрыве провода ЭВР срабатывают на отпуск.

                                                                                            Как там у американцев, я не в курсе, не изучал их приборы, но догадываюсь что там бал правит фирма Вестингауз.

                                                                                            Аналогичные различия и по приборам управления тормозами, в частности по кранам машиниста. Наш кран 395 специфический прибор с весьма характерным поведением, которое зарубежными симуляторами никак не отражается
                                                                                              0

                                                                                              Чем эта вся фигня отличается с точки зрения симуляции? Какие подводные камни?

                                                                                                +1
                                                                                                Тем, что эти вещи в продуктах типа трейнз, не симулируются, или симулируются неверно
                                                                                                  0

                                                                                                  В чём именно состоит симуляция? Помимо условной формулы трения.

                                                                                                    +1
                                                                                                    В моделировании поведения давления воздуха в характерных точках тормозной системы. Разве дело только в трении — там до трения масса других процессов происходит: сброс давления через кран машиниста из ТМ в голове поезда, распространение тормозной волны по ТМ, сработка ВР, наполнение тормозных цилиндров. Все эти процессы описываются дифференциальными уравнениями.

                                                                                                    Так что тормоза ПС — дело не простое
                                                                                                      +2

                                                                                                      Разве нельзя получить реалистичное (с игровой точки зрения) поведение тормозной системы без точного моделирования деталей его реализации? Симуляция обязана быть точной как максимум до степени неразличимости результата "на глаз". А ещё она должна быть быстрой.

                                                                                                        0
                                                                                                        Как вы думаете, насколько разнится поведение хопров и налива на торможении? И как зависит размер «бабаха» в спину при неаккуратном сжатии состава?
                                                                                                          +2

                                                                                                          Понятия не имею. Бесконечно далёк от всего этого. Потому и спрашиваю.

                                                                                                          +1
                                                                                                          Нет конечно. То как тормозит поезд на рельсах зависит от веса вагонов, количества вагонов в поезде. Как вы понимаете без моделирования вы сможете максимум один фиксированный вариант сделать. Проще смоделировать.
                                                                                                  +1
                                                                                                  Спасибо за подробный ответ!
                                                                                                  То есть у них есть ступеньки, а у нас нет, верно? Тогда почему нельзя в их симуляторе уменьшить число ступеней до одной? Тогда получится, как у нас — либо открыто, либо закрыто. Нет?
                                                                                                  Кстати, а что значит «усл. N»?
                                                                                                    +1
                                                                                                    Условный номер, по сути номер модели тормозного прибора. Честно говоря, для меня неясен принцип их назначения, это уже специфика нашего МТЗ Трансмаш. Например кран 395 это более ранний их продукт, а вот современный кран с дистанционным управлением имеет усл. №130. До 395 использовался 222 кран, а еще раньше, в эпоху паровозов — 328 кран. Немного напоминает принцип нумерации моделей видеокарт radeon, честно говоря.

                                                                                                    Вообще это похоже на то, что это просто номер за которым данный прибор числится на заводе в производственной документации. И нумеруются все они сквозным образом — нет крана и воздухораспределителя с одинаковым номером.

                                                                                                    По первому вопросу — нет, ступени торможения отпуска, в ВР КЕ нефиксированы, а зависят от глубины разрядки ТМ, то есть от разницы между текущим давлением в ней, и начальным давлением (зарядным давлением). Есть много ещё нюансов, возможно напишу про это статью
                                                                                                    +2
                                                                                                    Вы можете всё это расписать в отдельной статье? Очень интересно.
                                                                                                  0
                                                                                                  Пока что это всего лишь процедурный (точнее, кабинопроцедурный) симулятор локомотива…
                                                                                                    +1
                                                                                                    Пока что да
                                                                                                      0
                                                                                                      Озвучили бы тогда дорожную карту, какой функционал планируется и с какими приоритетами?
                                                                                                        +1
                                                                                                        В планах на ближайший год — переработка графического клиента и аудиоподсистемы. Работы по графике тесно связаны с переработкой формата маршрутов и написание собственного редактора для их строительства. От качества реализации этой задачи будет зависеть то, каким образом будет реализована система ж/д-сигнализации и энергоснабжения.
                                                                                                    0
                                                                                                    Увы, на интеловской видеокарте нормально рендер не работает — все мигает, такое ощущение что часть плоскостей просто то отсекается, то рендерится.
                                                                                                    И в итоге от моих кривых рук заглючил и локомотив — все приборы дергались между минимальным и максимальным значением, рукоять КМ (вроде так) тоже прыгала.
                                                                                                      0
                                                                                                      Это нормально. Подавляющее большинство разработчиков(кроме самых крупны, хотя и они не брезгую писать, что на intel работать не будет) графики плюет в сторону встроек от intel и не делает их поддержку. Уж больно гадские карты.
                                                                                                        +5
                                                                                                        99% игр у меня работает. И, не продолжения холивара ради — большинство игровых движков — тоже. Ваши сведения устарели лет так на 10 наверное.
                                                                                                          0
                                                                                                          Вполне возможно.
                                                                                                            0
                                                                                                            Тоже самое. У меня два компа, один на 5000, второй по-моему 3 поколения Intel HD. Работает большинство игр, тем более многие ноуты только с Интелом. Странно будет игнорировать этот сегмент.
                                                                                                            0
                                                                                                            Не то что бы гадские, просто сильно слабые. Не помню что бы интеловская карта мне выдавала какое-то не адекватное поведение, а вот наоборот помню случай: интел был единственный кто указал на ошибку в шейдере, остальные молча проглотили с непредсказуемым поведением.
                                                                                                          +2
                                                                                                          Десять лет назад работал над прогнозной моделью сходов поездов. Сход поезда — редкое событие, поэтому реальных данных недостаточно для обучения модели, пришлось писать симулятор. В результате, симулятор нагенерил около 300 лет данных, на которых мы обучили упрощённую, но вполне рабочую модель на одном высокорисковом участке жд. На основе модели теперь предлагались опережающие ремонты на этом участке.
                                                                                                          Возможно ли ваш симулятор расширить до подобных задач? Думаю, РЖД и КТЖ это было очень интересно.
                                                                                                            0
                                                                                                            Странно, что в статье не вспомнили Trans-Siberian Railway Simulator, он правда еще не вышел

                                                                                                            Игра шуточная, конечно :)
                                                                                                              +3
                                                                                                              Это где машинист пьет пиво и гоняет за волками с бензопилой?
                                                                                                                +6

                                                                                                                Для среднего человека, интересующегося симуляторами поездов, она будет интереснее.

                                                                                                              +1
                                                                                                              В ролике, когда показано движение поезда со стороны, абсолютно неестественная картинка — состав на одном месте в середине экрана, а движется окружающий пейзаж. Пусть и состав движется хоть немного. Будет более естественно.
                                                                                                                +1

                                                                                                                Может быть мне показалось, но на общих планах (например, с 0:17) движение поезда выглядит как-то неестественно, такое ощущение, что он является каким-то идеально жестким телом. То есть вагоны не покачиваются на рессорах при движении, не движутся относительно друг друга.

                                                                                                                  0
                                                                                                                  Отлично, будем посмотреть! Всегда нравилось жд-хозяйство. Все эти стрелки, семафоры… Ещё бы депо сделали, где можно квесты по ремонту и обслуживанию тепловозов и электровозов проходить, было бы вообще шикарно.
                                                                                                                    0
                                                                                                                    А почему не вложили свои силы в OpenBVE? openbve-project.net
                                                                                                                      +1
                                                                                                                      А вы код динамики поезда там видели? Мне стало страшно, когда я туда глянул. Вообще часть проектов по тренажерам у меня в вузе использовала OpenBVE, я даже написал плагин для Belnder для импорта/экспорта моделей, а то бвешники писали 3Д-модели руками в блокноте до этого. Ели интересно, то он тут github.com/maisvendoo/blenderCSV. Но нет, не подошло нам это
                                                                                                                      0

                                                                                                                      А каким образом достоверное воспроизведение ЖД техники соответствует запрету на изображение пророка транспортных объектов? Не является ли это формой особо изощённого шпионажа, чтобы шпион узнал как выглядит Мост?

                                                                                                                        +1
                                                                                                                        Привет разработчикам железнодорожных симуляторов от разработчиков плагинов для авиационных симуляторов.
                                                                                                                        Глядя на тот же X-Plane мне кажется, что главное в симе — вот эти самые сотни и тысячи аддонов/плагинов: самолёты, аэропорты и сценарии, различные дополнения для расширения функционала. Если они есть (высокого качества, оф коз), то сим взлетает, если их нет, то всё плохо. Массовому пользователю пофигу какие там тормоза симулированы, если не на чем ездить и нет станций. В связи с этим вопрос: как вы будете привлекать разработчиков? Энтузиазм это прекрасно, но что-то я не знаю хорошо проработанных бесплатных самолётов. Во-всяком случае чтоб они были на уровне моделей за 60+ долларов.
                                                                                                                          0
                                                                                                                          Массовому пользователю пофигу какие там тормоза симулированы, если не на чем ездить и нет станций. В связи с этим вопрос: как вы будете привлекать разработчиков?

                                                                                                                          Это смотря какому пользователю. Нишевому не пофигу. И когда шло дорелизное общение с людьми в этом заинтересованными, было понятно — что возможность разработки дополнений с учетом нюансов работы агрегатов ПС колеи 1520 — это главное, что ожидалось
                                                                                                                            0
                                                                                                                            Нишевому не пофигу.

                                                                                                                            А что у вас за пользователи и сколько их?

                                                                                                                              –5
                                                                                                                              Упорно не могу понять, почему Вы, и кое-кто еще здесь в обсуждении, пытается навязать мне свою систему ценностей, задавая провокационные вопросы, ведущие к флуду… Какая Вам разница, сколько — они есть, и поверьте — мне этого достаточно
                                                                                                                          0
                                                                                                                          Установил, запустил, проблема: окно с выбором настроек запустилось на основном мониторе, но симулятор запустился уже на втором мониторе и я не знаю как его переместить на основной.
                                                                                                                            0
                                                                                                                            cfg/settings.xml
                                                                                                                            меняем параметр ScreenNumber с 1 на 0
                                                                                                                              0
                                                                                                                              Спасибо
                                                                                                                            +2
                                                                                                                            Зацеперы будут?
                                                                                                                              +1
                                                                                                                              А машинки таранить можно будет?
                                                                                                                                +2

                                                                                                                                ULTIMATE NON-STOP MULTI-TRACK DRIFTING — вот, что нужно настоящему взрослому симулятору.


                                                                                                                                В обсуждаемой игре подобного нет. Скучная, не качайте.

                                                                                                                                  –3
                                                                                                                                  Уважаемый — Вы пытаетесь лезть со своим уставом в чужой монастырь. Те, кто понимает о чем идет речь, уже давно все скачали, а вы тут продолжаете испускать пары зловонные. Вы испускайте, я не против. Просто в глазах тех людей, кто действительно в теме, Вы как минимум смешны. А как максимум заинтересованы в чем-то своем, но не можете это реализовать, учитывая пену у Вашего рта, когда идет речь о лицензии проекта. Подумайте об этом на досуге)

                                                                                                                                  Вы слишком обо мне беспокоитесь в комментах выше, я сам справлюсь со своими проблемами, мне поводыри не нужны. Это на будущее, если столкнемся снова.

                                                                                                                                  И еще, в догонку. Уже который день я не отвечаю на провокационные комменты, так что вот это
                                                                                                                                  А ещё срач в комментариях накручивает счётчик комментариев. Пиар такой пиар.

                                                                                                                                  продукт Вашей, Уважаемый, деятельности. Именно Вы и накручиваете счетчик. Я коротко ответил на Ваши вопросы так, как считал это необходимым. То, что Вы устраиваете после моих ответов лежит целиком на Вашей совести.
                                                                                                                                    +1
                                                                                                                                    Вы пытаетесь лезть со своим уставом в чужой монастырь.

                                                                                                                                    А у Вас что-то не то с чувством юмора. Это моё мнение и я никому его не навязываю. А вообще вы делаете симулятор с упором на реалистичность управления в ущерб остальному. У такого симулятора будет достаточно узкая специфическая ЦА даже в среде любителей поездов. Не то, чтоб в этом минус этого симулятора. Для вашей ЦА это наоборот плюс. Но вот я выше задал вопрос:


                                                                                                                                    А что у вас за пользователи и сколько их?

                                                                                                                                    Могу его перефразировать: насколько хорошо вы понимаете, какая у вас ЦА? Насколько хорошо вы понимаете важность рекламы и всего такого для игр, которые являются развлекательным контентом по своей сути? Хабр ведь тоже развлекательный сайт, просто развлечения специфические.


                                                                                                                                    продукт Вашей, Уважаемый, деятельности. Именно Вы и накручиваете счетчик.

                                                                                                                                    Я знаю это. По мне так это хороший годный пиар. У статей, которые набирают большое количество комментариев будет и большее количество просмотров. За счёт того, что они дополнительно светятся в разделе "Что обсуждают". Есть ли что-то, чем вы недовольны после этого? Срач в комментариях — это хорошо с точки зрения пиара. Я действительно так считаю. Без сарказма и шуток.

                                                                                                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.