Dev-блог 147

Devblog_147_1.jpg

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

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

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

Принцип работы у него достаточно прост. Если у вас есть доступ к задней части (и к замку, который можно на неё повесить), вы можете открыть панель администратора:

Devblog_147_2.jpg

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

Devblog_147_3.png

Хотите обменять топор на камень? Да, пожалуйста! Хотите обменять компоненты на металлические фрагменты? Нет проблем. Правда, стоит иметь в виду, какие бы предложения вы не поставили, автомат будет давать людям только то, что вы положили в его инвентарь (доступ к нему также доступен сзади).

Devblog_147_4.png

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

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

Devblog_147_5.jpg

Devblog_147_6.jpg

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

P.P.S. Осторожно! Сейчас автомат принимает вещи без учёта их состояния! Пока что не стоит делать предложения с обменом на вещи, которые имеют параметр кондиции.

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

Devblog_147_7.jpg

Devblog_147_8.jpg

Devblog_147_9.jpg

Домашняя трансляция Steam и Steam Controller
Забыл упомянуть в последнем блоге, что на прошлой неделе я возился с Steam Machine и в итоге так и не смог сделать так, чтобы на ней заработал Rust. В конечном счёте, я нашёл проблему (она крылась в ЕАС) и теперь всё работает! Мне реально понравилось стримить Rust на свой Surface Pro с ПК. Наслаждайтесь.

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

Снижение стоимости бумаги
Теперь крафт бумаги обходится в 5 древесины.

Изменения большой печи
Теперь в лут-панели большой печи появились кнопки «вкл/выкл». Кроме того, теперь вы можете получить к ней доступ только около «окошек», а не какой-нибудь случайной её части, вроде дымохода и т.д.

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

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

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

Нам определённо нужна программа «нашёл баг — сообщи нам — получи награду». В ближайшее время я займусь её реализацией.

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

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

Devblog_147_10.jpg

Devblog_147_11.jpg

Помимо всего прочего, Андре начал заменять обычную траву на новую.

Devblog_147_12.jpg

Devblog_147_13.jpg

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

Devblog_147_15.jpg

Devblog_147_16.jpg

Devblog_147_17.jpg

Devblog_147_18.jpg

Devblog_147_19.jpg

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

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

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

Эксплойтинг крафтинга
Как оказалось, был эксплойт, который с помощью консоли позволял игрокам крафтить некрафтобельные вещи (LR-300, Мельница и пр.). Теперь он устранён.

Новый шейдер листвы
Я начал работать над новым шейдером, который будет ориентирован на новоиспечённое «зарастание местности». По сути, новая версия — это просто хорошо оптимизированная старая + некоторые дополнительные функции передачи света:

foliage_shader.gif


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

Вот как выглядело раньше:

Devblog_147_20.jpg

Теперь и валуны, и местность имеют более высокую детализацию. Чтобы добиться этого, я постарался создать самый быстрый шейдер, воздействие на производительность которого бы не превышало 25%.

Devblog_147_21.jpg

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

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

Devblog_147_22.jpg

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

Анимации персонажа
На этой неделе я закончил работать над новыми анимациями в виде от 3-го лица для арбалета, двустволки, ЕОКи и огнемёта.

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

Новые анимации в виде от 3-го лица более схожи с привычным анимациями от 1-го. Сейчас глядя на игрока вы сможете точно определить, когда он закончит перезарядку и когда он сможет снова начать стрелять. Тоже самое относится и к анимациям самодельного пистолета ЕОКА, попытка стрельнуть из него теперь также анимирована.

World модели компонентов
Я закончил со следующими моделями: взрывчатые вещества (Explosives), порох, МВК, руда МВК, большая консервная банка, маленькая консервная банка, металлические фрагменты, ткань, кожа, камера, животный жир, сера и компьютер.
Справка: world модели — это такие модели, которые отображаются непосредственно в игровом мире. Например, когда вы выбрасываете предмет из инвентаря на пол, отображается его world модель.

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

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

Список изменений:
  • Добавлены новые звуки огнемётной турели.
  • К различным размещаемым объектам были добавлены звуки размещения.
  • Старые звуки размещения были доработаны.
  • Устранены глюки визуализации металлической нагрудной пластины.
  • Исправлены недочёты скининга на торсе женского персонажа.
  • Исправлены случайно возникающие краши системы физики при загрузке больших сейвов.
  • Теперь при инициализации игрового мира, серверный менеджер (AI, сеть, система стабильности) будет приостанавливать работу.
  • После инициализации условных моделей (на стороне сервера) коллайдерная сетка будет обновляться.
  • Теперь сетка рендерера будет обновляться на экране загрузки (клиент).
  • Система анти-хака была улучшена (в частности, относительно обнаружения флай-хака).
  • Устранён эксплойт, который позволял крафтить некрафтобельные вещи через консоль.
  • Был улучшен самый низкий уровень шейдеров.
  • Реализована новая система отключения рендера [dynamic occlusion culling] (оптимизация).
  • Добавлена/оптимизирована world модель болтовой винтовки, длинного меча, пайп-шотгана, АК47, тесака, "бобовой" гранаты, копья с каменным наконечником, ведра, лука, топора, бинтов и кирки.
  • Исправлены баги анимации связанные с удерживанием Lr300, m249, полуавтоматической винтовки и огнемёта.
  • Исправлен скин деревянной двери (ранее не работал).
  • Добавлена команда entity.deleteby( steamid ) для удаления всех строй. блоков и размещаемых объектов одного конкретного игрока.
  • При бане ЕАС-античитом
  • все строй. блоки и размещаемые объекты игрока будут автоматически удалены.
  • Исправлена ошибка при открытии экрана Steam-инвентаря.
  • Исправлены некоторые недочёты workshop-а.
  • При прыжке в воду с большой высоты, игроки больше не будут получать урон от падения.
  • Оптимизировали сетевой код относительно огнемётной турели.
  • Увеличили замедление передвижения от огня огнемётной турели.
  • В лут-панели большой печи появились кнопки "вкл/выкл".
  • Доступ к содержимому большой печи теперь доступен только около "окошек".
  • Добавлен звук поедания шоколадной плитки и батончика.
  • Снижена стоимость крафта бумаги.
  • Люки в армированных дверях теперь функциональны.
  • Добавлен торговый автомат.
  • Исправили незначительные баги огней кодового замка.
  • Домашняя трансляция Steam и Steam-контроллер теперь функциональны.
 
Последнее редактирование:
Сверху