Dev-блог 142

DevBlog_142_1.jpg

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

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

DevBlog_142_2.jpg

Оптимизация
Профайлер Unity вещь очень занимательная: я скажу вам сколько вершин вы нарисовали, но не скажу чем именно они нарисованы. Эта та проблема, когда мы в курсе, что имеется херова гора треугольников, но мы никогда не будем уверены, за счёт чего их так много.

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

DevBlog_142_3.png

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

Кроме того, вы можете наблюдать и другие проблемные области. Например, 5 видимых факелов в общей сложности состоят из 12 тысяч вершин. Причём даже в том случае, если они находятся на большой дистанции. Что говорит о том, что world_модели этих факелов не имеют LOD-инга, или же в них самих содержится аномальное количество вершин.

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

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

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

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

Удаление рождественского контента
Надеюсь, все остались довольными этими праздниками. Теперь всё это было убрано до следующего нового года.

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

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

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

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

NaN эксплойты
Были некоторые проблемы с кодом, которые позволяли читоделам добавлять функции godmod-a. Сейчас они устранены.

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

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

Револьвер Магнум
Я уже закончил с ним и приступил к анимированию.

DevBlog_142_4.jpg

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

DevBlog_142_5.jpg

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

DevBlog_142_6.jpg

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

Также я исправил баги, из-за которых медведь не производил звуков при повороте, а ещё доработал звуки атмосферности, дабы добавить разнообразия.

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

Список изменений:
  • «Экран смерти» теперь будет появляться постепенно.
  • Добавлена команда диагностики renderinfo (windows).
  • Исправлены модели топора и факела (было слишком много вертексов).
  • Устранены недочёты ограничения голосового чата при звуках полёта пуль и звуках воздействия на одежду из мешковины.
  • Поправлен звук шагов медведей (не воспроизводился при беге и повороте).
  • Систему окклюзии звука более нельзя будет выключить через консоль.
  • Были доработаны звуки атмосферности.
  • В процедурную генерацию были добавлены порты (новые лут-поинты).
  • Было доработано и обновлено множество других лут-поинтов.
  • Были оптимизированы постройки, объекты и эффекты разрушения.
  • Устранили возможность отключать тени через консоль.
  • Устранили эксплойты связанные со строительной зоной в бункерах.
  • Убрали эксплойт связанный с godmod-ом.
  • Убрали эксплойты связанные с сообщениями о создании постройки.
  • Удалили из игры некоторые эксплойты связанные с размещением внешних стен.
  • Поправили LOD модели камня (оружие).
  • Системе отключения рендеринга добавили поддержку кроватей, скал и плюшевого медведя.
  • Исправлены системы частиц (ParticleSystems) съедали ресурсы ЦП даже если были отключены.
 
Последнее редактирование:
Сверху