Devblog 99, предъюбилейный!

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

Для начала, как обычно, мой краткий обзор:

Музыка (Alex Rehberg)

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

Websocket RCON (Garry Newman)

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

Websocket RCON — это будущее. он работает примерно так же, за исключением того, что любой браузер может работать напрямую с ним. Преимущества этого очевидны —  Вы можете сделать всесторонний RCON-инструмент в своём браузере всего лишь на основе одного HTML-файла. Серверный бэк-энд при этом становится ненужным.

Эта новая система не работает бок о бок со старой, но заменяет её, поэтому по умолчанию она отключена. чтобы запустить ваш сервер с протоколом websocket RCON добавьте параметр  “rcon.web 1” в командную строку в .bat-файле запуска.

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

Реактивные мишени (Maurino Berry)

Реактивные мишени введены в игру. Они не изменят геймплей в игре, но должны стать забавным дополнением для тех, кто хочет отстроить, например, тир. Они имеют добавочный бонус — для полного поражения мишени надо нанести то же количество урона, что и «живому» противнику, а попадание в «яблочко» наносит столько же урона, что и хэдшот, при этом отображается специальный эффект, чтобы уведомить стреляющего о точном попадании. после того, как мишень сложится, достаточно нажать E, наводясь на неё, чтобы поднять мишень обратно.

XP SystemGarry Newman

Я добавил систему набора опыта на pre-release ветвь игры. Пока что это — кучка дерьма, так что не теряйте сил на попытку использовать данную систему. Она работает на Unity 5.4 beta, и потому регулярно падает. Моё предположение — они надеются выпустить версию 5.4 в течении следующего месяца, так что, надеюсь, всё придёт в норму. Имея Rust, запущенный с этой системой и выявляя причины проблем с падениями, есть шансы, что оба продукта выйдут быстрее.

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

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

Linux-сервер (Garry Newman)

Парни из Slack заставили Linux-сервер работать, и я применил их изменения в главную ветвь разработки. теперь вы сможете скачать Linux-сервер и он должен заработать прямо «из коробки».

Один из наших серверов сейчас работает под Linux, и выглядит настолько же стабильным, как и под Windows. Я не могу подтвердить пока что какие-либо преимущества в использовании памяти и/или процессора от запуска сервера под Linux, потому как за такое короткое время сложно произвести сравнение.

Большое преимущество в использовании Linux-сервера это то, что он свободен, что уменьшить зависимость от того, сколько серверов у вас запущено и на каком хостинге они находятся

Коллекторы в данжах (Vincent Mayeur)

Готовы к существенным изменениям в данжах? На этой неделе у меня для вас есть вот это:

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

Трубопроводы (Vincent Mayeur)

Также на этой неделе я закончил текстуры для труб в данжах:

Улучшения балансировки нагрузки (André Straubmeier)

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

Прогрев системы стабильности (André Straubmeier)

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

Умирать — так умирать (André Straubmeier)

Это реально наделало шуму в Twitter. Текущая ситуация, когда использование команды kill в первый раз только смертельно ранило вас, а смерть наступала только с повторного применения, была организована, чтобы избежать злоупотребления ею. Однако же, поведение игроков это не изменило и стало просто раздражающим фактором. Теперь же, ввод kill в консоли убьёт вашего персонажа моментально. Для тех, кто думает, что наступил конец света, поскольку любил отправлять своего персонажа в предсмертное состояние, досаждая тем самым своими криками всем окружающим: есть команда, позволяющая вызвать данное состояние, называется она injure. Попутно я также устранил проблему, которая заключалась в том, что находившийся в руках инструмент при мгновенной смерти (без предсмертного состояния), не падал с персонажа, что приводило к бесплодным поискам его на земле.

Варианты внешнего вида игрока (Taylor Reynolds)

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

Зубы! (Taylor Reynolds)

Новая модель игрока получила также и новую челюсть! Я должен закончить её и внедрить в игру к концу дня.

Изменения в работе технологии Ambient Occlusion Diogo Teixeira

Я внёс некоторые изменения в способ, которым применяется эффект AO, чтобы лучше интегрировать его с физической моделью освещения Unity и избежать тёмных пятен на напрямую освещаемых поверхностях. экранное AO теперь объединено с базирующимся на текстурах AO на надлежащем уровне, так как они предоставляют один и тот же эффект, только на разных стадиях отрисовки. Хороший пример — устранение постоянного затенения травы, которое мы имели всё это время:

Женский вариант одежды (Taylor Reynolds/Garry Newman)

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

Концепт холодильника (Howard Schechtman)

Если мы будем размышлять насчёт более реалистичного хранения еды в игре, имеет смысл подумать, как это будет выглядеть:

Концепт настенного вращающегося диска (Howard Schechtman)

Игроки очень креативны и придумывают в Rust собственные мини-игры, которые не были задуманы изначально. Данная идея — инструмент для упрощения этого. Я изобразил несколько вариантов использования игроками настенного вращающегося диска, для примера.

Вот серьёзно, друзья — я реально не могу понять, напаркуа это всё нужно в Rust? Я могу ещё понять те же реактивные мишени, но это уже слишком.

 Отслеживание разрушения сущностей André Straubmeier

Ремарка от разработчиков: Если вы не программист, то можете пропустить этот абзац и спать спокойно.

Некоторые люди, начиная работать с Unity находили странным тот путь, которым движок избавляется от сущностей. Для всего предусмотрен лишь один метод устранения, не важно, что это именно, игровой объект, компонент, скрипт или же даже префаб prefab ассет. Вы можете вызвать это из любого MonoBehaviour или ScriptableObject или, поскольку это статический метод, на любом из классов компонентов в Unity. Проблема в том, что вы реально не имеете никаких  вариантов сортировки ошибок, когда всё начинает идти не так, как вы задумывали.вы можете вызвать Texture.Destroy(gameObject) и никто не возмутится, потому что по существу вы делаете Object.Destroy(gameObject), просто можете не знать о нём. Вы также можете сделать GameObject.Destroy(this), что вообще-то удалит не игровой объект, а текущий скриптовый компонент. А в один прекрасный день вы напишете огромный проект  с поддержкой сети и собственными скриптовыми событиями вместо встроенных в Unity, и это причина, которая заставит делать некоторую очистку перед OnDestroy() потому что вы добавили свой собственный метод Kill(). Всё вроде офигенно, кроме случаев, когда что-то вызывает Destroy() вместо Kill() над одной их этих сущностей. Даже если вы обнаружили, что это OnDestroy(), у вас не получится отследить, где возникла причина ошибки, поскольку OnDestroy() по сути «подвиснет», пока все процедуры обновления фрейма не будут выполнены. С вот этой проблемой мы, собственно, и разбирались всю прошлую неделю, с, скажу я вам, отладка всей этой жути — точно не самое забавное и весёлое, из всего, что нам приходилось делать

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

Концепт бигфута (Paul Bradley)

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

He is more of a humanoid mutated to be larger and hairless from radiation and toxic chemicals, maybe even a science experiment gone awry. I like the idea of these irradiated creatures having some kind of inner glow visible only at night that shows the weakpoints needed to take them down.

Changelog

добавлен протокол подключения к консоли - websocket rcon
Исправлены иконки Томпсона в инвентаре
обновлён EAC
Rcon работает и во время загрузки
Linuxсервер теперь работает (!)
Реактивные мишени добавлены в игру
Добавлено отслеживание удаления сущностей (выдаёт ошибку при неправильном удалении)
Убраны скрытые соседними блоками стороны ступенек фундамента
Исправлены ошибки иерархии игровых объектов, вызванные пулингом при отключенных моделях игроков
полностью устранён прогрев системы стабильности при старте сервера (должно уменьшиться время старта сервера)
балансировщик нагрузки обрабатывает больше запросов на кадр при работе с большими      очередями отложенных заданий
Консольная команда kill теперь убивает немедленно (минуя предсмертные корчи)
исправлено невыпадение активного инструмента из рук при смерти
убрано динамическое распределение памяти из отсроченного обновления декалей
добавлена консольная переменная decal.cache (обновляет либо каждый кадр, либо же только помеченный, как "грязный")
Исправлены деревья, руда, бочки иногда спавнивщиеся в воздухе около скал
Исправлен глюк с винтами самолёта, которые были видны сквозь туман на любом расстоянии

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

P.S. Не забывайте заглядывать в раздел Раст видео, теперь он регулярно обновляется, в течение дня я опубликую свежий обзор изменений в данном девблоге 99 «на практике», непосредственно в игре. Ну и конечно же, буду очень рад видеть вас на своём канале, где помимо видео, связанных с обновлениями Rust, вы сможете увидеть обзоры других игр, кооперативы, летсплеи и много чего ещё интересного. Ну и, конечно же, увидимся-услышимся в обзорах следующих девблогов и комьюнити апдейтов!

Понравилась статья? Поделись ей с друзьями и подпишись на обновления!


Devblog 99, предъюбилейный!: 15 комментариев

    1. Alex Butthurt Автор записи

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

    1. Alex Butthurt Автор записи

      Уже в процессе, так же, как и заливка уже готового краткого перевода-обзора ))

    1. Alex Butthurt Автор записи

      Спасибо, очень приятно слышать ))
      перевод не полный пока что, мне придётся прерваться на сон…

  1. Уведомление: Девблог 99 — Предъюбилейный! (краткий обзор)

  2. Александр

    Спасибо за перевод! Подскажи, а после вайпа изученные рецепты останутся?

    1. Alex Butthurt Автор записи

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

    1. Alex Butthurt Автор записи

      За комплимент о переводе спасибо, саундтрек, да, отличный, а мишени… в игре есть задумки и поглупее 🙂

Добавить комментарий

Можно войти через соц. сети без регистрации:  

Ваш адрес email не будет опубликован. Обязательные поля помечены *