Заметки про игры

Обновление Rust: Сейсмический сдвиг

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

Сейсмический датчик

В этом месяце мы добавляем сейсмический датчик, новый развертываемый предмет, работающий от электричества.

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

  • Вы можете настроить его радиус действия от 1 до 30 метров (один фундамент = 3 метра).
  • В зависимости от типа обнаруженного взрыва он выдает разное значение мощности.

Неполный список значений мощности взрывчатых веществ:

  • 1 мощность = Граната F1, граната из консервной банки
  • 2 мощность = Взрывчатые патроны, взрыв-пакет
  • 3 мощности = C4, ракета

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

Размещение баррикад внутри монументов

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

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

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

Применяется для:

  • Деревянная баррикада
  • Каменная баррикада
  • Бетонная баррикада
  • Мешки с песком

При этом: строения монументов, бетон и дороги по-прежнему блокируют установку баррикад.

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

  • 15 минут распада
  • 8-10 ударов в ближнем бою

Видимость строительства друзей по команде

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

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

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

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

Теперь вы увидите красный контур по краю монумента.

Это можно переключить в меню опций.

Владельцы серверов могут отключить эту опцию через серверные параметры, если это конфликтует с кастомными монументами.

Радиус постройки монументов

Мы также воспользовались возможностью изменить размер ограничений зданий некоторых монументов.

Больше

  • Бензоколонка
  • Маяк
  • Горнодобывающая застава
  • Супермаркет
  • Каменоломня

Немного больше

  • Купол
  • Стартовая площадка

Меньше

  • Заброшенная военная база
  • Арктическая исследовательская база

Полезные улучшения

Более быстрая кодовая блокировка
После установки кода кнопка «последнее использование» стала вводить код гораздо быстрее.

Костное удобрение
Фрагменты костей теперь можно использовать в компостере для создания удобрения.

Ускоренное создание окон
Оконное стекло, ставни и решетки теперь изготавливаются за 15 с вместо 30 с.

Названия скинчиков
Добавили названия скинов в ремонтной мастерской и ссылки на их получение.

Ручной тормоз вертолета
Незаведенные вертолеты больше не дрейфуют по склонам.

Снижение штрафа за скорость
Конская броня не так сильно замедляет вашу лошадь.

Улучшение Самодельного молота
+100 % урона по бочкам и прочим объектам.

Рецепты боеприпасов в столе для смешивания
Добавлены патроны HV и зажигательные патроны в стол для смешивания.

Интерфейс промышленных конвейеров
Упрощен поиск и настройка промышленных конвейеров.

Ограничения на шкафчик
Теперь нельзя будет складывать в шкафчик не строительные ресурсы.

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

Уменьшить громкость F15
Уменьшена громкость F15 на 50 %, чтобы снизить нагрузку на уши.

Улучшения дальности видимости
Исправлены префабы монументов, которые становились невидимыми издалека.

Автозаполнение плантаторов
Удерживайте Шифт (бег), чтобы автоматически посадить все имеющиеся семена в одну грядку.

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

Радиус поражения бензопилы
Изменен радиус поражения бензопилой, чтобы легче было попасть в X-метку на деревьях.

Мгновенное переподключение

Хотя очередь — это лучше, чем ничего (кто помнит времена спама при переподключении?), мы хотим, чтобы игроки вообще не застревали в очереди: особенно если это происходит из-за сбоя.

Мы внесли несколько изменений, чтобы игроки, которых недавно выкинули с любого сервера, могли пропустить очередь.

  • Занимает ваше место
  • 5 минут максимум
  • Любой тип отключения (кик, отключение интернета, авария, alt + f4)

Комбинирование технических деревьев

Чтобы сэкономить место в базах, я изменил меню дерева технологий, теперь оно позволяет просматривать и разблокировать технологии из более низких деревьев технологий (например, доступ к технологиям T1 из верстака T2, доступ к деревьям T1 и T2 из верстака T3). Для переключения между доступными деревьями технологий используйте вкладки в верхней левой части экрана.

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

Провисание проводов

Теперь при использовании инструмента «Провод» вы можете регулировать величину провисания провода с помощью колесика мыши, удерживая при этом Шифт.

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

Улучшения в рисовании

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

Что изменилось:

  • Сделали так, чтобы интерфейс для рисования следовал опции масштабирования в настройках.
  • Добавлен параметр для переключения стороны, на которой находится интерфейс (paint.leftsided).
  • Увеличен максимальный размер кисти до 100 (было 32).
  • Исправлено то, что кисти размером менее 2 иногда ничего не рисовали.
  • Исправлено перекрытие нарисованных кистей в одном мазке.
  • Исправлено странное поведение смешивания цветов для самой мягкой кисти.
  • Исправлены портретные и ландшафтные рамки, использующие текстуру краски с неправильным соотношением сторон (больше нет сминания и несоответствия экспорта).
  • Это делает рисование более похожим на другие приложения.
  • Исправлены низкие значения непрозрачности, которые на самом деле не были низкими из-за того, что кисти накладывались друг на друга.

Полезные улучшения в электричестве

Размер средней батареи
Уменьшение размера средней батареи на ~15%, теперь она помещается под половиной стены.

Восстановление катушек Тесла и поджигателей
Катушки Тесла и поджигатели теперь восстанавливаются от повреждений за счет работы шкафа с инструментами.

Электрическая печь
Теперь автоматически включаются или выключаются в зависимости от наличия питания.

Зенитная турель
Добавлен новый вход для переключения режима наведения Зенитной турели на цель с помощью электричества.

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

Проводка вблизи транспортных средств
Транспортные средства больше не мешают подключать компоненты.

Изменения в рыбалке

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

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

Чтобы разорвать эту петлю, в этом месяце сырое мясо рыбы теперь стоит только 0,5 наживки (и может быть использовано в стопках по 3) — целая рыба может (и должна) быть использована в качестве наживки, но теперь вы рискуете потерять эту рыбу при закидывании удочки. Идея заключается в том, чтобы ввести механику риск/вознаграждение. Обналичите ли вы текущий улов форели или поставите ее на кон и отправитесь за акулами?

Чтобы сбалансировать уменьшение количества наживки, мы сделали несколько других видов наживки более полезными. Несколько видов наживки теперь можно «складывать» — если для поимки рыбы требуется 5 наживок, а вы складываете двух червей по 2,5, то теперь сможете поймать эту рыбу. Это поведение распространяется на червей, личинок, ягод и мелкую рыбу, делая эти наживки более полезными. Мы также увеличили стоимость наживки из человеческого мяса (1 -> 3), медвежьего мяса (5 -> 10) и волчьего мяса (5 -> 10). Количество стеков можно увидеть рядом со значением приманки при выборе предмета в инвентаре.

Ловушка для рыбы стала немного заброшенной после того, как мы ввели удочку, поэтому в этом месяце мы подправили ее, чтобы сделать более актуальной. Теперь ловушка использует ту же систему рыба/наживка, что и удочка, а это значит, что вы можете ловить разную рыбу в разных источниках воды, а также ловить лучшую рыбу в зависимости от наживки. Единственное механическое различие между этими двумя источниками рыбы заключается в том, что ловушка не может поймать ту же рыбу, которую она использовала в качестве наживки, и у ловушки есть 50-процентный шанс потерять наживку, не поймав рыбу.

Экономия памяти рендерера

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

Рендерер в данном случае — это просто предмет, который виден игроку — ящик, камень, часть структуры и т. д. Важно, что для производительности каждый рендер имеет LOD (Level of Detail) — более низкокачественные версии каждого рендера, на которые мы переключаемся в зависимости от расстояния до перспективы игрока. В Unity каждый из этих LOD обычно живет на дочернем объекте главного родительского объекта, так что у Barrel01 будет дочерний Barrel01_LOD0, Barrel01_LOD1 и т. д., на которые мы переключаемся. Во время хакатона я обнаружил, что на карте proc gen размером 4,5k в мире может быть до 1,3 миллиона объектов, каждый из которых имеет определенные накладные расходы (нам нужно хранить его положение, вращение, то, что объект делает, и т. д.). В случае с рендером для каждого отдельного рендера у нас было 3-5 дочерних объектов, по одному на каждый уровень LOD.

Я понял, что в большинстве случаев каждый LOD-объект просто дублирует всю информацию, за исключением другой модели, поэтому я модифицировал систему, чтобы она определяла, когда это происходит, и объединяла всю необходимую информацию в один объект, а затем удаляла дочерние объекты. Применив это к каждому рендеру в мире, я смог удалить 385 тысяч объектов из мира, что в совокупности позволило сэкономить 484 Мб памяти — довольно существенно.

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

Из-за того, что это рискованное изменение (удаление 385 тысяч объектов привело к некоторым непредвиденным побочным эффектам, которые мы сейчас исправили), мы релизим эту опцию выключенной по умолчанию, но мы будем следить за ее использованием в течение месяца и, вероятно, включим ее по умолчанию где-то в следующем месяце. Параметр, который за это отвечает — graphics.collapseRendererLOD, и вам нужно будет перезапустить игру после его включения или выключения. Дайте нам знать, как все прошло.

Улучшения для лошадей

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

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

Кинематографические объекты

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

Новые дополнения включают:

  • Больше точечных и прожекторных источников света (красные/синие/зеленые варианты).
  • Неосвещенные фоны и циклопанели (зеленые/синие/черные/белые/серые варианты).
  • Флаги/резаки (малые/средние/большие варианты).

Команды видимости

Кинематографические объекты теперь назначаются определенным номерам групп, что позволяет скрывать их при желании. Используйте команду cinematicentity.hideobjects, за которой следует один или несколько номеров групп, чтобы установить их видимость на скрытую.

Группы настраиваются следующим образом:

  • 0 = ничего (делает все объекты видимыми)
  • 1 = освещение
  • 2 = задники
  • 3 = реквизит
  • 4 = разное (флаги/решетки)

Вы можете скрыть одну или несколько групп в рамках одной команды — например:

  • cinematicentity.hideobjects 1 — скрывает только освещение (сохраняет световой эффект, но скрывает сетку)
  • cinematicentity.hideobjects 1 2 — скрывает освещение И задники
  • cinematicentity.hideobjects 0 — Показывает все кинематографические сущности (скрывает все)

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

Визуальная индикация турелей

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

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

Также она будет отображаться на горячей панели во время строительства в виде 4 из 12, например.

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

Дальше