Вокруг Вселенной: процедурные города

Вокруг Вселенной: процедурные города

Вокруг Вселенной: процедурные города

Видео:

Текстовый траскрипт:

Вступление

Сэнди Гардинер (СГ): Привет и добро пожаловать на очередной эпизод Вокруг Вселенной – наш еженедельный взгляд на продолжающуюся разработку Star Citizen. Я Сэнди Гардинер.

Крис Робертс (КР): А я Крис Робертс.

СГ: На сегодняшнем шоу мы взглянем за кулисы разработки, чтобы узнать об истоках нашей технологии процедурных городов, и что потребовалось для ее подготовки для CitizenCon.

КР: Ага, вы определенно не захотите пропустить это. Действительно интересная механика, но для начала давайте сверимся с Эриком Кайроном Дэвисом и остальной командой в свежем Burndown.

Burndown

Эрик Кайрон Дэвис (ЭКД): С возвращением в Burndown, наше еженедельное шоу, посвященное обзору прогресса над релизом Star Citizen Alpha 3.0. Процесс продвигается к релизу на PTU, а мы сфокусировались на следующих категориях: торговля, миссии, корабли и прочие средства передвижения, путешествия, mobiGlas и общие производительности и стабильность. На текущих момент мы имеем 197 проблем по всем категориям, так что давайте сверимся с командой, чтобы увидеть, каков прогресс по каждой из них.

Тодд Папи (ТП): Мы продолжаем разбираться с 3.0. Фактически, думаю, мы справились со всеми задачами и багами по шоппингу. Сегодня или завтра это уйдет на проверку. Так что по крайней мере с конца недели я, Пол и команда по интерфейсам фокусируемся на интеграции системы предметов 2.0 с кораблями и на всем интерфейсе, что связан с этим. А затем мы будем готовы выдать это на PTU, а с того момента мы также сосредоточимся на PMA и некоторых других элементах для того, чтобы по сути завершить все базовые вещи. В течение следующих недели-двух я буду заниматься тестированием существенных багов 3.0, на которых мы сейчас сосредоточены, чтобы убедиться в том, что мы можем доработать их до минимально короткого списка, до того уровня, который мы посчитаем минимально приемлемым для релиза на PTU и в лайв.

Шоппинг/Грузы

Джейк Росс (ДР): На этой неделе мы достигли значительного прогресса по шоппингу. На завтрашнее утро у нас запланировано ревю с Крисом и всеми директорами, на котором мы пройдемся по нему. Мы разобрались более чем со 150 багами за последние пару недель и мы собираемся подвести итоги этого процесса. Надеюсь, что мы получим минимальное количество замечаний, так что сможем максимально приблизиться к тому, чтобы назвать эту механику завершенной.

Над опытом взаимодействия при торговле работаем не только мы в Остине. Знаете, у нас есть Спенсер Джонсон в Лос-Анджелесе, который работает над багами со своей стороны, а мы координируем свои действия с ним, чтобы убедиться, что у него есть все, что требуется от нас. У нас также есть сторонние небольшие проблемы вроде дерганий голов NPC и их болтании вперед-назад, и Рич Кай в Соединенном Королевстве работает над этим. И есть еще множество разнообразных, странных, рандомных багов на текущей стадии, причины которых мы пытаемся выяснить, чтобы разобраться с ними и сделать эту механику максимально отполированной.

Роберт Гайзер (РГ): Как могли видеть наши Эвокати, у нас были одинаковые магазины. Под одинаковыми я подразумеваю идентичные копии Dumper’s, как на Левски, так и на Grim HEX, которые мы теперь разделили и создали два различных торговца и немного перемешали вещи. А еще теперь у нас есть предметы второго размера. Пустая задняя комната теперь полна прекрасных предметов второго размера, которые есть на некоторых новых дисплеях, которые мы получили от Бена и его команды. Также у нас есть все виды артов, которые всюду чередовались. Нам пришлось вернуться к ним и убедиться, что все размещено верно и хорошо выглядит на полках, и что все финальные вещи уже в игре, а все ресурсы уже в билде.

Роберт Рейнингер (РР): Определенно были сложности в работе над этим. Интеграция торговцев, которые фактически являются первым воплощением движка Subsumption, была той еще задачей. Хоть торговцы и довольно просты в отношении к ИИ, который вы увидите в дальнейшей перспективе, работа над ними оказалось хорошим опытом. Мы избавили сестему от некоторых багов, подкрутили взаимодействие с объектами, поколдовали над камерой, чтобы NPC мог сесть на верное место, фокусироваться на вещах, которые вы примеряете… вещи в этом роде. В общем это «верхушка айсберга», но работа над ней тоже отнимает время… Все вышло хорошо.

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

Задания

Джанин Ирмлер (ДИ): Мы перешли от стандартных циклов разработки к еженедельным ревю, чтобы завершить работу над миссиями для 3.0. У нас уже есть множество миссий, доступных для Эвокати, но несколько все еще отсутствуют. Так что мы завершаем недоделанные миссии и задачи, которые отслеживаем в Jira.

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

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

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

Люк Прессли (ЛП): На этой неделе мы сосредоточились на завершении оставшийся миссий. Мы сфокусировались еще на семи, что, думаю, оставляет еще четыре, которые близки к завершению. И этот прогресс позволяет нам переключить внимание на баги и меньшие элементы, которые мы откладывали на потом. Например, мы добавили автоматические турели на некоторые из наших космических станций, которые помогут в обороне от людей, которые ошиваются вокруг и занимаются гриферством, то есть расстреливают корабли на посадочных площадках. Нам также удалось добавить функцию, которая позволяет присоединиться к чему-то вроде радиоканала, когда вы присоединяетесь к миссии. Это значит, что когда вы присоединяетесь к мультиплеерной миссии, вы и ваши друзья будете находиться на чем-то вроде единой частоты и слышать диалоги этой миссии, но это не будет распространяться на прочих игроков на сервере. Ну и находящиеся неподалеку люди не будут встревать в ваш сюжетный диалог, прокручивая его вперед-назад, что реально улучшает впечатления.

Корабли/Транспортные средства

ДР: Еще я отслеживаю систему предметов 2.0, интеграцию интерфейса и оборудования кораблей. Т.е. это подготовка кораблей и применение всех возможностей от поддержки системы предметов 2.0, которую внедрила команда инженеров.

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

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

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

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

Путешествия  

Мэттью Лайтфут (МЛ): Как мы и говорили на прошлой неделе, команда по работе над системой помощи в полете фокусировалась на поддержке команды в Лос-Анджелесе  и устранении багов, а затем уже на всем остальном. И нам удалось разобраться с приличным числом багов. Остается еще один, работа над которым продлится с начала недели и до того, как Джон переключится на последующие задачи.

Джон Притчетт (ДП): Сейчас я здесь, в Foundry 42 в Манчестере, так как тут я могу работать с Эндрю Николсоном и Дэвидом Колсоном над летной моделью. Помогаю с настройкой и помогаю Дэвиду в работе, мы лишь недавно работали вместе, он занимается системой гравитационной левитации и системой помощи в полете.

Эндрю Николсон (ЭН): На прошлой неделе нам удалось завершить, ну или мне удалось завершить, полную настройку скоростей кораблей в режиме боевого маневрирования, чтобы сделать все немного быстрее. Прохождение по всем кораблям отняло много времени, но я действительно удовлетворен тем, как все вышло. Теперь есть больше скорости, особенно при переключении на большие форсажные скорости.

На этой неделе основной акцент сделан на симуляции гравитационной левитации для байков, а также на настройке атмосферного полета и симуляции сопротивления воздуха.

Дэвид Колсон (ДК): Мы обнаружили кое-что несколько раньше, когда это ушло к Эвокати на той неделе… Оказалось, что довольно часто корабли теряют управление. Например, вы начинаете вращаться в одну сторону, а корабль начинает бесконтрольно вращаться, так что восстановить контроль довольно сложно. Мы довольно быстро выяснили, что некоторые улучшения производительности, добавленные несколько дней назад, вызывали эту проблему. Хотя мы не были уверены почему, нам нужно было выдать билд Эвокати, так что мы убрали эти улучшения, что исправило проблемы с управлением, но мы все же хотим внедрить те улучшения.

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

И в итоге с этим багом все закончилось хорошо в обоих направлениях. Мы получили улучшения производительности, которые делают 3.0 как можно более плавной для игроков, а также мы исправили проблемы с контролем кораблей, что в итоге дает самый лучший из возможных исходов.

mobiGlas

Лео Ванштенкисте (ЛВ): Прошлая неделя на стороне звездной карты прошла неплохо, но еще остается несколько проблем. Было несколько случаев потери вводных, несколько вылетов, которые были исправлены. Вылеты было довольно сложно исправить, так как они были довольно случайны, их сложно воспроизводить, так что нам пришлось искать куски кода, где что-то могло пойти не так, и пробовать изменять их, отсылать в QA, и выяснять, исчезла ли проблема. Пока все ОК.

Кроме того, Дот проверял карту для mobiGlas. Проверял все до последней мелочи. У него есть небольшой список с тем, что нам еще нужно исправить, но это действительно небольшие задачи по полировке.

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

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

Чед МакКинни (ЧМК): Прямо сейчас есть две вещи, над которыми я работаю для постоянства. Первая – общая работа по исправлению багов. Мы проделали кучу работы по интеграции постоянство в игру, включая локации, инвентарь, закрепление предметов к определенным портам и так далее. Теперь, когда мы передаем эти функции в руки бекеров, Эвокати начинают выявлять очень редкие и неуловимые баги, так что я трачу время на отслеживание оных. Например, очень редко определенный корабль может не отобразиться в списке ваших кораблей на терминале вызова, что-то вроде этого.

Также я завершаю некоторую работу, также связанную с постоянством, в основном с инвентарем и его приложением в mobiGlas, в котором игроки могут увидеть все предметы, которыми владеют, а также получают несколько удобных способов их запроса. Потенциально вы можете иметь сотни предметов, привязанных к кораблю, множество вооружения, товары… В общем в игре теперь множество вещей, на которые вы хотели бы взглянуть в своем инвентаре, просмотреть их и сказать: «Окей, у этого корабля есть это оружие, а у этого вот этот определенный груз в трюме, который я хочу перевести в определенную локацию». Возможность отслеживать, изменять значения, запрашивать эти значения я прочее – вот то, над чем я сейчас работаю.

Производительность/стабильность

Рикки Джатли (РД): Итак, в приоритетной повестке на сегодня то, что уйдет Эвокати. Что-то вроде крупных элементов, по которым мы с Вебстером и командой пробежимся и выясним, что отсортировалось за день. Тодд и Пол, очевидно, работали с QA над этим, а затем эта сортировка начнет влиять на релизы для Эвокати и на PTU. Собираем эти баги и задачи в единый сжатый список того, что нам нужно сделать за следующую неделю, а также того, что мы дадим Эвокати сегодня.

После этого Бренном начнет идти по списку серьезных ошибок, с которыми мы сталкивались, чем-то, что не дает нам релизнуть какие-то вещи, в том числе и сегодня, реальные гадости, которые повлияют на Эвокати. Уилл Эверетт, очевидно, даст им знать об основных эффектах, которые будут, а затем мы устроим обсуждение проблем, с которыми столкнемся. В течение дня QA скорее-всего отметят все, что имеет смысл упомянуть, а затем мы продолжим вести учет того, с чем сталкиваются игроки.

ТП: Для релиза на PTU мы фокусируемся на стабильности, уделяем больше внимания производительности. Очевидно, что когда мы выпустили 3.0 для Эвокати, появился целый набор разнообразных конфигураций, а также очень часто Эвокати наблюдали вещи, которые мы не видели во время внутренних прохождений или от команды QA, так как они играют иначе, у них другие конфигурации компьютеров и так далее и тому подобное. И это в некотором роде открывает глаза на некоторые баги, но ребята уделяют им внимание и стараются разбираться с ними как можно скорее.

Мэттью Вебстер (МВ): Мы снова выдали очередной билд для Эвокати в эту пятницу. Этим утром мы получили отчет о баге от Уилла, который сигнализирует о том, что играбельность билда ухудшилась. Так что QA разбирают письмо, которое Уилл прислал по этому поводу, а позже ответят по всем багам и задачам, связанным с тем, что там упоминается. Мы также нацеливаем QA на предоставление отчетов по вылетам. Нам следует отметить основные вылеты, случающиеся у Эвокати.

Стивен Бреннон (СБ): Сейчас нам осталось исправить 35 ошибок в текущей версии для Эвокати. Это баги, которые мы конкретно хотим исправить. Около двух третьих из них связаны с отчетами о вылетах, которые мы собрали из автоматической системы. Когда у Эвокати случается вылет и он отсылает отчет, он идет прямо к QA. Наш основной приоритет сейчас заключается в улучшении стабильности, так как мы хотим получить очень стабильный билд перед тем, как выдать его на PTU, а также убедиться, что все выглядит хорошо.

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

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

Клайв Джонсон (КД): На прошлой неделе к нам вернулось не так уж и много багов, так что команда по работе над сетевым кодом в основном сосредоточилась на оптимизации, и мы сфокусировались на паре областей. Мы разбирались с тем, почему код игры генерирует много трафика и захламляет наши отметки и сериализованные переменные, в первую искали способы ограничить необходимость в генерации этого трафика.

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

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

Франческо Димизио (ФД): Как вы можете знать, пару месяцев назад мы внедрили технологию под названием Waff Data, которая позволяет нам несколько уменьшать время генерации данных, до 10 минут. И всем она нравится, но, конечно, в ходе процесса мы наткнулись на несколько багов, что было ожидаемо, и фактически я собираюсь рассказать вам об этих проблемах.

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

И как только мы это осознали, мы исправили это, и все пошло гораздо плавнее. Нам удалось закрыть несколько тикетов в Jira, вроде 5 или 6, все для PTU, чему мы очень рады. И мы уверены, что это отличная платформа для работы, ибо с технической или дизайнерской точки зрения она нас более чем устраивает. Waff используется уже пару месяцев, каждое подразделение использует ее, и все довольны, так что да, они очень поможет PTU.

Кристофер Болте (КБ): Отличная оптимизация персонажей на сервере первостепенна, в отличие от обновлений анимаций NPC. Анимации отделены от кораблей, а     работает почти идеально с сетевой параллелизацией. Фактически для всех вещей, которые масштабируются по-разному в зависимости от количества игроков и того, что они делают, мы можем просто усилить замедление мешей игроков, улучшить их в замедлении, а затем повторять снова и снова.

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

У нас есть действительно мощные ПК для тестов с 76 ядрами. Сейчас мы тестируем на 72 ядрах, нужно проверить, получаем ли мы достаточно преимуществ использования мощных процессоров, которые сможем вскоре протестировать и посмотреть на частоту кадров. Нужно заняться оптимизацией, чтобы не возиться с ней еще пару лет. Нам нужно найти компромисс и достичь его.

ТП: Теперь, когда у нас есть вся база, разные департаменты могут уже фактически сосредоточиться на завершении работ, ибо теперь у нас не бывает такого, типа: «Ох, окей, мне придется кодить это две недели, а затем откатиться обратно…». Также и с дизайном. Теперь все связано с устранением шероховатостей и полировкой, и, надеюсь, мы сожем сделать это.

ЭКД: С прошлой недели команда произвела 736 обновлений ветки 3.0 в Perforce во всех категориях. Мы постепенно продвигаемся к тому, чтобы выдать 3.0 вам в руки так быстро, как это возможно. Увидимся в следующем Burndown.

В студии

КР: Вы можете более детально следить за процессом разработки, проверяя отчет по разработке на нашем сайте. Он обновляется каждую пятницу.

СГ: Теперь давайте перейдем к игровой механике недели. Команда знала, что создание ArcCorp, планеты, которая практически полностью покрыта зданиями, будет сложной задачей…

КР: Определенно

КР: И ручное размещение такого количества построек было бы невыполнимой задачей.

КР: Ага, имея в виду ArcCorp и прочие города, которые нам нужно заполнить во вселенной, ведущий технический художник Алекс Ремотти создал инструмент, который использует клетки для процедурной генерации городов. Эти клетки могут быть адаптированы для размещения разнообразных зданий, будь то промышленные или жилые.

СГ: Вы видели эту технологию в действии на CitizenCon, но ушло много усилий, чтобы довести ее до такого уровня. Давайте посмотрим, что потребовалось для создания такого шоу в сегодняшней фичуретке.

Процедурные города

Джейк Гейни (ДГ): Алекс показывал мне некоторые технологии. Он довольно увлечен некоторыми вещами, над которыми работает, так что он делится этим с членами команды и со мной. И он показывал мне ту демку процедурного Парижа, в которой процедурно генерировался Париж на движке Lumberyard. И он упомянул, что хотел бы внедрить это в игру, в особенности чтобы для начала создать ArcCorp.

Алекс Ремотти (АР): Ага.

ДГ: И все сразу такие: «Вау! Ок, мы определенно можем поработать с этим.» Я знал, так как работал над ArcCorp в прошлом, что у нас были готовые ресурсы, которые мы могли бы интегрировать в систему и сразу использовать. Так что я сказал Алексу: «Слушай, дай-ка мне свободы на этих выходных, чтобы я поработал над кое-чем для тебя». Он дал мне шаблон, а также файлы из Max’а, данные по источнику, а я просто внес туда ресурсы, которые мы делали до этого, и просто попытался собрать что-то рабочее к понедельнику.

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

 

ДГ: Да-да.

АР: И мы построили сцену и сняли видео с Зоной 18 внутри сгенерированного города.

ДГ: Ага

АР: И отправили это Крису.

ДГ: Так как это было важно, не правда ли? Мы создали эти городские блоки. Мы построили город, но затем Алекс сказал: «Чтож, теперь было бы круто получить ArcCorp, в котором игроки уже бывали, разместить его в этой штуке, в контексте, ибо до этого игроки смотрели на простой фон, говоря: «Окей, неплохой фон», но теперь мы смотрим на фон, а он уже является реальным городом.»

АР: Ага

ДГ: Это реальный город.

АР: В правильном масштабе. Можно пролететь через него, есть реальное пространство между зданиями, есть посадочные зоны. Пока что они не детализированы, но дают представление о том, каков правильный город. И это позволяет разместить город на реальной планете. И затем я разместил город на Йеле с атмосферой, так как у нас еще не было самого ArcCorp’а.

ДГ: Да

АР: И мы летали вокруг, приближали, отдаляли…

ДГ: Ага

АР: И вот откуда пришла идея этого демо, показать людям, что это реальный город, окружающий нашу штаб-квартиру.

ДГ: И Алекс взял город и сказал: «Окей, сейчас я просто размещу его на планете».

АР: Да

ГД: и сделал видео, просто улетая…

АР: Ага

ГД: В атмосферу…

АР: Да.

ГД: С планеты... И затем такой: «Ого, это штука…»

АР: Она сработала!

ГД: «…эта штука действительно работает!». Было действительно здорово и занимательно работать над этим на начальных стадиях.

АР: Да

ГД: Для меня это было здорово. А затем наше первое видео… Я просто дал Алексу ресурсы, а он внедрил их в систему процедурной генерации. И замечательно то, что ты не просто жмешь кнопку, возвращаешься через пять минут, и город готов. Можно видеть постройку в динамике.

АР: Постройку и разметку

ГД: Постройку города.

АР: И центра…

ГД: И все эти ресурсы, которые я дал Алексу, буквально летали по экрану и выстраивали город.

АР: Ага

ГД: Динамически.

АР: Да

ГД: И это было в том первом видео.

АР: Да-да-да.

ГД: Съемка самого процесса.

АР: И можно фактически…

ГД: Это был столь крутой процесс.

АР: Выйти в никуда, как в Матрице, и наблюдать, как город вырастает перед тобой.

ГД: Ага

АР: Возводится вокруг тебя на лету.

ГД: Это фантастика, очень круто. А затем ты был на посадочной площадке ArcCorp, смотрел на город, и сделал еще одно видео, где ты, кажется, в штаб-квартире ArcCorp.

АР: Верно

ГД: Смотришь из окна...

АР: Как приближается город.

ГД: Как город выстраивается на фоне. Жаль, что игроки не видят этого.

АР: Ага, и не увидят.

ГД: Конечно, они не увидят этого, но это действительно классный процесс.

Вай-Хун Вэн (ВХВ): У нас есть клетки города, для которых мы можем присваивать определенный блок. Скажем, мы смотрим на блок и говорим: «Окей, здесь у нас могут быть высокие здания, низкие здания, жилые высотки.» А затем этот набор клеток и выстраивает город. Процедурная система определяет высокие и низкие зоны, промышленные зоны, более неровные и плотные, а затем районы пригорода, где больше открытых пространств, но с высокими небоскребами. А моя работа заключается в том, чтобы сделать эти зоны интересными.

И вот момент, когда мы все полностью сгенерировали, все создано инструментом. После этого подключаюсь я, делая очень тонкие, деликатные поправки. Например, сегодня утром мне передали, что это может быть индустриальная зона, а художественная дирекция говорит: «А можем ли мы разместить четыре дымовых трубы вот здесь?». И это будет очень тонкая поправка на моей стороне. Но все остальное генерируется.

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

Но если мы говорим о тысячах и тысячах потенциальных городов, то вам придется принять вероятность странного расположения.

АР: У нас есть подобие групп: Альфа, Браво, ЛоуТек, ХайТек, и в зависимости от планеты, в зависимости от темы, от брендинга, от погоды, вы увидите различные материалы, различные наборы и условия. Но это в большей степени на художественной дирекции.

СГ: Да, определенно. Схоже с аванпостами, которые… Они там на определенный период времени?

АР: Да, на период времени

СГ: Да, отлично. Очень круто было добавлять больше грязи на них. И представляю, что Hurston был бы…

АР: Весь в песке, Ага.

ГД: Весь такой грязноватый и так далее. А ArcCorp почище…

АР: Весь в выбросах…

ГД: А затем есть Microtech, New Babbage, и он просто сияет.

АР: Ага, точно.

ГД: Идеальный.

АР: Есть разница в уровнях, у нас есть два типа разрешений. Один для первого лица, 512.

ГД: Ага, как на посадочных зонах.

АР: Он провел кое-какие расчеты, когда... что была за станция?

СГ: О, Олисар.

АР: Ага

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

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

АР: Со временем мы планируем добавить определенные локации и наборы для городов, где вы сможете сесть, и там будут NPC, магазины, точки взаимодействия. Но все это, очевидно, будет контролироваться. Вы не сможете буквально прилететь куда-то как на вертолете и сесть где пожелаете. Есть места, куда вы можете попасть…

ГД: Да-да.

АР: И места, куда не можете. Вы будете под контролем. Вы можете выйти и идти в некоторые части, а также углубляться в определенные части города, но не всюду.

ГД: Ага

АР: Ибо это не имеет смысла.

ГД: Это было бы, как попытаться летать на вертолете над Лондоном и садиться где угодно! Думаю, военным было бы что сказать вам по этому поводу.

АР: Да уж.

ГД: Это хороший подход к проблеме.

АР: А еще теперь у нас есть ангары, локации, которые мы изначально делаем для городов и штаб-квартир, где есть NPC, таможня, взаимодействия. А со временем мы добавим больше возможностей взаимодействия, больше толп, монорельсы, воздушный траффик…

ГД: Кучу элементов Subsumption

АР: Да-да.

ГД: Были некоторые вещи, о которых я говорил Алексу. Я не знаю, как это будет в действительности, но я всегда представлял, что, если вы летите над ArcCorp, процедурным городом, где есть посадочная зона, вроде Зоны 18, о которой все знают и все ее посещают… Но еще иногда на одной из крыш небоскреба вы бы могли увидеть открывающуюся посадочную площадку и стоящего на ней человека. Вы бы могли сесть там, поговорить с ним, взять задание и снова взлететь. НО в следующий раз при пролете над ArcCorp ее может и не быть там, так как она открылась где-то еще.

АР: И как только инструмент был внедрен как часть игрового билда, чуть менее чем через месяц, его использовал только я и Стэфан в Германии. Он работал над Lorville, чтобы переработать его и определить, как мы распределяем наши ресурсы и что нам нужно. И мы перешли от использования только графического контента, вроде мешей, CGF, к использованию готовых блоков. Так что каждый набор может включать освещение, графические эффекты, звуки, точки спавна, ATC любой объект, который вам нужен, реальный используемый объект.

ВХВ: Сейчас мы работаем только над человеческими городами. Я бы хотел взглянуть на то, как мы справимся с инопланетными. Будет ли это полностью рандомно? Или у нас будет некоторая степень, может дальше большая, ручно работы? Я еще не знаю. Я бы надеялся на то, что будет определенная степень контроля над генерацией инопланетных городов, чтобы она была логичной, с умной выборкой того, где размещать здания, включая всякие центры отдыха и восстановления, чтобы каждый раз при посещении локации все выглядело именно так, как в прошлый раз.

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

Заключение

СГ: Действительно начинаешь осознавать, сколь много клеток надо для сооружения локации вроде ArcCorp, когда видишь генерацию зданий в реальном времени.

КР: Ага, и этот инструментарий критичен для достижения столь внушительных масштабов городов, которых мы хотим достичь в игре. Хотя, как вы видели, команде нужно доделывать некоторые зону вручную, и возможность с легкостью генерировать большие города и просто подправлять их по нашему вкусу – огромное преимущество для строительства вселенной Star Citizen в будущем.

СГ: Однозначно, и это все на сегодня. Спасибо всем нашим подписчикам за поддержку. Одно из многих шоу, которые вы помогаете создавать – Счастливый Час, на который вы можете попасть завтра в полдень по тихоокеанскому. На этой неделе к Джареду присоединится ксенолингвист Бриттон Воткинс и Черри Хейберг, чтобы обсудить Шианский язык.

КР: Да, должно быть довольно интересно. И большое спасибо всем нашим бекерам за помощь в создании Star Citizen. Разработки вроде технологии процедурной генерации городов возможны лишь благодаря вашей поддержке и интересу к созданию неповторимой вселенной. Так что спасибо вам за то, что позволяете раздвигать границы.

СГ: До следующей недели и увидимся…

Вокруг Вселенной!

 

Обсудить новость на нашем форуме

H1rurg editor