Дневник разработчиков Cities: Skylines II - Дорожное движение (№2)
Сегодня речь пойдет о новом и улучшенном искусственном интеллекте трафика. Управление транспортным потоком в растущем городе было основной частью Cities: Skylines, и, приступая к работе над продолжением, мы знали, что должны предложить более совершенную систему. В процессе работы команда учитывала все отзывы игроков и стремилась сделать город более реалистичным и живым.
Горожане и транспорт - это основная часть живого и дышащего города. Где живут люди, где они работают и какие места посещают в свободное время? Где расположены предприятия, как они получают сырьё и доставляют товары в магазины или на другие предприятия? Все это и многое другое влияет на движение транспорта по городу.
В этом дневнике мы рассмотрим, как работает симуляция трафика и какие характеристики агентов (граждан, услуг и ресурсов, перемещающихся по городу) учитываются при построении маршрутов.
Видеоверсия дневника
Различие между Cities: Skylines и Cities: Skylines II
Поиск пути в Cities: Skylines II будет работать иначе, чем в первой части. В Cities: Skylines поиск пути был основан на принципе близости, то есть агенты выбирали пункты назначения или заказывали услуги, сравнивая расстояние по прямой линии, не принимая во внимание существующую дорожную сеть. В случае пожара задержки из-за более длинного маршрута по запутанной дорожной сетке могли привести к более серьёзным последствиям. Кроме того, в первой части агенты выбирали самый быстрый маршрут к месту назначения и придерживались его, терпеливо стоя в пробке, если таковая возникала.
В Cities: Skylines II агенты выбирают маршрут, основываясь на нескольких факторах: время в пути, стоимость поездки, личные предпочтения, если речь идёт о людях, и многое другое. И ещё - теперь агенты умеют корректировать маршрут по ситуации: они могут сменить полосу движения, чтобы избежать аварии или пропустить спецтранспорт.
«Стоимость» пути
В основе расчетов при поиске пути лежат четыре аспекта: Время, Комфорт, Деньги и Модель поведения.
Время является зачастую самым фактором при расчете пути: все агенты стремятся найти самый быстрый маршрут к месту назначения. Например, маршрут по небольшой дороге может быть короче, но из-за ограничения скорости поездка по шоссе будет более быстрой, и агент выберет именно этот вариант.
Однако не менее важным фактором является комфорт: этот параметр включает в себя избегание ненужных поворотов на перекрёстках, наличие удобных парковок рядом с местом назначения (или наличие поблизости остановки общественного транспорта).
Деньги при выборе пути обычно фигурируют в виде расхода топлива и потенциальной платы за парковку. Граждане взвешивают стоимость проезда и парковки и сравнивают их с другими вариантами передвижения (в том числе и с пешей прогулкой). В случае с автомобилями доставки стоимость перевозимых ресурсов увеличивается тем больше, чем дальше они доставляются. В результате продажа товаров на местном уровне является экономически более выгодной для компаний за счёт экономии на логистике.
Модель поведения отвечает за готовность совершать рискованные манёвры: например, внезапный разворот. Частные лица и службы доставки скорее потеряют время в пробке, а вот автомобили экстренных служб теперь активнее готовы объезжать препятствия ради того, чтобы успеть в пункт назначения.
При выборе маршрута также учитывается возрастная группа путешественника. Для подростков наиболее важным фактором являются деньги: они ищут возможность сэкономить на билетах или на стоимости парковки. Взрослые ценят время, поэтому для них предпочтителен самый быстрый маршрут. А вот пожилые люди предпочитают высокий уровень комфорта, особенно если его стоимость не так уж велика.
При заказе транспортного средства производится анализ не только текущего местоположения машин, но и то, где окажутся автомобили в ближайшем будущем. Например, при необходимости ремонта участка дороги задача может быть поставлена не ближайшей к ремонтируемому участку бригаде, а той, которая после завершения текущего заказа поедет в нужный район и, закончив следующий заказ, будет ближайшей к заданному месту.
Как уже было сказано выше, на стоимость транспортировки ресурсов влияет длина маршрута, так как расстояние увеличивает затраты, поэтому компании стараются отправлять грузы как можно ближе. Транспортировка ресурсов и товаров за пределы города обходится дорого и может значительно снизить прибыльность компаний.
Выбор полосы движения
В Cities: Skylines II транспортные средства используют больше полос. Они стараются оптимизировать использование дороги, чтобы обеспечить как можно более плавное движение, занимая все доступные полосы по мере продвижения к месту назначения. Это означает, что если одна полоса на многополосной дороге заполнена автомобилями, ожидающими зелёный сигнал светофора, новые автомобили, прибывающие на перекресток, выбирают другую свободную полосу (полосы), чтобы равномерно заполнить перекресток.
На многополосных дорогах водители могут обгонять более медленные автомобили. Транспортные средства также меняют полосы движения, чтобы избежать остановку из-за ДТП, пробки или остановившегося транспортного средства, например, машины скорой помощи, забирающей пациента. Кроме того, автомобили будут стараться освободить место для аварийного автомобиля, если это возможно.
Моделирование трафика и производительность
Несмотря на то, что симуляция дорожного движения в Cities: Skylines II будет гораздо сложнее, чем в первой части, оно не должно сказаться на производительности, поскольку для вычислений будет использована вся доступная вычислительная мощность многоядерных процессоров.
Так что, несмотря на постоянное принятие решений каждым агентом (поменять полосу движения, скорректировать маршрут и т.д.) производительность игры будет значительно улучшена, что означает возможность увеличения численности населения. В Cities: Skylines II не будет жестких ограничений на количество граждан, одновременно перемещающихся по городу: единственным реальным ограничением для ваших городов будут ограничения платформы, на которой запущена игра.
Поведение при круговом движении
Как уже было сказано в предыдущем дневнике, во второй части будут доступны круговые развязки. Транспортные средства, въезжающие на такой перекресток, уступают дорогу тем, кто уже находится на круге, однако, как и в реальной жизни, при возникновении подходящей возможности автомобиль может вклиниться перед другим транспортным средством.
Дорожно-транспортные происшествия
В игре будут представлены ДТП, при которых автомобилисты теряют управление и врезаются в другие машины или в неподвижные преграды. Вероятность аварии рассчитывается отдельно для каждого участка дороги и зависит от состояния полотна, освещенности, погоды и стихийных бедствий. Поддерживайте дороги в хорошем состоянии и не экономьте на уличном освещении - это поможет снизить риски аварий в ваших городах.
Если на участке высокая аварийность, то в любой момент может быть случайным образом выбрано транспортное средство, которое «теряет управление»: автомобиль толкается в случайном направлении и натыкается на ближайшую преграду, будь то здание или другая машина. На время аварии участники столкновения получают простейшую физическую модель, которая описывает их поведение.
Места аварии должны быть оцеплены и очищены полицией и дорожной службой. На затронутых аварией полосах останавливается движение и другие участники движения ждут, пока дорога будет очищена. На место аварии могут быть вызваны машины скорой помощи, если авария была достаточно серьезной и привела к серьезным травмам. Если расчистка места аварии затягивается и возникает большая пробка, агенты могут пересчитать свои маршруты, что приведет к совершению разворотов и поиску альтернативных маршрутов в обход заблокированной полосы.
Парковка
Парковка - новая функция в Cities: Skylines II, оказывающие значительное влияние на расчёт пути и выбор пункта назначения. Агенты учитывают доступные парковочные места: наиболее удобным вариантом обычно является возможность припарковаться на стоянке у места назначения. Если это невозможно, выбирается либо другая парковка, либо другой способ передвижения. Отсутствие парковки у крупного магазина может привести к тому, что граждане предпочтут более далёкие торговые центры для совершения покупок и отдыха.
Как уже было сказано выше, предпочтения зависят в том числе и от возраста. Пожилые люди предпочитают комфорт, и если рядом с местом назначения есть дорогие парковочные места, они, скорее всего, выберут их, несмотря на более высокую плату за парковку. Взрослые больше всего заботятся о времени и выбирают места, расположенные вдоль самого быстрого маршрута, а подростки имеют меньше денег, поэтому выбирают самые дешевые варианты, даже если это означает, что им придется пройти большее расстояние пешком или воспользоваться другими видами транспорта для завершения поездки.
Стоимость парковки вдоль дороги зависит от района. Низкая плата или её отсутствие открывают парковку для всех групп граждан, в то время как высокая плата за парковку делает парковку доступной только состоятельным горожанам.
И не только вдоль дорог: встречайте многоэтажные паркинги!
Отображение трафика на карте
Слой трафика на карте показывает интенсивность движения в городе в текущий момент и усреднённый за последнее время, что позволяет быстро обнаружить проблемные участки дорожной сети, поскольку пробки окрашивают дороги в красный цвет. На небольшом графике показано, сколько автомобилей движется по дорожной сети в разное время суток - высокая интенсивность указывает на часы пик.
Обзор дорог на карте
Так же доступна более подробная информация об отдельной дороге, включающая её состояние, поток и интенсивность движения. Анализируя эти данные можно очень точно улучшить дорожную сеть.
Если на какой-то конкретной дороге наблюдается большой трафик, то, скорее всего, это главная дорога, и вам придется следить за ней по мере роста города и модернизировать её до более широкой магистрали, чтобы уменьшить пробки в будущем.
Плохое состояние дороги повышает риск аварий и замедляет движение. Машины по обслуживанию дорог поддерживают ваши магистрали в хорошем состоянии и расчистят от снега в зимний период.
Служебный транспорт
При построении маршрута служебный транспорт учитывает текущую обстановку: машины дорожной службы могут принять новое задание вперёд текущего, если оно расположено ближе.
Автомобили экстренных служб могут нарушать правила дорожного движения, если это сокращает их путь к месту назначения. Полицейские патрули имеют дополнительные правила поведения и могут отменить свои патрульные обязанности (снижение вероятности преступности в районах, через которые они проезжают), если произошла чрезвычайная ситуация, например, ограбление или ДТП.
Общественный транспорт движется по установленным линиям, за исключением такси, которые могут свободно выбирать свои маршруты в соответствии с правилами поиска пути, аналогичными частным автомобилям. Первоначально они берут плату за проезд только на стоянках такси, но после модернизации таксопарка могут брать плату (и клиентов) в любой точке города.
Работа служебных автомобилей может быть ограничена районами, созданными игроком. В этом случае автомобили отвечают на заказы и реагируют на чрезвычайные ситуации только в пределах заданных районов. При этом любая городская служба может обслуживать как один или несколько районов, так и весь город.
Междугородний трафик
В игре также предусмотрено движение между городами, существующими где-то за горизонтом. Этот трафик не вносит вклад в экономику города, но может стать частью общего транспортного потока по мере роста города и интеграции магистралей в городскую дорожную сеть.
Если вы построите более короткий маршрут между соседними городами, в обход вашего, то сторонний транспорт будет использовать новый вариант и тем самым разгрузит ваши городские дороги.
Вы можете добавить новые «внешние соединения», если доведёте дорогу до границы на карте
На этом мы завершаем второй дневник разработки и надеемся, что дали достаточное представление о трафике в Cities: Skylines II. ИИ дорожного движения Cities: Skylines был извечной темой для обсуждений, так что мы с нетерпением ждём ваших отзывов о новой, более продвинутой симуляции трафика во второй части игры.
На следующей неделе мы рассмотрим тему общественного и грузового транспорта. До встречи!
pikabu GAMES
4.6K поста8.5K подписчиков
Правила сообщества
Коротко: никаких "кулвидосиков" с нарезкой геймплеев и смешных моментов, никаких комиксов, артов, косплея и т.д. Только полезная и важная информация для геймеров.
Помни!
- Новостные/информационные публикации постим в pikabu GAMES
- Развлекательный контент в Лигу Геймеров
За неэтичное использование сообщества - бан. Если ты выкладываешь пост в наше сообщество и получаешь стартовые плюсы от наших подписчиков, не думай, что вытаскивать потом пост в своё личное сообщество будет умным поступком.