Перейти к содержанию
  • Регистрация
  • запись
    1
  • комментария
    0
  • просмотров
    1 221

Информация об этом блоге

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

Entries in this blog

Ilyon

Многие из вас, безусловно, проходили сценарии в trainz. Некоторые проходили один и тот же сценарий несколько раз. Почему, бывает, тянет пройти сценарий заново? Самой главной причиной является его нелинейность. Насколько это возможно. Вопрос: а насколько нелинейныйм действительно можно сделать сценарий?

Я бы разделил современные сценарии на три категории по степени их линейности или нелинейности:

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

Полунелинейные. Здесь автор начинает использовать продвинутые механизмы разветвлений событий. Например, предлагает игроку выбрать локомотив в начале сессии из расставленных заранее в депо; создает возможность прибыть на разные пути станции; добавляет нештатные ситуации (остановки на перегоне, следование по неправильному пути и т.п.) . Математически, один сценарий замысловато разветвляется на 6, 8, 10 или даже больше вариантов, которые, тем не менее, остаются на 80-90% похожими друг на друга за исключением некоторых штрихов. Такие сценарии интересно проходить по несколько раз, однако игрок обучается распознавать места, в которых "зашиты" поворотные моменты.

Нелинейные. Самые вкусные, на мой взгляд. Хотя абсолютно нелинейные сценарии возможны только на реальной железной дороге. Самая главная особенность нелинейных сценариев - автор сам не знает, что будет происходить вокруг поезда игрока на сессии, помимо того, что он заложил в скрипте (т.е. в правилах). Здесь даже можно исключить первичную нелинейность, к примеру, в выборе локомотива или нештатных ситуаций. Иными словами, построить цепочку задач для игрока абсолютно последовательную, без рэндомности событий, но поместить все это в непредсказуемую среду. Под "средой" я понимаю, конечно, трафик, который не стоит в кустах на перегоне и не ждет, когда поезд игрока проедет нужный триггер, а потом по ненадобности удалиться через 3 минуты после встречи. Трафик всегда должен выполнять свои параллельные задачи и не привязываться  на 100% к поезду игрока. Безусловно, цепочку реальных расписаний соблюдать нужно, в ней есть своя прелесть. Однако, в trainz соблюдать более одного расписания довольно сложно, даже невозможно, а если и возможно, то не через имеющиеся правила и команды.

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

Сейчас сценарии, которые мы делаем к картам, базируется на бото-трафике, который продолжительное время настраивается прежде, чем будет придуман сам сценарий. Я почти не знаю людей, которые занимаются чем-то подобным. Вот почему вымышленные карты лучше всего подходят на опытов такого рода. На реальных маршрутах картостроители забивают толстый и жирный болт на то, чтобы сценаристам было удобно работать на сессии. Чтобы получить пригодную карту для сценария, приходится множество раз "дергать" картостроителя, чтобы он расставил приоритеты в светофорах, настроил радиусы стрелок, установил портал на краях карты, маркеры остановок ПС у платформ и много-многое другое. Если это будет делать автор сценария, то его потраченные усилия превратятся в пустышку при следующем релизе маршрута. И начинай все заново...

На "дрессировку" бото-трафика уходят часы наблюдений. У меня скопилось уже несколько исписанных тетрадей по 96 листов, куда я записывал все "косяки" ботов, а потом лез в сессию, чтобы их исправлять. Когда-то мы занимались мультиплеерами и вместо ботов у нас были реальные игроки. Боты пришли чуть позже.  Теперь я могу заявить, что боты оказались умнее многих игроков и наблюдать за ними намного интереснее, чем играть в мультиплеер. Хотя и боты могут встать на перегоне и как игрок в МП заявить ДНЦ: "Потеря управления. Примите меры". Однако в случае с ботом - вина за его косяки лежит на том, кто писал для него цепочку команд. 

Доводилось слышать упрек в сторону бото-трафика, что поезда, выходящие из порталов по краям карты, еще должны разъехаться по карте, чтобы создать антураж, а на это уходит время. Однако ничего не мешает комбинировать линейный и нелинейный методы, расставляя некоторые поезда в середине карты и отправляя их при старте сессии. На маршруте "Летние просторы" и отчасти на "Восточной Европе" мы добавили маневровый трафик, который занимается погрузкой и разгрузкой на индустрии, тем самым обеспечивая тот самый трафик, т.е. необходимый антураж в середине карты. Станции не выглядят голыми - на них стоят составы, которые используются под маневры.  Они реально задействованные, а не те бутафорские, которые в линейном сценарии всегда на одном и то же месте, к тому же блокируют пути парков для приема других поездов. На "Летних просторах" в сценариях на станциях, где есть индустрии, находится маневровый тепловоз, для которого придуман список нарядов. Как правило, в нем от 4 до 8 заданий, которые могут выпасть в начале сессии случайно. После завершения одного наряда, бот может приступить к следующему. Итого: 8 маневровых локомотивов. При старте сессии каждому выпадает свой наряд, тем самым обеспечивается дополнительная нелинейности помимо основного трафика.

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

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

Важная информация

Для продолжения Вы обязаны согласиться с нашими Условия использования.