Много работы по оптимизации и исправлениям, также изменения в системе опыта, геймплее, графике и т.д.
Баланс системы опыта
Что ж, на этой неделе я много играл в Rust. Надо сказать, я не слабо так оттянулся вместе с новой системой опыта и сейчас планирую продолжить играть пока мой уровень не станет максимальным. Помимо моего продвижения в игре, я буду вносить правки в замеченные мной проблемные области, причём правки буду вносить до тех пор, пока мне не покажется, что все элементы дошли до приемлемой кондиции и баланс найден. Вот некоторые замеченные мной вещи, в которые я внёс некоторые правки:
Стрельба по бочкам для добычи опыта - просто ужасная вещь. Огромная куча лута, предназначенная для игроков на ранней стадии игры, растрачивалась просто в никуда. В общем, теперь, для того чтобы получить опыт от разбитой бочки, вам нужно будет находиться рядом с ней (на расстоянии удара ближним боем).
Я также заметил, что зачастую вы не получаете много опыта с помощью других игроков, т.к. они, вероятно, умирают вскоре после того, как вы дали им инструменты. Я не увеличивал максимальное количество опыта, которое вы можете получить от других игроков, однако я слегка увеличил скорость получения этого опыта, путём ослабления эффекта димишинга. Кроме того, я сделал так, чтобы владельцы оружия также получали долю полученного опыта от убийства животных, поэтому теперь есть смысл давать новичкам копья.
Далее, глянув на математическую составляющую, я пришёл к выводу, что сейчас, в силу эффекта димишинга и удорожания стоимости чертежей с увеличением уровня, достаточно трудно получить 25+ уровень, поэтому я решил увеличить максимальное количество опыта, которое можно заработать с бочек и ящиков лута в два раза, а макс. количество опыта, которое вы могли получить с добычи ресурсов я увеличил на 50%.
Главное, поймите то, что это не значит, что при ударе вы сможете зарабатывать в 2 раза больше опыта, это просто значит, что вы сможете получить больше опыта, прежде чем добыча опыта начнёт замедляться.
Кроме всего прочего, я устранил ряд эксплойтов и прочих раздражающих явлений. Некоторые игроки лезли в мусорную кучу, брали к себе всю еду, а позже клали её обратно, вследствие этого, люди которые придут позже, уже не получат опыта, однако они могут взять ту еду, что лежит в куче и использовав её, заработают опыт уже тому проходимцу. Также были и такие, кто наполнял эирдроп мусором, дабы он не деспавнился. Для решения этих проблем, я сделал так, чтобы в лут нельзя было ничего класть, таким образом я надеюсь убить сразу двух зайцев.
И наконец, я внёс некоторые незначительные изменения в древо технологий, а именно уменьшил порог разблокировки турели, теперь она открывается на 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.
Новая опция для отражений воды
На этой неделе я ввёл в игру новую опцию, с помощью которой вы сможете контролировать отражения воды отдельно от её общего качества.
Музыка
Музыка уже здесь! По умолчанию она отключена, покуда я не протестирую её должным образом, но если вам хочется, вы можете ввести в консоли music.enabled 1 Я планирую включить её по умолчанию на следующей неделе.
Если вы уже начали её тестить, и вдруг услышали что-то, о чём бы вы хотели написать отзыв (положительный или отрицательный не важно), вбейте в консоль music.info и тогда вы узнаете название сонга.
Исправления моделей оружия ближнего боя
Я заметил, что некоторые девайсы не попадают в центр экрана. Теперь это недоразумение исправлено. К тому же, я перевернул кирку, теперь удары наносятся острым концом.
Текстурирование данжей
На этой неделе я закончил с подстанцией, вы сможете их найти эти структуры на концах больших и малых линий электропередач.
Переработка костяной брони
На этой неделе я закончил с хайполи, а сейчас приступил к лоуполи. Тут на самом деле возникнет не мало трудностей, из-за обилия мелких деталей, мне придётся искать компромисс между эффективностью лоуполи и нормальным внешним видом брони. В принципе, у меня есть пара трюков, который помогут решить этот вопрос.
Исправления анимаций персонажа
Я исправил баг с анимацией прицеливания перед метанием, при которой модель игрока "застревала" в этой позе. А также я скорректировал положение рук в этих анимациях в пользу естественности.
Помимо всего прочего, я устранил вновь всплывший баг "стоячих слипперов". На этот раз, надеюсь, он уйдёт в небытие навсегда.
Анимирование двустволки
Том Баттерс скинул мне свою новую крутую модель двустволки, сейчас я приступил к её анимированию.
Модель приклада из велосипедного сиденья
Я с ним наконец-то закончил!
Не уверен, стоит ли писать об этом в своём разделе блога, но в общем, довожу до вашего сведения, что я приступил к работе над хайполи более вместительного магазина (оружейного), который, как мне кажется, будет приводить к более низкой точности оружия или её перегреву. В любом случае, ожидайте подробностей.
Список изменений:
- Удары оружием ближнего боя теперь снова будут наноситься в центр экрана.
- Модель кирки в виде от 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.
Комментарии