Dev-блог 140

DevBlog_140_1.jpg

Грядки, рождественский контент и прочее.

Фермерство вер. 1.5
На этой неделе я внёс дополнения в фермерство, но, само собой, на этом улучшения этого аспекта геймплея не закончится. В этом патче главным образом бросаются в глаза грядки. В будущем их будет 2 вида: большие и маленькие, но в данный момент я закончил лишь с большими. Они могут быть размещены как на земле, так и внутри построек. В эксплуатации они достаточно просты: вам необходимо просто сажать в них нужные вам растения, кроме того, их "вёрстка" на грядке будет самой оптимальной по отношению к использованию пространства. Ко всему прочему, сажая растения в них, вы ускоряете их рост в 3 раза по сравнению с выращиванием их на земле. Также, теперь все растения должны сохранять между собой оптимальную дистанцию в 1 фут (30.5 см).

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

DevBlog_140_2.jpg

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

DevBlog_140_3.jpg

В этом году я внёс некоторые доработки в принцип работы чулков: теперь они наполняются лишь в том случае, если они пусты и за каждое наполнение, они будут терять по 10% здоровья вплоть до уничтожения. Всем удачи!

Отключение (Culling) декалей
Пещеры добавили в игру множество статичных декалей. К сожалению, их отображение не отключалось, что крайне негативно сказывалось на производительности, особенно на серверах с большим размером карты. Я устранил этот недочёт и выпустил патч ещё на прошлой неделе.

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

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

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

DevBlog_140_4.jpg

Переработка модели медведя
В рамках подготовки нового АI, я начал переделывать некоторые модели животных. Здесь по большей части вопросы возникали относительно анимаций, поэтому я хотел закончить с каркасами, чтобы потенциальные доработки можно было вносить до завершения работ над анимациями.

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

DevBlog_140_5.jpg

Динамическое отключение окклюзии
Ни для кого не секрет, что отключение объектов в пределах видимости (visibility culling) в Rust реализовано отвратительно. Проблема кроется в том, что мы не можем использовать родную систему окклюзии Unity, т.к. у нас карты генерируются процедурно. Тем не менее, кое-какие решения всё же имеются, вот именно над ними я и работал.

Новая система отключения окклюзии распознаёт окклюдеры (например - местность). Первая версия новой системы в данный момент тестируется на PR-ветви и включается командой "culling.enabled 1". Учтите, что пока что никаких существенных улучшений производительности нет (т.к. пока что мы занимаемся тестами и обрабатываем данные), но в будущем ситуация изменится.

Ниже вы увидите как эта система работает на наших процедурно сгенерированных мирах:

DevBlog_140_6.jpg

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

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

  • Повторно включили систему батчинга Unity.
  • Оптимизировали визуализацию декалей.
Удаление виртуального текстурирования
Вы возможно заметили, что на этой неделе опция виртуального текстурирования исчезла. Оптимизации шейдеров местности, которыми мы занимались несколько месяцев, сделали наши шейдеры настолько эффективные, что надобность использования виртуального текстурирования попросту отпала. Кроме того, мы сэкономили уйму времени, которое можно будет потратить на более полезные нововведения.

Анимации гранаты в виде от 1-го лица

На этой неделе я занимался исправлением недочётов некоторых анимаций. Также я добавил новые специфические анимации гранат ("бобовой" и F1). Правда, там ещё нужно немного поработать над кодом.

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

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

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

Список изменений:
  • Исправили баги воды (иногда её не было видно на выходе из пещеры).
  • Исправили баги теней биллбордов на OSX/GL.
  • Добавили систему оптимизации на декали (decals) внутри пещер (оптимизация).
  • Устранили некоторые недочёты системы верификации прямой видимости на стороне сервера.
  • Исправили баги рождественской шапки и тыквы, иногда были невидимыми.
  • Исправили баги частично собранных залежей руды (отображались как полностью целые).
  • Устранили некоторые эксплойтинги строительства внутри пещер.
  • Сократили размер MTU (vk.cc/4ZihOS) c 1430 до 1400.
  • Добавлена система верификации снарядов на стороне сервера вместе с периодическими обновлениями позиции.
  • Исправлены проблемы системы верификации рикошетов снарядов.
  • Исправлен баг трупа медведя (некоторые части тела было невозможно разделать).
  • Доработали систему верификации перезарядки.
  • Исправили баги модели бинта и огнемёта в виде от 1-го лица.
  • Добавлены модели одежды (имеется в виду те, что отображаются при выбросе их из инвентаря).
  • Обновили рождественскую шляпу.
  • Добавили большую грядку.
  • Добавили систему сохранения минимальной дистанции (0.5 метра) между саженцами на все виды растений.
  • Саженцы теперь имеют призрачный силуэт перед размещением.
  • Добавили в игру весь праздничный контент (подарки и пр.)
 
Последнее редактирование:
Сверху