Новая деревянная броня, самодельный прицел, прожекторы и прочее.
Простой прицел
Я закончил работать над простым самодельным прицелом и реализовал его в игре, теперь он доступен для всех за 6 МВК. Этот прицел слегка ограничивает зум, но при этом даёт более чёткое изображение вашей цели. Стоит также учитывать, что у него отсутствует эмиссия, поэтому нет никакого смысла использовать его в ночное время. В целом, это своеобразное среднее звено между стандартной мушкой и Holo-прицелом. Далее, я буду прислушиваться к отзывам игроков и корректировать характеристики по мере необходимости.
Прожектор
Ещё один обитатель Лимба концептов, который был спасён — прожектор. Сама модель, к слову, была добавлена в игру очень давно. Так или иначе, пользоваться им очень легко: вы подходите, жмёте Е после чего он загорается и светит туда, куда вы смотрите. В качестве ресурса он использует топливо. Позже я доработаю его, добавлю дополнительных звуковых эффектов и, возможно, несколько новых функций. Например: возможность "тушить" его выстрелом.
Исправления в области фермерства
Ранее в силу множества проблем с производительностью, скрипт, который затемнял тон растений в зависимости от их гидратации, был отключён. Теперь я доработал этот скрипт и повторно активировал его. Так что теперь вы снова будете видеть, какое растение нуждается во влаге, а какое нет. Вообще, на этой неделе я потратил некоторое время, пытаясь сделать процесс фермерства более понятным и простым, но, увы, не успел закончить вовремя. Оставайтесь на связи. Будем надеяться, что на следующей неделе этот аспект игры станет менее эзотерическим.
Новая броня из дерева
Обновлённая модель брони из дерева была добавлена в игру. Я надеялся на то, что смогу реализовать решение проблемы "парящей" над кожей брони, но, к сожалению, задача оказалась не из простых. В целом выглядит неплохо, позже я продолжу дорабатывать её.
Серверная производительность
На этой неделе я сосредоточился на улучшении производительности сервера. Система вызова Unity — одна из самых медленных вещей на сервере. Она используется для инициации и отмены отложенных вызовов, которые происходят при взаимодействии игроков с предметами, трупами и т.д. При наличии на сервере множества игроков и объектов, отмена одного вызова может занять около 5 миллисекунд. Да, сама система обработки достаточно сложная, но не смотря на это, нет никакой объективной причины на то, что она работает так медленно. В общем, я сделал ей замену:
Раньше было так:
CancelInvoke(“DoSomething”); Invoke(“DoSomething”, delay);
А теперь это выглядит так:
CancelInvoke(DoSomething); Invoke(DoSomething, delay);
В дополнение к тому, что система стала работать гораздо быстрее (невероятно быстро, на самом деле), за счёт нового метода, мы получили дополнительные преимущества, которые помогут нам делать код игры лучше.
Как и в случае с любыми мерами оптимизации, здесь все вопросы быстро не решаются, а результаты этой работы не обеспечат одинакового прироста у всех, т.к. у каждого индивидуальные параметры.
Оптимизация системы отключения рендеринга
Воспользовавшись возможностью, я поработал над системой отключения рендеринга.
- Упростил до минимума окклюдерные меши, которые используются в постройках.
- Добавил окклюдеры к большему числу строй. блоков.
- "Сжал" сферы детекции спящих игроков.
Также я начал работать над отключением рендеринга освещения внутри зданий, но это в игру попадёт не раньше следующей недели.
Ко всему прочему, система отключения рендеринга очень хорошо показала себя на DX11, поэтому я решил включить её на DX9 и GL. В случае чего — пишите репорт.
Улучшение рендеринга растительности
На этой неделе я обратил внимание на наши ассеты растительности и попытался понять, почему они так плохо выглядят. По прошествии некоторого времени я выяснил, что некоторые текстуры были настроены неправильно. Они не сглаживались на больших дистанциях и настройки анизотропной фильтрации не оказывали на них влияния.
Теперь они выглядят гораздо лучше, а также за счёт этого исправления, мы получили некоторые бонусы на уровне оптимизации.
Улучшения эффекта bloom
Некоторое время назад я прошёлся по всем полноэкранным эффектам. На этой неделе я улучшил эффект bloom, в частности "сгладил" его переходы на обоих уровнях качества графики. Небольшое изменение с минимальным воздействием на производительность. Обратите внимание, что в движении разница более заметна.
Грейбокс космодрома
Прогресс на лицо. Основной макет уже готов и теперь мы приступили к детализации грейбокса. Вся зона делится на 2 площадки: пусковая установка, где располагается сама ракета и сеть подземных тоннелей, и пром.зона, в центре которой будет фабрика, а рядом различные топливные силосы, склады, офисные помещения и пр. Здания будут соединятся топливными трубами, к тому же, большинство их интерьеров будут доступны для исследования. В целом, вся эта зона будет полниться снайперскими гнёздами, различными укрытиями и прочим, что в свою очередь сделают эту зону непредсказуемой и опасной.
Улучшения моделей в виде от 1-го лица
На прошлой неделе я изменил вид моделей при изменениях настроек FOV, после этих доработок модели оружия перестали казаться сплющенными при установке высоких значений настроек поля зрения. Однако эти изменения не прижились в сообществе, поэтому я обратил изменения.
Также на этой неделе я продолжил работать над анимациями. В большей степени я старался сделать так, чтобы модели казались более увесистыми, а не игрушечными. Ещё я постарался улучшить форму запястий, т.к. в некоторых позициях они выглядели не очень хорошо.
Музыка
На этой неделе я сосредоточился на улучшении воспроизведения музыки, чтобы сделать её более гармоничной. Сейчас у нас имеется достаточно хорошая база с которой можно работать, но сама система смены слоёв оставляет желать лучшего.
Мои первые рывки в сторону улучшения проявляются в реализации способности использовать короткие и резкие отрезки (стинги) в качестве переходов. Таким образом, при переходе с одного трека на другой, не будет чувствоваться конфликта ритмов.
Я также хочу поэкспериментировать с ударными и перевоспроизведением музыкальных оборотов при смене интенсивности.
Также я практически закончил с ремейком оригинальной музыкальной темы Rust.
Помимо этого, я записал материал для звуков колеса удачи (было чертовски здорово поработать над чем-то, кроме шагов). В качестве материалов я использовал себя и старую сковороду. Параллельно я записал некоторые материалы не связанные с колесом, которые потенциально могут пригодиться мне в будущем.
Ну и само собой не обошлось без работы над шагами. На этот раз я добавил новую поверхность — смесь гравия и больших камней. В целом, вся работа по шагам готова к реализации, но из-за проблем с кодом, дело немного застопорилось. Будем надеяться, что я успею закончить со всем этим до следующего патча на следующей неделе.
World модели модов на оружие
На этой неделе я оптимизировал модели модов на оружие. Также я доработал префабы для облегчения процесса реализации в будущем.
Список изменений:
- Обновлены world модели у holo-прицела, лазерного прицела, глушителя, дульного тормоза и дульного ускорителя.
- Изменения моделей в виде от 1-го лица связанные с FOV (поле зрения) отменены.
- Броня из дерева была обновлена.
- Улучшили эффект Bloom (эффект визуализации).
- Улучшили рендеринг растений.
- Добавлен пользовательский обработчик вызова (invoke handler) (+ к производительности сервера).
- Оптимизировали процесс построения мешей и исправили редкий баг визуализации, из-за которого было не видно траву в режиме DX9.
- Системе предзагрузки была добавлена поддержка предметов-контейнеров и бочек с лутом.
- Исправлены баги с застреванием потолочных светильников.
- Добавлен прожектор.
- Добавлен новый самодельный прицел.
- Вновь включили скрипт MaterialColorLerp.
Комментарии