Rust news
SOCIAL:
В категориях: DevBlog

Devblog 146 на Русском

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

Отложенные концепты

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

Настенные лампы

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

Огненная турель

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

Не исключено, что это будет сильно тормозить процессор. Я буду исправлять любые подобные проблемы, если они появятся.

Изменения для радиации

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

Ограничения по свету для владельцев строительных привилегий

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

Изменения для наполнения ёмкостей

Теперь вы можете заполнять ёмкости для воды только из той части Бочки для воды или Водосборника, где расположен кран. Это также сопровождается очень неприятным эффектом брызг.

Изменения для люка с лестницей

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

Изменения для растений

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

Комплекты боеприпасов

Большая часть боеприпасов в настоящее время объединяется в комплекты по 128 штук.

Снижение стоимости табличек

Ура! Большой баннер в прошлом стоил 750 металлических фрагментов, дерева и ткани. Неудивительно, что я до сих пор не видел, чтобы их кто-то изготавливал. Стоимость практически всех экзотических знаков сократилась на ⅓ или ¼ по сравнению с тем, что было раньше.

Следы от стрел

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

Вырезанная информация о владении предметом

На этой неделе я вырезал код «владения». Я знаю, что вам нравилась эта функция, и вы захотите её обратно, так как было довольно интересно видеть происхождение элемента; но это чрезмерно увеличивало нагрузку на систему в целом. Мы можем рассмотреть вариант с хранением информации о создателе элемента – я даже вижу в этом смысл – но я оставлю это Хелку.

Исправления в модели игрока

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

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

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

Изменения для скинов

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

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

Ошибки Win32

Если у вас установлена 32-разрядная версия Windows, то вы, наверное, заняты решением больше серьёзных проблем, чем невозможность играть в Rust. Тем не менее, на этой неделе я занялся данным вопросом и нашел проблемы в реализации Steamworks при запуске на 32-разрядной Windows.

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

Модульные трубы

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

Кроме того, некоторое время на этой неделе я провёл, помогая Диогу с окклюдерными сетками для сооружения развёртываемых объектов.

Время загрузки

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

Отказ физического движка сервера

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

Оптимизация физического движка

Изучая причины отказов физического движка, я нашел несколько недостатков в физике и между делом оптимизировал их тоже. Я удалил все rigidbody потолочных ламп, поэтому сейчас сервер использует гораздо меньше этих компонентов и клиент более эффективно отбраковывает те из них, что находятся на расстоянии.

Утечка при загруке сущностей на сервере

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

ID в журнале боёв

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

Лазейка, связанная со снижением уровня построек (Building Downgrade Exploit)

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

Окружение и ревербация в пещерах

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

Я также нашёл способ сохранять настройки реверберации в централизованном месте и сделал ещё один проход по реверберации в пещерах.

Звуки установки развёртываемых объектов

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

Доспехи из толстых пластин

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

Анимация игрока

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

Оптимизация глобальных моделей

Продолжается работа над длинным списком оружия. Мне пришлось провести очистку во время предварительных работ (из-за странных соединений и значений), поэтому задача потребовала немного больше времени. Мы определили бюджет, и надеемся сохранить качество, при этом увеличив производительность. Все модели имеют по три LOD-модели, самая высокая деталь включает в себя 4-6 тыс. треугольников, самая низкая состоит из 100.

Доработка Металлического нагрудника

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