Dev-блог 170

Rust_DevBlog_170_0.jpg
An ore gathering minigame, visual loot, menu fixes, and more.


Мини-игра добычи руды
Закончил первую версию мини-игры по добыче руды, о которой я упомянул несколько недель назад. Я планирую повторить это, пока у нас не будет что-то действительно веселое, но это лучше, чем то, что у нас было, это точно. Вот как это работает:

В рудах будет отображаться мерцающая точка. Если вы попадете в эту точку, вы соберете ресурсы быстрее на 150%. Каждая последующая точка, которую вы нажмете, увеличит вашу скорость сбора до 300%. Если вы ударите мимо, этот бонус будет сброшен до нуля. Следует отметить, что вы на самом деле не получаете больше ресурсов, но используя умение и эти точки, вы можете собрать руду быстрее, чем просто быть AFK, и держать кнопку.

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

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

Rust_DevBlog_170_1.png

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

Наслаждайтесь!

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

Rust_DevBlog_170_2.png

Rust_DevBlog_170_3.jpg

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

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

Rust_DevBlog_170_4.png

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

Я надеюсь, что подсказки игры будут вроде бы умными. Когда я создал подобную систему для Garry's Mod, у нее появилась подсказка, объясняющая, как открыть меню икры. Я видел, что этот совет появляется около 200 раз в день в течение 5 лет, поэтому я пытаюсь заставить систему попытаться определить, с какой информацией вы могли бы справиться, исходя из вашего предыдущего поведения.

Rust_DevBlog_170_5.png

Если вы открыли меню инвентаря 31 раз, возможно, вам не нужно показывать подсказку, описывающую, как открыть меню инвентаря.

Это по-прежнему работает, и сейчас есть только 2 подсказки. Мы хотим расширить это, чтобы лучше понимать и использовать это для других вещей (например, уведомления «эта дверь заблокирована» и т. д.).

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

Rust_DevBlog_170_6.png

Также кажется, что кнопка списка серверов несколько неудобна для новичков, так как мы рассчитываем на то, что люди найдут и нажмут ту кнопку.

Rust_DevBlog_170_7.png

На данный момент мы добавили кнопку Найти игру.

Фиксы описаний
У нас есть сценарий в Unity, который проходит через все сборные объекты, объекты сценариев и статические поля в классах, которые ищут переводимые фразы. Он сопоставляет их и загружает их в команду, а затем загружает все языковые файлы. В нескольких местах в наших сценариях мы случайно использовали один и тот же «фрейм-тег». Примером этого был спальный мешок и кровать, в которых было одно и то же описание.

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

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

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

легче контролировать в РТ, где мы сможем обрабатывать и настраивать точки, но сейчас мы создаем их автоматически, когда они нужны, и до сих пор все еще есть немало улучшений, прежде чем ученые смогут хорошо использовать любую среду. Если вы админ, ученый теперь может быть создан («spawn Scientist» в консоли), но следует предупредить, что им по-прежнему требуется большая работа.

Rust_DevBlog_170_8.jpg

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

Удаление DirectX 9
На этой неделе мы удалили вариант запуска DirectX 9, поскольку, как мы объяснили в devblog на прошлой неделе, Unity планирует в ближайшее время отказаться от поддержки DirectX 9. Если у вас возникли проблемы с игрой с DirectX 11, попробуйте:

• Обновите графические драйверы
• Попробуйте установить минимальное качество графики
• Если все остальное не удается, попробуйте добавить параметр запуска «-force-glcore» в Steam​

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

Оптимизация кэша скинов
Мы определили некоторые места производительности в реализации кэширования скинов на плохих машинах (ПК) с относительно медленными жесткими дисками. Эти проблемы могут привести к значительному снижению частоты кадров и сделать игру довольно неиграбельной для некоторых людей. Я переписал реализацию кэша в мастер-классе в собственном коде и исключил из него все накладные расходы GC. Я также переместил операции ввода-вывода кеш-памяти в отдельный поток, чтобы они больше не могли останавливать основной поток ни при каких обстоятельствах. Это полностью избавляет слабые ПК от таких подвисаний в наших тестах.

Исправление EAC Disconnected
Я обновил EAC SDK до последней версии. EAC считают, что они нашли причину ошибки EAC Disconnected, которая уже несколько лет преследует некоторых людей. До сих пор мы не знали о каких-либо проблемах, но сообщите нам, если у вас есть проблемы с EAC после обновления.

Рюкзаки
Рюкзак закончен! Я изменил положение, так что ремни для рук прекрасно подойдут, когда они упадут на пол. Теперь идет работа над новым рюкзаком.

Rust_DevBlog_170_9.png

Он меньше и сделан из мусорных материалов. Плохо держится вместе, но он выполняет свою работу. Поскольку это немного более старая концепция, я сделаю одну или две настройки, которые, по моему мнению, нуждаются в этом для визуального интереса. Одна вещь, которую я обсуждал с Полом, когда я делал первоначальный рюкзак, был характер и личность предметов, и как правильно подобрать баланс. Элемент должен быть отличным, но не слишком разным; Достаточно прост, он хорошо сочетается со всем остальным, не выглядит как ярко выраженная повторяющаяся текстура на местности. Он хорошо работает с объектами, такими как верстаки, потому что они не в вашем представлении 24/7 во время игры, так сказать, а также потому, что сумки являются частью персонажа. Если это было слишком узнаваемо и особенное, и у всех было одно? Ну, это уже не будет особенным. Во всяком случае, это не цель рюкзака. Просто нужно хорошо сидеть. Прогресс на highpoly тоже идет неплохо!

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

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

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

Теперь я работаю над автоматическим анализом записи двигателя танков, чтобы точно определить, какие фрагменты аудио воспроизводить. Я делаю немного DSP (FFTs + спектр гармонических продуктов в данный момент), чтобы определить основную частоту звука двигателя в любой заданной точке аудиофайла. С двигателем фундаментальный соответствует одному циклу двигателя, а также может быть использован для определения того, с какими RPM двигатель работает на протяжении всей записи. Я использую эту информацию для сопоставления отдельных циклов двигателя от записи к разным RPM, поэтому мы можем просто передать текущую скорость вращения двигателя в гранулированную систему воспроизведения и иметь индивидуальные циклы двигателей, точно сшитые от конца до конца, чтобы создать сплоченный звук двигателя, что плавно реагирует на изменения в RPM.

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

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

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

Список изменений:
  • Добавлены игровые подсказки
  • Внедрен кэш для скинов из воркшопа в код
  • Изменена система вывода\ввода кэша (оптимизация)
  • Костер теперь приминает траву под собой
  • Добавлено подтверждение для кнопки выхода
  • Исправлены фризы при использовании F7 (Обратная связь)
  • Исправлена ошибка "EAC Disconnected"
  • Исправлены описания некоторых предметов
  • Убрана функция запуска DX9
  • Добавлена мини-игра при добыче руды
  • Снижение стоимости полуавтоматического пистолета
Перевёл Iv Misticos для Alkad
 
Сверху