Как велосипеды Франкенштейна вдохновили Wheel World

Сегодняшний гостевой пост написан Марком Эссеном, креативным директором Messhof, студии, стоящей за такими играми, как Nidhogg, Flywrench и, что наиболее ожидаемо, приключенческой игрой на велосипедах WheelWorld. В этой статье Марк делится тем, как страсть команды к "Франкенштейнским велосипедам" и культуре DIY формирует уникальную физику и дизайн мира их последнего проекта.
От кампусных кооперативов до разработки игр
Я увлекся велосипедами еще в колледже. Каждый год, после выпуска, студенты оставляли позади велосипеды, которые были сломаны или непригодны для езды. Остатки увозили в заднюю комнату кампусного велосипедного кооператива, студенческого пространства, где любой мог взять раму или колесо и попробовать собрать что-то, что можно было бы катить. Обычно вам нужно было искать запчасти – возможно, донорный переключатель или колесо, которое было достаточно близким по размеру. Там я узнал о всех странных стандартах размеров, диаметрах рулевой трубы, количестве передач и о том, как соединять детали, которые на самом деле не должны были подходить друг к другу. У кооператива был небольшой бюджет на такие вещи, как шины и ручки, поэтому велосипеды часто выглядели довольно дико. Мне было очень весело помогать друзьям собирать свои собственные Франкенштейн-велосипеды.

Этот дух креативной сборки является основой Wheel World. С самого начала я хотел, чтобы игроки испытали это чувство сборки специально созданного мэшапа, даже если цель заключалась в основном в атмосфере. Кристи и я собрали удаленную команду дико талантливых разработчиков, чтобы помочь сделать этот велосипедный мир реальностью. Игра была слишком технически сложной для одного человека и имела слишком много дизайнерских систем, чтобы уместиться в одном мозгу.
Игровая механика: Части, статистика и преимущества
В Колесе Мира игроки находятся в поисках украденных легендарных частей вашего велосипеда. Через гонки, исследования и шопинг вы постепенно создадите огромную библиотеку компонентов в шести категориях: рама, вилка, сиденье, рукоятки, колеса и трансмиссия. Каждая часть влияет на ваши общие характеристики – такие как максимальная скорость, ускорение, управляемость и дрифт. Кроме того, некоторые части имеют преимущества, которые изменяют вашу производительность в определенных условиях, таких как "внедорожный" или "бушвакер". Мы создали так много частей, что есть некоторое пересечение характеристик, но настоящая задача заключается в балансировке сырых чисел с преимуществами и внешним видом. И если вы хотите, чтобы снобы в Велосити воспринимали вас всерьез, возможно, не стоит появляться с ржавыми частями.
Дизайн мира: Инструменты Unity и процедурная генерация
Мы хотели, чтобы мир казался живым, но также отражал велосипедную культуру, поэтому это означало наличие множества объектов, перемещающихся по всем видам дорог и троп. Чтобы поддержать дизайн мира, мы создали множество инструментов в Unity.
Наш собственный редактор дорожных узлов позволяет нам быстро прокладывать дороги и пути, при этом каждый тип дороги определяется такими атрибутами, как текстура, ширина, количество полос, правила дорожного движения и ограничения скорости. Местность между дорогами генерируется с использованием смеси шумовых образцов и ручного топологического деталирования с помощью подсказочных сеток.
Для добавления деталей, таких как заборы, стены или целые городские кварталы, мы использовали Houdini. Дизайнеры могли настраивать узлы и атрибуты каждого актива Houdini, чтобы точно разместить их там, где это необходимо. Вы можете прочитать больше об этом процессе здесь.
Системы движения: Автомобили и ИИ-велосипедисты
Система автомобильного движения была задумана так, чтобы просто работать без большого количества разметки от дизайнеров. Они просто размещали дорожные узлы и соединяли их с нашими типами дорог, которые мы хранили как активы. Таким образом, дизайнеры могли свободно создавать новые типы дорог по мере необходимости или корректировать существующие и обновлять всю карту. Основная схема проектирования была следующей: соединить узлы, сгенерировать дороги и окружающий ландшафт, нажать кнопку воспроизведения (или чаще использовать наш инструмент "воспроизвести с этой точки на карте"). Вы сразу увидите бурлящую сеть автомобилей, движущихся по великолепно вымощенным дорогам.

Карты дорожных узлов из разных сцен могли быть сшиты вместе в нашей более крупной мировой сцене, которая загружала множество меньших сцен. Это было отлично для времени итерации, дизайнеры могли работать в локализованной области мира, не загружая всю карту! Что касается самих автомобилей, мы использовали другую систему узлов для определения зон движения. Каждая зона движения имела библиотеку префабов автомобилей, из которой она выбирала для спавна на дорогах до определенного максимального числа. С течением времени нам пришлось оптимизировать, сколько автомобилей создается за раз, в конечном итоге обратившись к стратегии, которую используют многие игры, где мы удаляем автомобили, которые не находятся рядом с игроком. Это имеет дополнительное преимущество, позволяя нам спавнить следующие автомобили в сбалансированных случайных новых местах, чтобы поддерживать распределение движения, так что вы редко увидите пробки, если будете постоянно менять свое положение.
Это был мир, жители которого [спойлеры!] считали себя потомками гигантского космического велосипедиста по имени Cog, который взорвался, когда катапультировался вокруг гигантского зеленого луны мира, так что велосипедисты на дороге были само собой разумеющимся. Для велосипедистов было недостаточно двигаться по жестким линиям, это было нормально для автомобилей, но мы хотели подчеркнуть свободную природу езды на велосипеде.
ИИ-велосипедисты были одной из самых сложных систем в игре. Каждый гонщик следует гоночной линии, построенной из точек вдоль дорог или троп, предпочитая вымощенные пути для скорости. Но мир не закрыт, поэтому ИИ также должен избегать движущегося трафика и других опасностей. Каждый велосипедист отправляет лучи для обнаружения препятствий и предсказывает будущие позиции автомобилей, чтобы избежать столкновений вовремя, при этом все действия сглаживаются с помощью настроенных вручную PID-контроллеров. Вся система была построена с использованием системы заданий Unity для повышения производительности. Мы также создали многослойную систему поведения, которая позволяет ИИ-гонщикам принимать решения, такие как ускорение вперед, когда у них есть выносливость, или блокировка других гонщиков в критические моменты.

Физика велосипеда: Уникальный подход к симуляции
Не так много игр, которые глубоко погружаются в тему велосипедов. Большинство, как серия Pro Cycling Manager, сосредоточены на командной тактике и метрах выносливости. Мы хотели сосредоточиться на том, что, по нашему мнению, является увлекательными частями велогонок: драфтинг, спринт и поиск креативных линий в узких гонках. В Wheel World не стесняйтесь перепрыгивать через забор или заезжать на рампу, если это поможет вам вырваться вперед.
Одним из первых вещей, которые мы поняли во время разработки, было то, что будет крайне важно сделать динамику велосипеда как можно более физической и увлекательной, при этом сохраняя веселье. Чтобы достичь этого, мы вручную создали физическую систему для велосипедов, которая приближает реальность несколькими уникальными способами. Мы в основном сосредоточились на колесах велосипеда; вместо того, чтобы рассматривать велосипед как единую массу, каждое колесо моделируется независимо от другого, соединенное с помощью очень жесткой физической пружины, как это работает в реальной раме велосипеда. Это позволяет колесам сгибаться друг к другу и отдаляться друг от друга, смягчая приземления и поддерживая инерцию в узких поворотах.
Точно так же, как в более реалистичных гонках на автомобилях, мы используем коэффициент трения шин, чтобы изменять скорость велосипеда – управление происходит естественным образом при повороте переднего колеса. В результате легко получить широкий спектр характеристик управления между колесами и поверхностями, на которых они используются. Симуляция каждого колеса запускается несколько раз за кадр, чтобы игра ощущалась как можно более детализированной и плавной, поэтому мы использовали систему заданий и компилятор Burst Unity, чтобы система работала хорошо, обеспечивая при этом высокодетализированные столкновения как для игрока, так и для ИИ, с которым они соревнуются.

Даем игрокам новое понимание велосипедной культуры
Мы надеемся, что вам понравится ваше время в Wheel World и вы уйдете с новым пониманием этого прекрасного двухколесного изобретения, которому уже 2000 лет. Как знаменитый Когг написал в священном руководстве: "Пусть ветер будет у вас за спиной, а ваши колеса будут верными."
Список желаемого Wheel Worldи получите уведомление, когда игра выйдет 23 июля. Исследуйте больше игр, Сделанных с Unity, на нашей странице кураторов Steam и читайте больше мнений от разработчиков игр на нашей странице ресурсов.
