На prerelease-ветви теперь открыты абсолютно все чертежи, также здесь вас ждут подробности перенастройки мушек на всём огнестрельном оружии и самой счастливой огнемётной турели, которую вы когда-либо видели.
Обновление Prerelease-ветви
На этой неделе я начал работу на тестовой ветви Prerelease. Начал я с того, что убрал некоторые элементы системы опыта и, как вы могли заметить, теперь абсолютно все чертежи открыты по умолчанию. Наслаждайтесь этим, пока можете, поскольку на следующей неделе я приступлю к добавлению в игру объектов компонентов, а также к ребалансировке чертежей.
Двери и баррикады (пока только на Prerelease-ветке)
Мы добавили на prerelease-ветвь специальную систему, которая позволит нам респавнить баррикады, которые вы видели на серверах после вайпа. Работает это таким образом, что после того, как лут респавнится, дверь и баррикады встают на исходную позицию, в следствие этого, игроки будут видеть, что лут в комнате появился. Чтобы попасть к луту, игроки смогут разбить баррикады и открыть дверь. Думаю позже нам придётся экспериментировать с расположением таких дверей, так чтобы у игроков не было возможности определить наличие лута с большого расстояния. Также у нас есть идея добавить несколько видов баррикад, от простых до прочных, чтобы для прохода через них требовались определённый инструменты. В целом же, для первичной реализации, система выглядит совсем неплохо.
DoS-уязвимость
К концу прошлых выходных, наши сервера стали целью злоумышленников, которые воспользовались уязвимостью нашего сетевого кода RakNet. С помощью этого недуга, они могли сделать так, чтобы с сервера выгнало всех игроков, а позже к нему невозможно было подключиться. После долгой ночи отладок, мы нашли решение и устранили данный эксплойт, а позже выкатили обязательное серверное и клиентское обновление. Извините за все возможные простои, которые вам пришлось пережить.
Производительность
На этой неделе я также занялся производительностью. Как и обещал, первым делом я переписал наши триггеры "резки" местности. Это действительно помогает с улучшением производительности снарядов и оптимизацией на густонаселённых серверах в целом. Помимо этого, я также оптимизировал менее значимые области, вроде пуллинга моделей, инсталяции объектов, обновления LOD-инга и динамику распределения памяти. Большинство всех этих вещей дают достаточную малую прибавку к производительности, но ведь море собирается из капель. Сейчас у меня припрятан ещё один значительный ход в сторону улучшения производительности спавна игроков, но в силу того, что он нуждается в тестах, я выпущу его в свет только на следующей неделе.
Триггер видимости воды
Добавил некоторые специализированные триггеры для отключения воды в определённых местах. Прежде всего это потребуется для того, чтобы убрать воду в новых пещерах Винса, но также стоит отметить, что в некоторых местах вода там всё-таки будет.
Освещение деревьев
На этой неделе я также уделил немного времени нашему "убитому" затенению деревьев. Из-за него, наши деревья выглядели чересчур насыщенными и сверх нормы яркими. Несмотря на то, что устранить этот недочёт было нетрудно, я решил воспользоваться возможностью и принял некоторые меры по оптимизации.
MP5
Наконец я с ней закончил. Теперь она готова к анимированию.
Мушки
Также на этой неделе я отладил мушки всех огнестрелов. Теперь направление пули будет соответствовать пурпурной точке на скриншотах (откройте оригинал для того, чтобы её разглядеть).
Касаясь новых пещер
От меня новостей на этой неделе будет не так много. Много работы было на тех пещерных "помещениях", которые я создал ранее. Также я сейчас в процессе разработки типов пещер, от маленьких и простых, до огромных и сложных.
В данный момент я приступил к дизайну первого макета и главной целью для меня сейчас является - сделать как можно больше макетов с небольшим кол-вом комнат и с наименьшей степенью повторов. Больше подробностей об этом всём ждите на следующей неделе.
Промышленный реквизит
После окончания работ над маяком, я приступил к работе над промышленным реквизитом. Ни для кого не секрет, что в будущем, для разнообразия мира, мы будем нуждаться во множестве различного рода активов. Поэтому для облегчения добавления таких объектов я решил разработать более совершенную технику их реализации. Идея заключается в том, чтобы создать своеобразную библиотеку предустановленных материалов и для добавления компонентов из её числа, нужен будет только меш.
Сейчас у меня уже имеются неплохие результаты. Я создал 2 разных шаблона, которые позволяют контролировать на объекте количество ржавчины, пыли, повреждений и пр. Имея огромную библиотеку таких шаблонов, можно значительно сократить траты времени на текстурирование.
Вот примеры работы разных шаблонов на одном и том же объекте:
Огнемётная турель
Я вернулся из отпуска и закончил с текстурами этой турели! Сейчас я на пути к завершению LOD-инга. К слову, улыбающееся лицо пока под вопросом. Посмотрим, как вы на него отреагируете.
Защитный костюм
Работа над этим костюмом всё также продолжается. Сейчас я работаю над деталями. В целом, с хайполи я планирую закончить к концу следующей недели.
Sound OcclusionAlex Rehberg
На этой неделе я имел честь что-то закодить, таким образом теперь у нас имеется звуковая окклюзия! Если совсем вкратце, это значит, что звук будет воспроизводится по-разному в зависимости от того, есть ли между вами и источником звука что-либо. В идеале, я хотел бы, что бы у нас была возможность приглушать звуки, вместо тупого понижения их громкости.
low-pass filter - идеальный инструмент для этого, однако тот фильтр, что имеется в Unity - полный отстой, поэтому я сделал свой собственный.
Ниже идёт небольшая запись, которая позволит сравнить работу моего фильтра со стандартным фильтром Unity. В моём варианте резонанс намного заметнее.
После того, как я закончил с фильтром, я настроил систему окклюзии звука и теперь у нас имеется первый рабочий прототип. Сейчас мы лишь можем глушить звук с помощью фильтра, но в будущем я хотел бы добиться возможности регулировать звук вплоть до полного отключения. После всего этого потребуется толика чистки, оптимизации и тестов.
Changelog
— Устранён баг с потемнением половины экрана на AMD R9.
— Устранён баг обесцвечивания освещения деревьев.
— Исправлен недочёт, из-за которого вода отображалась некорректно после изменения размера окна во время включённых отражений.
— Убрано системное сообщение о блоке постройки после неудачной попытки построить что-либо в зоне блока постройки.
— Значительно оптимизировали триггеры "резки" местности (улучшенная производительность снарядов).
— Оптимизировали множество небольших проблемных областей в префаб пулинге и LODинге.
— Оптимизировали клиентский сетевой код для лучшей производительности стриминга объектов.
— Устранили ненужные перераспределения строк при создании объекта (+ к производительности и - к "мусору" в коде игры).
— Устранили небольшую динамику при распределении памяти (- к "мусору" в коде игры).
— Добавлен лог, обозначающий полноценный старт сервера (полезная вещь при диагностике серверных проблем).
— Добавлена консольная команда refresh_stability (полезна во время отладки).
— Куски разрушенных каменных ворот теперь будут отображаться корректно.
Комментарии