Dev-блог 130

Dev_Blog_130_1.jpg


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

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

Хранилище турели
Некоторые люди использовали турели в качестве хранилища их очень важного лута, теперь же в них нельзя ничего положить, кроме 5.56 патронов.

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

Модель утилизатора
Я работал над разработкой модели машины, с помощью которой игроки смогут перерабатывать компоненты в их исходные составляющие. Первое, что пришло мне в голову - машина, которая "ест" всё, что подаётся сверху и складывает переработанные материалы в ящик снизу.

Dev_Blog_130_2.jpg


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

Прошу прощения за эти временные топорные иконки.

Dev_Blog_130_3.jpg


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

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

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

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

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

Малые процедурные карты
Я внёс некоторые корректировки в алгоритмы создания небольших процедурных карт (3000). Теперь они включают в себя некоторые интересные географические особенности больших ландшафтов.

"Подземные" лаги
Были некоторые проблемы с триггерами, которые способствовали лагам в подземных локациях, вроде тоннелей или канализационных сетей. Теперь они устранены.

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

Dev_Blog_130_4.gif


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

Сейчас Rust весьма неплохо работает на NVIDIA GTX 960 и более лучших картах, теперь настало время улучшения положения на картах AMD. В целом, в этот раз я занимался не только лишь оптимизацией, но по крайней мере, я исправил некоторые проблемы связанные с DX9 на картах AMD R9 (и возможно на других моделях, в т.ч. и др. производителей).

Вкратце, было исправлено следующее: "сломанный" эффект motion blur, багнутые водные отражения, а также проблемы затенения половины экрана.

Если вы сейчас планируете купить карту AMD, пожалуйста не берите модели хуже AMD Radeon HD 7970 или AMD Radeon R9 280. Также, имейте в виду, что мои меры по оптимизации будут направленны в основном в сторону AMD R9 380 и выше.

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

3 небольших пещеры от лёгких к сложным:
  • Малые пещеры будут иметь один вход/выход. Сама сеть их тоннелей будет легко запоминающейся, препятствия не будут смертельными, а количество строительных "комнат" будет варьироваться от одной до двух.
3 средних пещеры от лёгких к сложным.
  • Средние пещеры будут иметь от двух до трёх входов/выходов. Сеть их тоннелей запомнить будет гораздо труднее. Более сложный макет предусматривает одну смертельную ловушку. Препятствия также будут более сложными. Количество строительных "комнат" будет в варьироваться от двух до четырёх.
3 больших пещеры от средних к сложным.
  • Большие пещеры будут иметь целых 5 точек входа и выхода. Некоторые из них будут выглядеть как естественные пещеры, а некоторые будут похожи на старые заброшенные шахты. Сложность сети тоннелей будет на порядок выше средних пещер, причём вплоть до того, что в пещере сможет жить множество игроков, при этом практически друг с другом не пересекаясь. Препятствия будут длинными и смертельными. Количество строительных комнат будет достигать восьми штук.

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

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

Dev_Blog_130_5.jpg
Dev_Blog_130_6.jpg


Legacy

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

Для начала я пробежался по статистике и выяснил, что в самое пиковое время, на Legacy сидит около 200 игроков одновременно (исключая накрученных игроков). Это достаточно малое количество, особенно если учитывать основную версию игры, где среднее пиковое значение 20000+ игроков одновременно.

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

Steamworks
В Rust у нас имеется много специфического Steam-кода. Сейчас моей конечной целью является перенос всего этого в свою собственную dll. Для этого действа у меня имеется 2 больших мотивационных очага:

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

Собственно, если кому интересно, вот то, с чем я возился всё это время.

На этой неделе я сумел кинуть всё это на pre-release-ветвь, сейчас я в ожидании проблем, которые наверняка возникнут и которые я буду устранять по мере их поступления. Надеюсь, что к тому времени, когда контент pre-release будет объединён с основной, библиотека будет достаточно развитой, чтобы я мог залить в игру новые скины из Workshop.

Маяк
После долгих тестов и фиксов, маяк наконец-то ушёл на основу. Жду не дождусь посмотреть, как люди будут драться за лут в нём. К слову, благодаря Андре, он больше не будет спавниться в труднодоступных местах.

Dev_Blog_130_7.jpg
Dev_Blog_130_8.jpg

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

Dev_Blog_130_9.jpg


Анимации MP5
Сейчас я всё ещё в процессе их доработки. Они законченные где-то на 90%, мне осталось лишь устранить некоторые недочёты.

Модели гитары
Мне показалось, что было бы неплохо, уделить гитаре немного внимания. Итак, обновление включает в себя:
  • Анимации и модель в виде от 1-го лица.
  • Звук развёртывания (сделанный своими собственными руками, но у Алекса Рехберга, я уверен, выйдет гораздо лучше).
  • World и LOD модели (теперь, когда она будет падать на землю, вы будете видеть не мешок, а гитару).
Окклюзия звука
На этот раз я занимался доработкой этой системы. Сейчас она завершена и работает довольно неплохо. Сейчас мне необходимо решить, каким звукам стоит подключить эту систему, после чего приступить к непосредственной настройке каждого звука.

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

Также я оптимизировал работу этой новой системы.

Звуки размещения объектов
Ко всему прочему, на этой неделе я также приступил к разработке звуков размещения, таким образом, костёр и дверь более не будут "молчать" при размещении.

Changelog
  • Оптимизировали наименования объектов, которые были построены на запуленных объектах.
  • Добавлен пуллинг коллизии игроков, а также модели и никнеймов (устраняет некоторые дропы FPS-a).
  • Оптимизировали LOD-инг модели персонажей (также устраняет некоторые дропы кадров).
  • Оптимизировали обновление фреймов модели персонажа (улучшение производительности в местах скопления игроков).
  • Добавлена предзагрузка анимаций игроков в момент, когда они активируются.
  • Теперь Netgraph может быть использован только администраторами и разработчиками (устранение эксплойта)
  • Улучшили алгоритмы размещения маяка (теперь всегда выдерживает некоторую дистанцию от пляжа).
  • Улучшили маленькие процедурные карты (добавили в них некоторые географические особенности больших карт).
  • Устранили лаги (резкие скачки) в некоторых коллекторах и тоннелях.
  • Добавлены команды батчинга collider_capacity и renderer_capacity
  • Ужесточили условия детекции флай и джамп-хаков.
  • Добавили обновлённый маяк.
  • Наложили текстуры на некоторые промышленные объекты.
  • Добавлена модель гитары в виде от 1-го лица.
  • Также добавлены world и LOD модели.
  • Устранили проблемы затенения половины экрана на DX9.
  • Устранили баги "сломанного" эффекта motion blur и водного отражения на AMD R9 и прочих моделях (DX9).
  • Подземные секции теперь используют систему объёмного звука.
  • Удалили из игры все оставшиеся следы старой костяной брони.
  • Теперь в турели нельзя класть ничего кроме 5.56 патронов.
  • Удвоили рейты получения опыта.
 
Последнее редактирование:
Сверху