Dev-блог 115

Улучшенная система гниения, починка размещаемых объектов и возвращение Гарри. Кроме того, мы немного написали о новом типе карты "barren", о возвращении радиации и дате релиза системы опыта.

Dev_Blog_115_1.jpg


Я вернулся (с) Garry Newman

Я наконец-то вернулся из отпуска по уходу за ребёнком, однако, Хелкус (Maurino Berry) по-прежнему остаётся на посте руководителя проекта. Сейчас я лишь временно принял бразды правления, т.к. ему требуется некоторое время для решения некоторых семейных проблем. Я конечно выполняю свои задачи, однако Хелкус очень хорош в вопросах баланса и геймплея. Я думаю, вы и сами это оценили за последние несколько недель. Rust во все времена был его проектом, да я работал над некоторыми конкретными пунктами, но именно Хелк ответственен за большинство "рулевых движений" и принятых решений.

А теперь, пожалуйста, хватит мешать меня с дерьмом на Reddit.

Новый тип карт "Barren"

Хотели бы вы поиграть на карте, на которой не будет травы, камней и прочего дерьма, так чтобы FPS оставался на приемлемом уровне без тотального "замылевания" всей игры? Ну что ж, теперь у вас будет такая возможность. Карты типа "Barren" расположены на pre-release-ветви, заходите и пробуйте.

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

Dev_Blog_115_2.jpg
Dev_Blog_115_3.jpg
Dev_Blog_115_4.jpg
Dev_Blog_115_5.jpg


Античит

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

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

Ветвь Pre-Release

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

А сейчас я призываю всех и каждого - зайдите на pre-release-ветвь и опробуйте новую систему опыта лично. Нам необходимо как можно больше ваших мнений насчёт неё. Оставлять свои отзывы можете на reddit, мы там частые гости.

Серверная защита от флудинга

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

Серверные "кривые" по передвижению

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

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

Баланс системы гниения

Прошлые изменения системы гниения вызвали на реддите определённую дозу негатива. Прочитав ваши отзывы, я внёс корректировки в задержку перед гниением и его длительности. Основной целью всех этих изменений было повышение производительности. Владельцы серверов могут регулировать эти параметры в соответствии со своими потребностями используя команду decay.tick Сейчас для большинства размещаемых объектов установлены следующие параметры: 2 дня задержки перед гниением и 2 дня до полного уничтожения объекта. У ящиков и печек длительность гниения чуть выше - 4 дня, это я сделал для того, чтобы у ребят, которые будут рейдить заброшенные базы, был шанс что-то там найти.

Ремонт размещаемых объектов

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

Течение рек

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

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

Dev_Blog_115_6.jpeg

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

Улучшения производительности

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

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

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

Радиация

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

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

Музыка

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

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

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

Из-за возникших форс-мажоров, мне не удалось реализовать эту систему на этой неделе, но я думаю, что уж на следующей всё точно будет.

Двуствольное ружьё

После окончания работ над его концепцией, я принялся за моделирование. Вот текущий прогресс:
Dev_Blog_115_7.jpg

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

Метательное оружие

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

Улучшенный скиннинг одежды

На этой неделе я прошёлся по всем "проблемным" частям одежды. Вот скриншоты с демонстрацией улучшений:

Dev_Blog_115_8.png
Dev_Blog_115_9.png
Dev_Blog_115_10.png


Список изменений:
  • Изменили параметры гниения на большинстве размещаемых объектов. Теперь установлено 2 дня задержки перед гниением и 2 дня до полного уничтожения с начала гниения. У ящиков и печек длительность полного разложения увеличена до 4 дней.
  • Изменили интервал гниения по умолчанию. Теперь 1 тик происходит раз в 10 минут.
  • Большинство размещаемых объектов теперь можно ремонтировать.
  • Исправлены недочёты коллизии мешей на ветвистом строй. блоке крыши.
  • Коллизия местности теперь регулярно обновляется при переключении чит-модов у администраторов.
  • Добавлена защита от флуда на серверном уровне.
  • Добавлена серверная команда maxflood: для регулировки системы защиты от флуда.
  • Данные о позиции игрока теперь отображаются в виде кривой (графика).
  • Добавлен 3-й режим защиты от ноклипа (noclip_protection mode 3): он верифицирует передвижение на графике позиции.
  • Добавлены новые серверные команды noclip_stepsize и noclip_maxsteps.
  • "Ужесточили" детекторы флай и спид-хаков.
  • Улучшили производительность цветокоррекции (color grading).
  • Улучшили производительность окклюзии (ambient occlusion).
  • Рекам вновь добавили течение.
  • На берегах рек теперь есть морская пена.
 
Последнее редактирование:
Сверху