Dev-блог 168

Rust_DevBlog_168_0.jpg

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

Он еще не готов, но у меня есть вся физика, настроенная правильно, и я вот-вот начну внедрять ИИ, который он требует. Я надеюсь, что он будет патрулировать место запуска и убивать любого, кто пытается проникнуть в него.


Rust_DevBlog_168_1.png

Rust_DevBlog_168_2.jpg

Rust_DevBlog_168_3.png


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

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

На следующей неделе я продолжу работать с навигацией, но, надеюсь, найду время, чтобы поработать и с поведением NPC.

Rust_DevBlog_168_4.jpg

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

Детализированная сетка столкновения лестниц
Неточные сетки столкновения, используемые лестницами и ступеньками фундамента, должны были быть одной из самых неприятных вещей в игре. Vince создал новые, более подробные сетки, и я позаботился о том, чтобы они интегрировали их таким образом, чтобы они не жертвовали гладким движением при ходьбе по ним. Это означает, что снаряды и объекты физики теперь сталкиваются с очень точным представлением, в котором все индивидуальные шаги смоделированы, поэтому вы можете стрелять сквозь промежутки. Положительный побочный эффект заключается в том, что вы можете поставить небольшие объекты, такие как лампы, на отдельных ступеньках, и они будут стоять правильно. Я также заменил сетки теней, поэтому свет теперь может, наконец, правильно пройти через щели между отдельными шагами.

Rust_DevBlog_168_5.png

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

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

Улучшения набора активов
Когда все больше и больше активов добавляется в игру, мы снова начали приближаться к максимальному размеру, который Unity поддерживает в наборе активов. Теперь мы кое-что исправили, что позволило очистить некоторое необходимое пространство в основном пакете контента и должно помочь нам.

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

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

Rust_DevBlog_168_6.gif

Этот трюк будет работать и для динамических объектов. Например, чтобы закрепить внутреннюю область плота или лодку, плавающую на воде.

Вариации лиц
Продолжается работа по обновлению текстуры кожи, а сосредоточен я на более разных лицах.

Rust_DevBlog_168_7.jpg

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

И, конечно, не все из вас будут красивыми!

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

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

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

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

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

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

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

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

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

Rust_DevBlog_168_8.png

Rust_DevBlog_168_9.jpg

Rust_DevBlog_168_10.jpg

Rust_DevBlog_168_11.jpg

Rust_DevBlog_168_12.jpg

Rust_DevBlog_168_13.jpg

Следующая задача - получить много разных волос и стилей для них и правильно работать на всех типах головы и тела.

  • New feedback system
  • Optimization pass across environment art
  • Rock collectibles are larger
  • Improved main menu loading time
  • Improved skinnable warmup time
  • Updated asset bundle splits
  • Retired some unused physics and rendering layers
  • Disabled the 2 east lifts in launch_site [Temporary]
  • Stairs and foundation steps use more accurate colliders
  • Stairs and foundation steps use more accurate shadow casting proxy meshes
  • New barrel gib and impact sounds
  • Sound mix tweaks
  • Fixed some item skins being forced into the main content asset bundle
  • Fixed water showing on launch site underground gate
 
Последнее редактирование:
Сверху