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

Devblog 147 на Русском

Торговые автоматы и люки в бронированных дверях добавлены в игру, ещё один взгляд на грядущее зарастание построек, нагромождения в бункере и многое другое.


Торговые автоматы

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

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

Автоматы работают по принципу так называемых «Заявок на продажу» (Sell Orders). Если у вас есть доступ к задней части машины (и её замку, если он там установлен), то вы можете открыть Панель администратора:

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

Если вы хотите обменять Топоры на Камни, пожалуйста! Если вы хотите обменять какие-нибудь компоненты на металлические фрагменты, почему бы и нет? Имейте в виду, что в Торговый автомат можно добавлять заявки на продажу, но продаваться будет только то, что помещено в его инвентарь (доступ к нему также осуществляется сзади):

Интересной особенностью является возможность совершать обменные операции, вроде продажи Камня в обмен на Древесину. Каждый раз, когда кто-то покупает некоторое количество Камня, в Инвентаре появляется соответствующий объём Древесины. Если вы поместите ещё одну заявку на продажу, например, Древесину в обмен на Ткань, и люди ей заинтересуются, вы сможете просто стоять в стороне и смотреть, как автомат постоянно пополняет запасы и продаёт. Вам останется только извлекать прибыль. Мне представляется, что этот прибор будет очень ценным генератором древесины, если установить его рядом с пляжем для того, чтобы им могли воспользоваться новички (или, точнее, вы могли воспользоваться его преимуществами за счёт новичков).

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

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

P.P.S. Будьте осторожны! В настоящий момент Торговый автомат принимает сломанные предметы и не даёт никакой возможности для определения их состояния. Не добавляйте заявки для обмена на товары, которые могут быть неисправными! Мы вас предупредили!


Люки в бронированных дверях

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

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

В предыдущем блоге разработчиков я забыл упомянуть о том, что некоторое время провозился с моей Паровой машиной, но так и не смог заставить её работать в Rust. Она вообще не воспринимала нажатия на кнопки мыши. Затем я попытался сделать возможность трансляции стрима внутри дома и столкнулся с такой же проблемой. Проблема была в каком-то действии античитерской программы EAC, и в настоящее время она решена. Мне очень нравится возможность транслировать Rust с моего основного компьютера на Surface Pro. Наслаждайтесь!


Цвета кодовых замков

Когда-то давно мы что-то перепутали, и кодовый замок в положении «открыто» светился желтым цветом вместо зеленого. Теперь это исправлено.


Снижение стоимости бумаги

Бумага теперь стоит 5 единиц древесины.


Изменения для Большой печи

На панели Большой печи появился выключатель on/off. Кроме того, теперь для получения доступа вы должны подойти к одной из её ниш, а не к дымоходу или любой другой части.


Ущерб от падения в воду

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


Уязвимость, связанная с консольными командами

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

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

Нам пора создавать программу для отлова ошибок. И скоро я собираюсь этим заняться. Хотя сейчас еще рано о этом говорить.


Искусственный интеллект (AI)

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


Зарастание

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

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

Комнаты бункера

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

Новая система рендеринга листвы

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


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

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


Улучшение защиты от хакеров

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


Уязвимость, связанная со крафтингом (Crafting Exploits)

Мы нашли эксплойт, который позволял людям через консольные команды изготавливать предметы, крафт которых запрещён, такие как LR-300 и даже ветряной генератор. Теперь это исправлено. Возвращение к отложенным концептам: ветряной генератор!


Новый шейдер для листвы

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


Улучшенный шейдер самого низкого уровня

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

Вот как LOD-модель самого низкого уровня выглядела раньше:

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


Развертывание системы удаления скрытых частей (Occlusion Culling)

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

В настоящее время система поддерживает отбраковку игроков и сущностей ragdoll. Однако отбраковка NPC не позволила включить систему в данное обновление. В этот раз мы добавили больше окклюдеров в окружение таким образом, что, помимо ландшафта, участвовать в отбраковке также будут такие структуры, как фундаменты и стены. На следующем снимке мы можем увидеть систему в действии, где зеленое остаётся видимым, а красное отбраковывается самой структурой:

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

Система Occlusion Culling включена по умолчанию. В случае, если у вас возникнут какие-либо проблемы, введите команду «culling.enabled 0» для отключения этой функции и сообщите об этом нам.


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

На этой неделе я закончил новые анимации от третьего лица для Арбалета, Двуствольного дробовика, Самодельного пистолета (Eoka Pistol) и Огнемёта.

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

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


Глобальные модели компонентов

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


Звуки

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

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

Плюс к этому, я исправил ошибку с устанавливаемыми в пазы развёртываемыми объектами, такими как замок, которые не воспроизводили звук при установке.