+ Ответить в теме
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Trainz Developer Diary RU

  1. #1
    Пользователь Степень участия Аватар для de_lorian
    Регистрация
    22.01.2010
    Страна
    Адрес
    Киев
    Возраст
    23
    Сообщений
    394

    Effect Trainz Developer Diary RU

    Предлагаю в этой теме выкладывать переводы постов Дневника Разработчиков Trainz.

    Милости просим в Опасную Зону...

    Этот Дневник Разработчика предназначен, чтобы дать нашим вкладчикам представление того, что происходит за кулисами.

    Создание игры во многом напоминает строительство небоскреба - много времени предварительно уходит на копание большого котлована и подготовку инфраструктуры до того, как что-либо появиться над уровнем поверхности. Короче говоря всё выглядит, как полный беспорядок на ранних стадиях разработки!


    Как только завершиться отладка инфраструктуры, новые этажи достраиваются очень быстро, но здание всё равно выглядит недостроенным. Окончательная форма и внешний вид здания не становится узнаваемым, пока не установиться внешняя облицовка. И даже тогда, при осмотре внутри здания будет заметна масса труб и проводов свисающих повсюду. Только в последние несколько дней перед открытием здания все штрихи собираются вместе и проект считается "готовым".

    Но как всё это касается Trainz? Ну, все основные работы по подготовке инфраструктуры для нашего нового движка уже завершены и мы начинаем возводиться над уровнем земли. Результат, как ожидалось, выглядит не очень, но представляет большой интерес для программистов! Ещё пройдет время до того, как мы покажем все ништяки наших трудов, но Вы сможете следить за нашими успехами через наш Дневник Разработчика. Он будет включать в себя некоторые "рабочие кадры" как иллюстрации к нашим успехам в различных сферах разработки.

    E2: Новый движок для New Era

    На протяжении последних 13 лет Trainz работал на движке Auran's "Jet". Jet был разработан для машин начала 2000х и пока он был гибким и выглядел современно, прошли долгих 10 лет в индустрии технологий. Для того, чтобы войти в новую эру, нам нужно что-то более продвинутое. Как и в случае с Jet, мы ориентируемся не на современные компьютеры, а устанавливаем рамки для будущих разработок. Однако в отличии от Jet - E2 построен исключительно исходя из требований железнодорожного симулятора Trainz, без каких-либо компромиссов и общих решений.

    Это основная тестовая сцена из нового движка, взятая на стадии раннего проектирования. Возможно здесь особо не на что смотреть с точки зрения искусства, но наша команда программистов работает над базовой архитектурой в течении последних двух лет. В большей степени всё, что Вы видите здесь было жестко закодировано для тестирования специфических подсистем и мы импортировали существующие в Trainz файлы типа "Indexed Mesh" в целях тестирования.



    Скрин из программных испытаний, проводившихся на процессоре AMD Phenom II X6 CPU с видюхой NVidia 9800GT. Сцена включает 2 локомотива, 22500 сферы, один фиксированный источник параллельного света, две подвижные светящиеся точки, один стационарный прожектор и два подвижных прожектора. Есть также несколько других объектов испытания для тестирования иных систем.

    Текст и графики вверху экрана - один из наших внутренних инструментов для тестирования и оценки производительности работы Е2. Конкретно этот показывает нам взаимодействие временных потоков и потоков визуализации. Мы также отображаем 4 из наших закадровых рендеров целей в верхнем правом углу (четвертый черный).
    Последний раз редактировалось de_lorian; 27.07.2014 в 04:03.
    Novus ordo seclorum


  2. #2
    Разработчик Trainz UP Аватар для kemal
    Регистрация
    22.10.2009
    Страна
    Адрес
    Казань / 793км
    Возраст
    28
    Сообщений
    2,139

    По умолчанию

    А можно каждый перевод отдельным постом добавлять? А то тема в ленту не попадает.

  3. Сказали спасибо: (3)


  4. #3
    Пользователь Степень участия Аватар для de_lorian
    Регистрация
    22.01.2010
    Страна
    Адрес
    Киев
    Возраст
    23
    Сообщений
    394
    Автор

    По умолчанию

    Да можно как угодно. Мне не принципиально, что бы всё было в одном сообщении) Беда в том, что поскольку в этой теме отписуюсь только я - то форум все мои посты склеивает подряд в одну ленту. Если возможно как-то отключить склеивание сообщений для этой темы - я за.
    Последний раз редактировалось de_lorian; 26.07.2014 в 03:25.
    Novus ordo seclorum

  5. #4
    Пользователь Степень участия Аватар для Doctor X
    Регистрация
    25.06.2011
    Страна
    Адрес
    Ногинск
    Возраст
    23
    Сообщений
    476

    По умолчанию

    de_lorian, да пускай склеивает. Главное, чтобы оно получалось добавлением нового сообщения, а не редактированием (первого, либо последнего); и тогда попадет в ленту

  6. Сказали спасибо: (2)


  7. #5
    Разработчик Trainz UP Аватар для kemal
    Регистрация
    22.10.2009
    Страна
    Адрес
    Казань / 793км
    Возраст
    28
    Сообщений
    2,139

    По умолчанию

    Склеивает, только если интервал между сообщениями меньше некоторого значения (чему оно равно не знаю). Но и со склеиванием пойдёт.

  8. #6
    Пользователь Аватар для andryugist
    Регистрация
    04.03.2010
    Адрес
    Киров
    Возраст
    31
    Сообщений
    29

    По умолчанию

    Как вариант, предлагаю переводчику добавлять в сообщение, типа - "добавлен перевод/добавлена новость 26.07.2014".

  9. #7
    Администратор Степень участия Аватар для OlegKhim
    Регистрация
    19.09.2009
    Страна
    Адрес
    Киев
    Возраст
    48
    Сообщений
    3,778

    По умолчанию

    Цитата Сообщение от kemal Посмотреть сообщение
    чему оно равно не знаю
    24 часа (сутки)
    Цитата Сообщение от de_lorian Посмотреть сообщение
    Мне не принципиально, что бы всё было в одном сообщении
    Нужно не редактировать первый пост, а добавлять новый.

    "— Скажите, уважаемый, если я пойду по этой улице, там будет вокзал?
    — Там будет вокзал, даже если вы туда не пойдете! "
    © Одесса

  10. Сказали спасибо: (3)


  11. #8
    Пользователь Степень участия Аватар для de_lorian
    Регистрация
    22.01.2010
    Страна
    Адрес
    Киев
    Возраст
    23
    Сообщений
    394
    Автор

    По умолчанию

    Импорт маршрутов

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



    Вы заметите, что эти скрины сделаны из версии для Mac; наш ведущий программист по движку в первую очередь работает на Windows, в то время, как наш ведущий разработчик Trainz использует MacOS X для ежедневных задач. Мы используем разнообразные вариации платформ и конфигурации железа для разработки, которые гарантируют, что продукт будет хорошо протестирован на различных конфигурациях. Даже на этой ранней стадии, мы пофиксили несколько платформенно-специфических багов.

    На следующем скрине Вы видите, что мы получили простые объекты окружения (в основном деревья) но ничего сложного, на подобии сплайнов или индустрии. Бейсы размещены верно, хотя и не всех из них загрузились из-за незавершенного состояния системы обзора.



    Теперь, когда основная система поддерживает большинство фичей, которые мы требуем от Trainz, прогресс уже более очевидный. Важно понимать, что это существующий, совместимый с TS12, маршут (можете догадаться какой?) который мы скачали с Download Station. Он не выглядит особо красиво, но с точки зрения инженерии - это большой шаг вперёд от простых тестовых вариантов, которые мы использовали при разработке движка.

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

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

    До рендеринга воды ещё так же далеко, так как система требует довольно существенной переработки для перехода от Jet к новой системе материалов в E2. Современные материалы, такие как рябь воды являются одним из последних компонентов движка, которые займут свое место.
    Novus ordo seclorum

  12. #9
    Пользователь Степень участия Аватар для de_lorian
    Регистрация
    22.01.2010
    Страна
    Адрес
    Киев
    Возраст
    23
    Сообщений
    394
    Автор

    По умолчанию

    Система эффектов частиц

    Пар, дым, дождь, снег и похожие визуальные эффекты подпадают под определение "Эффекты Частиц”. Википедия хорошо объясняет PFX процессы: http://ru.wikipedia.org/wiki/Система_частиц.

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

    Даже без новых возможностей, обновление архитектуры "Эффектов частиц" является важным событием в переходе на E2. Исходная реализация требует существенной переработки для обеспечения современного многопоточного рендеринга и теперь мы можем использовать шейдеры для поддержки сглаживания краев соседних сеток геометрий. Для создания новой системы столкновений и PFX, ведущий программист мобильной версии N3V's "Dead On Arrival 2" присоединился к команде Trainz. Его знания и опыт обеспечивают прекрасную базу для внедрения новых возможностей.

    Как Вы видите на скриншоте, первые шаги по подготовке включения основной геометрии и добавление столкновений с другими поверхностями (в данном случае - с землей). Частицы испускаются в определенном направлении и скоростью, а затем гравитация притягивает их обратно. Столкновение фиксируется, когда геометрия сталкивается с окружением и геометрия реагирует соответственно. Это могут быть брызги от капель дождя, частицы дыма или выхлоп пара из парового движка “отпрыгивающие” от соседних объектов, или даже брызги воды от водопада, создающие эффект “потока”.



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

    https://www.youtube.com/watch?v=z1k-0nu0_WM

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

    Сплайны и отбраковывание

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



    Здесь Вы можете видеть, что сплайны отображаются, но ориентация каждого сегмента сплайна пока работает криво - ох уж эти радости разработки!

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



    Как видите, E2 может обрабатывать большое количество объектов на экране. Мы добавили ограничители вершин для предотвращения вылетов 32-битных билдов для разработчиков из за нехватки памяти (64-разрадные билды этого не требуют, о как!).



    В общем, получаемый результат вполне соответствует нашим ожиданиям на данном этапе разработки. Конечно выглядит это не очень, но разобраться с такими вопросами, как смешивание текстур и степени отражения - это не столь большие задачи , которые обеспечат большой шаг вперёд в визуализации. Этого не произойдет до того, пока разработка реалистичного освещения и теней не будут завершены, что даст нам действительно существенный прорыв в визуализации Trainz - но это, к сожалению, пока так и останется записью в дневнике в течении одного-двух месяцев с этого момента.

    ---------- Сообщение добавлено в 02:00 ---------- Предыдущее сообщение размещено в 01:59 ----------

    Поддержка нескольких окон

    Пользователи Mac будут знакомы с внешним видом этих окон. В отличии от древнего интерфейса Content Manager'а, версия Mac позволяет работать с несколькими окнами одновременно. Это немного проще, но в то же время, дает больше контроля в областях, важных для опытных пользователей. Кроме того, мы будем принимать этого парадигму TANE на PC. Для интересующихся технической стороной, это также означает, что мы движемся от довольно устаревшего MFC к родному C++ framework, что означает более высокую производительность и более отточенный опыт пользователей.



    Изображение выше показывает несколько разных маршрутов одновременно открытых наряду с несколькими окнами Content Manager. Каждое окно можно изменять на лету и Вы можете перейти от окна к окну.

    Процесс портирования

    Переход установщика ассетов Trainz от Jet к E2 это скорее как перемещение целого моста, чем одного кирпича. В этом участвуют тысячи файлов и все они взаимосвязаны нетривиальными способами. Объекты могут иметь приложенные пути. Пути могут иметь прилагаемые объекты. Объекты и пути могут укладываться на землю, но форма земли также может находиться под влиянием тоннелей и поворотных кругов. Люди вряд ли смогут понять каждое взаимодействие одновременно, потому мы должны сделать это по частям. На практике это значит, что мы за раз вытягиваем один файл из TS12, обрываем любые связи с другими файлами, которые ещё не переносились и затем вставляем в TANE. Изначально это даёт много разбросанных деталей, но множество файлов в начале позволяет начать медленно собирать всё вместе. Это очень похоже на собирание головоломки: чем больше у нас есть деталей под рукой - тем легче вписаться в общую картину. Разработка игр часто сводится к длительной скукоте, а затем резкого взрыва в плане визуализации. Во время процесса портирования, совсем немного времени было потрачено без ощутимой разницы в качестве картинки, потом прописали инструменты, и теперь мы, наконец, начинаем видеть узнаваемые образы. Теперь мы можем загрузить существующие ассеты и перейти в режим свободного странствия камеры в игровом мире. Это позволяет нам увидеть какие классы ассетов работают правильно и какие нет, а так же определить и другие ограничения. Текстуры земли уже смешиваются; на удаление эффекта "клетчатки" мы истратили весь прошлый месяц или около того. Дополнительные системы регулярно портировались, проверялись и дорабатывались, а также в начале немного оптимизировались для обеспечения нашего внутреннего тестирования с приемлемой производительностью.



    Вы заметите, что у нас до сих пор нету никакого пользовательского интерфейса и хоть какого-то геймплея. User Interface API уже разработан и сейчас мы интегрируем эту систему и исправляем критические ошибки, которые мешают ему работать. Вы так же не видите никаких следов новых фичей TANE, таких как Эффект Столкновения Частиц или инструментов Физики. Тем не менее, разработка этих систем уточняется с помощью советов членов Pioneer Council и Trainz Enthusiast Group, и мы начнем раскрывать более подробную информацию о этих функциях в ближайшие недели. Наша следующая запись в дневнике введет Вас в курс о инструментах физики и мы выпустим автономную версию с набором инструментов для Альфа тестеров. Ниже приведены некоторые сравнительные скриншоты TANE и TS12. В то время, как у нас всё ещё есть возможность нагнать упущенное, результат вполне ожидаем на данном этапе разработки. Скоро мы будем в точке, когда TANE обгонит TS12 и оставит его позади в облаке пыли!



    На данный момент система LOD (level of detail) ещё не перенесена, и дабы не нагружать систему текстурами с высоким разрешением, мы пока что используем текстуры с низким разрешением (и без бамп-карт).



    В этом сравнении Вы можете увидеть, что линии сетки быстро переходят в мерцающий хаос из пунктирных линий в TANE. Это связано с отсуствием mip-маппинга, который пока ещё не реализирован.



    Это сравнение показывает текущее состояние освещения плоскостей в TANE, что приводит к размытости. Правильное освещение и тени - следующие главные системы в движке, которые будут реализироваться.
    Наши Альфа тестеры в ближайшее время смогут сами испытать результаты наших достижений, и это будет не за долго до того, как наши pre-beta и beta тестеры получат в свои руки TANE для более тщательного тестирования.

    Прокачка и тестирование физики

    Пока разработчики движка подготавливали инфраструктуру для TANE, наши остальные программисты разрабатывают новые игровые возможности. Сегодня мы сосредоточимся на моделировании физических процессов и редактировании модуля Движок, под рабочим названием Инженер. Так, как пользовательский интерфейс TANE пока ещё не готов, модуль Инженер вмонтирован в базовый код на основе TS12. Ранее начало работы над этим модулем дает нам больше времени для тестирования и оставляет нам место на исправление ошибок в физике, которые будут выявлены в процессе работы. То, что Вы видите ниже - начало модуля Инженер. Он изначально похож на модуль Машинист, но в нём имеются некоторые дополнительные настройки, а ненужные функции отключены или удалены. На данный момент всё добавляется с помощью 'програмного' заполнителя,так что мы можем сфокусироваться на получении работающей функциональности как можно скорее. Отточенная графика будет позже, согласно графику, как только вся техническая часть будет полностью готова.



    Инструмент автоматической генерации окружения и путей (показан ниже) практически готов и позволяет пользователям настроить тестовый путь с известной длиной, градиентом и кривизной. Используя Train Tab (вкладка справа), пользователи смогут разместить локомотивы и подвижкой состав на путях. Далее, они смогут выбирать какие точки будут отображаться на графике, а далее можно запускать различные тесты. Помимо отображения графика, дополнительная информация отображается в Driver HUD на протяжении тестирования и данные возможно экспортировать в формате *.csv



    Изображение выше отображает график с разноцветными линиями для скорости движения, давления в тормозах и пр. Многое ещё впереди: управление временем и возможность редактирования ТТХ наиболее важны из них, но по остальным тоже имеется хороший прогресс.

    Спустя 2 недели...

    По факту, прошло немного больше, чем 2 недели спустя нашей последней записи в дневнике, так что сейчас мы можем представить ползунок управления временем, таймер и дополнительные графические переменные, как одометр, сила тяги и тормозное усилие (по подвижным единицам и по всему составу), которые уже реализированы. Driver HUD так же имеет больший функционал, так как это режим редактирования Движок.



    Процесс, который привел к этому этапу, имел ряд фаз: внутренняя разработка, внутренний обзор, внешний обзор нашими группами TEG и TPC, первоначальной реализации, внутреннего тестирования, дальнейшей реализации и расширение функционала, больше тестирования, исправление багов и затем подготовка к внешнему релизу для наших Альфа тестеров. Пока мы будем добавлять новые переменные, уже реализирован базовый режим редактирования Настроек ТТХ (основной мастер создания ТТХ из реальных данных), это значит, что инструмент уже достаточно надежен для внешнего тестирования. Мы очень довольны прогрессом по этой системе. Наконец, хотя мы понимаем, что не все будут пользоваться этими инструментами, мы уверены, что в результате улучшения производительности движка и нашей базовой системы физики обеспечит всем гораздо более качественное моделирование в целом. Чтобы узнать больше о внутренней работе этой системы, Вы можете посетить нашу статью в разработке в Вики для Разработчиков (англ.).

    Процедурные стрелки

    Генерация процедурных мэшей позволяет Trainz: A New Era использовать высококачественные элементы пути, созданные разработчиками, и манипулировать ими для покрытия широкого спектра специфических вариантов стрелок, которые могут быть необходимы на карте. Это устраняет разработчиков от необходимости создавать специфические стрелки для каждого индивидуального случая и позволяет отказаться от прежних махинаций с с использованием невидимых путей для получения анимированых стрелок. В результате укладка отличных стрелок стает простой и позволяет софту принимать все соответствующее решения.



    Здесь показан скриншот “первого этапа” разработки, которым является вырезание рельсов. Это чисто "рабочий" скрин - ничего, кроме фантазии в действии. Освещение и материалы неправильные, путь низко детализирован, шпалы и крепления уложены криво, усовики и контррельсы не на своих местах и т.д. Что здесь видно - так это доказательство концепции, согласно которой рельсы режутся и крепятся в нужных местах.
    После этого шага мы работали над добавлением контррельсов, выравниванием шпал и верной установкой креплений. Результатом является то, что мы в конечном итоге получим очень реалистичные стрелки и всё это без нужны в дополнительной работе разработчика или картостроителя.



    Этот скрин (в режиме debug), что контррельсы установлены верно и так же показаны “бисекторальные” шпалы, когда они идут общие для обеих путей. Юзер сможет выбрать этот режим или режим “Спрямление” когда укладка шпал будет привязана к более прямому из двух путей (на этом случае это левый путь).
    Оставшаяся работа заключается в анимировании остряков, подготовке интерфейса Surveyor для возможности доступа юзера к различным вариантам укладки пути и, конечно, исправление багов и небольшие улучшения в таких вещах, как алгоритмы укладки шпал.
    Для разработчиков тоже будут изменения, но они по проще. Вам необходимо отдельно экспортировать мэши спланов рельсов, шпалы, балласт и т.д., а не экспортировать всё это, как комбинированный объект. Это необходимо для того, дабы игра определяла к каким частям какие эффекты применять. Вам больше не нужно экспортировать различные "фиксированые" стрелки, так что фактические усилия для достижения того же уровня графики будут значительно меньше. Полные инструкции будут размещены на вики, как только мы определимся с финальными требованиями.


    Новые записи в дневнике разработчика будут добавляться по мере процесса разработки, так что следите за обновлениями!
    Последний раз редактировалось de_lorian; 28.07.2014 в 17:01.
    Novus ordo seclorum

  13. Сказали спасибо: (2)


  14. #10
    Пользователь Степень участия Аватар для de_lorian
    Регистрация
    22.01.2010
    Страна
    Адрес
    Киев
    Возраст
    23
    Сообщений
    394
    Автор

    Effect

    Pre-Beta на подходе

    Вчера 1,000 Pre-Beta тестерам были разосланы приглашения и уже почти 500 человек зарегистрировали свои тестовые аккаунты на нашем сайте бета тестирования.



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

    "Определенно НОВАЯ ЭРА для системы тестирования/отчетности. Очень красиво сделано!"

    Спасибо Ричарду за добрые слова!

    Тестерам предоставлен набор задач для проверки различных аспектов программного обеспечения и результаты обнадеживают в более чем 90% случаев успешных попыток загрузить контент.



    Есть, конечно, также куча известных проблем странностей..



    Открыто много тем для обсуждения ошибок на форумах и более 100 багов было выявлено за первый день.
    Мы работаем над вопросами производительности и стабильности и надеемся получить какие-то скрины графики в ближайшие недели.
    Novus ordo seclorum

  15. Сказали спасибо: (5)


+ Ответить в теме

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения