Dev-блог 119

Dev_Blog_119_1.jpg


Много работы по оптимизации и исправлениям, также изменения в системе опыта, геймплее, графике и т.д.

Баланс системы опыта

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

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

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

Далее, глянув на математическую составляющую, я пришёл к выводу, что сейчас, в силу эффекта димишинга и удорожания стоимости чертежей с увеличением уровня, достаточно трудно получить 25+ уровень, поэтому я решил увеличить максимальное количество опыта, которое можно заработать с бочек и ящиков лута в два раза, а макс. количество опыта, которое вы могли получить с добычи ресурсов я увеличил на 50%.
Главное, поймите то, что это не значит, что при ударе вы сможете зарабатывать в 2 раза больше опыта, это просто значит, что вы сможете получить больше опыта, прежде чем добыча опыта начнёт замедляться.

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

Dev_Blog_119_2.png


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

Изменения в предметах

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

  • Стоимость изготовления большинства оружия ближнего боя (ср. и выс. уровней) была снижена (250 м/ф? WTF?)
  • Стоимость потолочных светильников также была снижена, а также был снижен расход топлива и увеличена светоотдача.
  • Увеличена стоимость брони из дорожных знаков.
  • Снижено количество нужной для изготовления small stash ткани до 10.

Нерфы арбалета

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

Геймплей на уровне перестрелок

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

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

  • Теперь урон при каждом выстреле на 100% предсказуем.
  • Скорость снаряда всегда будет соответствовать одному значению и будет падать посредством торможения.
  • Урон от снаряда будет максимальным при преодолении N-ого количества метров, а затем начнёт линейно снижаться в зависимости от преодолённого расстояния.

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

И наконец-то, мы с Хелкусом внесли первые правки в баланс хитбосков. Попадание снарядов в шею больше не будут расцениваться как хэдшоты, а также мы скорректировали множитель урона от попадания в бёдра.

Производительность графики - часть 1

Как я и обещал на прошлой неделе, моё внимание было направлено на правку ошибок и улучшения производительности графики. До сих пор мне удавалось срезать лишь около 0.5 ms на на абсолютно низких показателях графики и около 0.1 ms на стандартных настройках. Этих результатов я добивался путём внесение корректировок и оптимизации, а универсальным мерилом здесь выступила GTX 960. Во время работы, я стараюсь сохранить текущее положение визуализации настолько, насколько это возможно. Также, позже я скооперируюсь с Петуром для согласования действий, т.к. его работа над "кап. ремонтом" графики тесно пересекается с моими улучшениями производительности.

Вот список сделанной мной работы:

  • Снижена общая сложность поверхностных шейдеров.
  • Снижена сложность шейдеров воды.
  • Добавлена новая, более быстрая опция для отражений (включена по умолчанию).
  • Оптимизирован эффект Bloom, теперь он быстрее на около 30%.
  • Оптимизирована градация цвета климата (climate color grade LUT blending) Теперь стала в 5 раз быстрее.
  • Теперь climate LUT blend будет отключён, если градация цвета не активирована.
  • Оптимизирована "адаптация глаз" (автоматическая адаптация камеры при переходе из слабо освещённой зоны в ярко-освещённую и наоборот).
  • Качество воды по умолчанию теперь установлено на 1.

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

Я знаю, многие очень сильно возмущены тем, что их мощные видеокарты не выдают большого FPS, в то время как более слабые карты их друзей обеспечивают больше кадров в секунду. Тут главное понять, что видеокарта - не единственный фактор.
Сейчас мы с Хелкусом занимаемся CPU-тестами и у нас было пару моментов, когда GPU практически не оказывал влияния на FPS, а в некоторых моментах ситуация даже может ухудшаться со временем. Например, мы сравнивали производительность в одинаковом месте одинакового сервера с одинаковыми настройками. Мой FPS последовательно увеличивался на около 20%, хотя карта у меня была GTX 960, а у Хелкуса GTX 780, однако процессор у меня был чуть лучше i7-6700K @ 4GHz против его i7-4930K @3.4GHz.

Само собой, мы выделяем ресурсы для обработки показателей CPU и памяти, однако некоторые тонкости всё же привязаны непосредственно к движку. Поэтому мы призываем вас быть терпеливыми, покуда мы исправляем всё своё добро, а также давим на Unity.

Новая опция для отражений воды

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



Музыка

Музыка уже здесь! По умолчанию она отключена, покуда я не протестирую её должным образом, но если вам хочется, вы можете ввести в консоли music.enabled 1 Я планирую включить её по умолчанию на следующей неделе.

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

Исправления моделей оружия ближнего боя

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

Текстурирование данжей

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

Dev_Blog_119_4.jpg



Переработка костяной брони

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

Dev_Blog_119_5.jpg



Исправления анимаций персонажа

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

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

Анимирование двустволки

Том Баттерс скинул мне свою новую крутую модель двустволки, сейчас я приступил к её анимированию.

Модель приклада из велосипедного сиденья
Dev_Blog_119_6.jpg


Я с ним наконец-то закончил!

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

Список изменений:
  • Удары оружием ближнего боя теперь снова будут наноситься в центр экрана.
  • Модель кирки в виде от 1-го лица теперь повёрнута вперёд пикой, а не долотом.
  • Увеличили время развёртывания модели арбалета.
  • Исправили баги с пулемётами вертолёта (не наносили урона строй. блокам).
  • Добавлен новый тип урона для стрел (теперь на броне могут указываться отдельные параметры защиты от этого типа урона).
  • Структуры более не получают никакого урона от стрел.
  • Шкафы теперь могут размещаться близко к стенам.
  • Шкафы более нельзя размещать на лестницах (устранение эксплойта).
  • Скорость снарядов более не рандомизируется (теперь от них не будет рандомного урона).
  • Теперь урон от снарядов будет линейно снижаться в зависимости от расстояния. Однако, будет иметься начальная дистанция с максимальным уроном, после преодоления которой урон начнёт снижаться.
  • Исправлена особая ситуация, когда полностью поломанная экипировка защищала от попаданий в голову.
  • Уменьшен множитель урона картечи при попадании в голову.
  • Снижен множитель урона арбалета при попадании в голову (теперь он идентичен луку).
  • Исправлена верификация прямой видимости ракет (устранены случаи ложного срабатывания на некоторых строй.блоках).
  • Исправлены отсутствовавшие ID некоторых "костей" животных. (тут речь идёт не о костях, а о "скелетной анимации").
  • Внесены изменения в расположение "костей" нижней части тела персонажа (теперь более точное).
  • Убрана возможность быстро бегать во время перезарядки арбалета.
  • Попадание в шею больше не будет засчитываться как хэдшот.
  • Исправлены баги с лутом вертолёта (иногда ящики были пустыми).
  • Стоимость изготовления многого оружия ближнего боя (ср. и выс. уровней) была снижена.
  • Снижен шанс спавна высокоуровневого оружия (АК/Болт) в ящиках рэдтаунов.
  • Теперь мусорные кучи обновляются чаще.
  • Больше нельзя класть предметы в мусорные кучи и ящики с лутом (устранение эксплойта предотвращения респавна лута).
  • Снижена стоимость крафта городских табличек.
  • Сырое топливо теперь снова можно будет найти в бочках.
  • Потолочные лампы теперь стоят меньше ресурсов и при этом стали ярче светить.
  • Потолочные лампы и фонари-керосинки теперь потребляют гораздо меньше топлива.
  • Броня из дорожных знаков стала требовать больше ресурсов для крафта.
  • Опыт от разрушения бочек будет засчитываться только при непосредственном контакте (устранение эксплойта с прострелом бочек издалека).
  • Стоимость Small stash снижена до 10 ед. ткани.
  • Чертёж турели теперь доступен на 18 уровне (ранее был на 24).
  • Лазерный прицел теперь доступен на 24 уровне (ранее был на 25).
  • Деревянные двери теперь сильно уязвимы к взрывам.
  • Доля владения предметом от ресурсов была увеличена до 50% (ранее была 20%).
  • Добавлена возможность получать опыт, когда кто-то убивает животное используя твой инструмент.
  • Максимальное количество опыта, которое можно добыть с уничтожения бочек и открытия ящиков лута, было увеличено в 2 раза.
  • Максимальное количество опыта, которое можно получить добывая ресурсы, было увеличено на 50%.
  • Скорость получения опыта от добычи ресурсов другими игроками была увеличена.
  • Устранены глюки с чёрными искажениями в тоннелях рэдтаунов.
  • Исправлены некоторые деревья (некорректно использовали нормал-мапы).
  • Исправлены недочёты revz в OpenGL.
  • Снижена общая сложность поверхностных шейдеров.
  • Снижена сложность шейдеров воды.
  • Добавлена новая, более быстрая опция для отражений (включена по умолчанию).
  • Оптимизирован эффект Bloom, теперь он быстрее на ~30%.
  • Оптимизирована градация цвета климата (climate color grade LUT blending) Теперь стала в 5 раз быстрее.
  • Теперь climate LUT blend будет отключён, если градация цвета не активирована.
  • Оптимизирована "адаптация глаз" (автоматическая адаптация камеры при переходе из слабо освещённой зоны в ярко-освещённую и наоборот).
  • Качество воды по умолчанию теперь установлено на 1.
 
Последнее редактирование:
Сверху