Dev-блог 166

Глобальные изменения в добыче руды, исправление QOL дропа вещей, улучшенные взрывы и другое.

Изменение пород

Как часть переработки добычи ресурсов я внес некоторые изменения в руды и то как они работают. Первым делом вы заметите, что модели соответствуют ресурсу, который из них добывается. Это значит, что модель камня будет давать только камень, серы только серу, метал только метал. Это первый шаг доработки добычи ресурсов и уменьшению гринда. Как бы то ни было, у вас могло легко бомбануть после того, как вы покинете свою базу. Любой камень, который вы увидите и захотите сломать был похож на лотерею, и вы не чувствовали себя в выигрыше, потому что вы получали немного того, немного этого. Это глупо. Я хочу, чтобы люди сами выбирали что им нужно и потратили некоторое время на поиски районов, где они добываются.
Другое изменение, которое вы заметите, это новый эффект разрушения камней. Я добавил его, а так же новый звук чтобы замаскировать визуально изменение стадий разрушения.
Я добавил так называемый "финишный бонус" к добыче. Последний удар будет давать 20% от всего, что должно мотивировать собирать камень до конца, а не оставлять наполовину недобитые по всей карте. Так же следует заметить, что получить этот бонус вы можете только инструментами.
Наконец, то, что обязательно будет довольно спорным решением, я убрал МВК из добычи везде, кроме металлический камней. Вы получите 2 МВК в финишном бонусе. Это значит, что если вы захотите вооружить себя, вам нужно будет поставить карьер. На этой неделе я планирую приступить к работе над ними и сделать их не только более жизнеспособными, но и необходимыми, а так же интересными в использовании. Если вы соло игрок, вам будет необходимо перерабатывать ресурсы и торговаться. Вам не нужно будет крафтить 5 АК47 в день, поэтому получение 2 МВК за удар статического объекта в мире в течение 10 секунд не стать огромной проблемой.
Смотрите, каждый раз когда я вношу какое-либо фундаментальное изменение, которое меняет геймплей, реакция на реддите нереальна. К сожалению, я стал жертвой писанины на нашем сабреддите, пытаясь угодить сообществу, я внес некоторые правки, основываясь на просьбах, тем самым наделал говна в самом конце моей работы. Оказывается, "сообщество", которое я слушал, это, вероятно, всего лишь шайка громких людей, настроенных на негатив, которые зашли в игру на 5 минут. В первую очередь я хотел разделить требования новых и старых игроков по поводу МВК. По той же причине я хотел разбросать определенные ресурсы по определенным областям карты. Так как я слишком много прислушивался к людям, я потерял свою первоначальную идею и мы получили полнейший беспорядок, где доступно все и везде. Наверное, это потому, что люди просто хотят мгновенно залутаться и быть первыми, у кого появится Р250, чтобы они могли убивать всех остальных.
Вот почему по всей карте есть лутпоинты, потому что люди не хотели идти в радтауны.
Вот почему МВК был во всех породах - люди не хотели потеть, чтобы обустроить и защитить карьер.
Вот почему у нас нет разницы между севером и югом - людям не нравилась идея, что им пришлось бы уходить куда то от своей базы дальше чем на шаг.
Когда я сижу и размышляю обо всем этом, я чувствую, что недоволен текущим состоянием игры. Поэтому я собираюсь все изменить. Я прошу вас принять всех изменения, которые будут внесены в будущих обновлениях и дать всему спокойно прижиться в игре. Я чувствую, что пишу это уже несколько недель подряд, но понимаю, что ничего так и не сделано, и если что-то не так, я это исправлю. Цель - сделать игру максимально увлекательной. Это именно то, что я пытаюсь сделать. Вы должно быть привыкли а определенному стилю игры, и когда он меняется, вы не хотите принимать это, но, пожалуйста, подумайте о будущем и направьте игру в правильное русло.
Еще одна вещь, которую я хочу сделать - это сделать добычу ресурсов немного интереснее с помощью мини-игры:

Rust_Devblog_166_1.png

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

Изменения в карьере
Первым делом для увеличения распространенности карьеров я уменьшил стоимость их крафта. Теперь для этого нужно 5000 дерева, 1500 металлических фрагментов, 6 шестеренок, 4 металлических листа.
В ближайшие недели у меня будет время на то, чтобы сделать их намного более жизнеспособными и интересными в использовании, так как потребность в них должна возрасти с изменениями в добыче руды на этой неделе.

Rust_Devblog_166_2.png

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

Rust_Devblog_166_4.jpg

Rust_Devblog_166_3.jpg

Rust_Devblog_166_5.jpg

Я так же добавил эффект тряски экрана к эффектам на основе из мощности и дальности. Это помогает взрывам выглядеть более мощными.

Человекоподобные NPC
Не так близко к добавлению в игру, но я все равно хочу, чтобы вы знали, что на данный момент происходит с ними.
Мне нужно разобраться в некоторых проблемах связанных с производительностью, а так же с некоторыми логическими проблемами (убрать некоторые странности). Я также должен проследить за тем, чтобы они хорошо держались вместе и сбалансировать их лут. Все это прямолинейно и займет некоторое время, однако одной и главных проблем является NavMesh. Я оптимизировал его, чтобы он генерировался примерно в 4 раза быстрее, чем несколько месяцев назад, после того, как мы добавили новую систему животных, из-за того что он вызывал лаги на сервере при запуске. Недостатком всего этого является то, что вокруг радтаунов есть много ошибок в NavMesh'e и плохой их точности в целом. Я узнаю, как связаться с разработчиками Unity, чтобы узнать, сможем ли мы изменить способ создания NavMesh, чтобы он смог убрать лаги на сервере и получить возможность использовать NavMesh с более высоким разрешением. До тех пор ИИ будет немного дерьмовым вокруг радтаунов, а это значит, что мне придется их к более открытым районам или просто переместить их в районы вдали от радтаунов. Я буду держать вас в курсе.

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

Дропнутые вещи
Много изменений касаются дропнутых вещей. Во первых, осколки и рагдоллы больше не мешают вам подбирать вещи, лежащие под ними. Это значит, что вы наконец сможете подобрать свой лут после разрушения бочки. Далее, дропнутые вещи удаляются гораздо дольше чем раньше, еще дольше редкие вещи. Время удаления варьируется от 5 до 60 минут. Это значит, что АК будет лежать на земле полный час до того, как он исчезнет, в то время как семена будут удалены после 5 минут. Цель - дать людям больше времени на сбор вещей и помочь людям во время рейда, чтобы владелец дома не смог выбросить весь свой лут до того, пока вы до него доберетесь.

Rust_Devblog_166_6.png

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

Rust_Devblog_166_7.png

Rust_Devblog_166_8.png

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

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

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

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


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

Rust_Devblog_166_9.jpg

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

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

Прогресс над паками текстур
Я закончил большинство паков текстур на этой неделе и провел несколько анализов на типах сохранения памяти, которые мы можем получить.
Визуальные изменения почти незаметны. Здесь не должно быть каких то сильных изменений как вы можете заметить на сфере ниже (вам нужно приглядеться, чтобы заметить какие либо изменения):

Rust_Devblog_166_10.gif
Они выглядят очень похожими, хотя пак занимает до 35% меньше памяти в текущем состоянии. В некоторых случаях это может показаться лучше даже из-за того, что теперь мы можем использовать пользовательские, более точные фильтры масштабирования.
Паки текстур позволят нам получить оптимизировать конечный вид текстур. В приведенном выше примере наиболее важный пак, содержащий альбедо, имеет максимальное антизотропное значение 16, а до этого было ограничение в 4. В большинстве случаев вы не сможете заметить резницу, но она есть и все это при меньших затратах.
Быстрый анализ показал, что мы можем сохранить 20% системной и видеопамяти благодаря пакам из наших стандартных материалов. Другие типы материалов могут есть больше ну или меньше.
Что касается производительности, мы видим снижения требований к пропускной способности текстур, что в конечном итоге принесет пользу низкопроизводительным видеокартам. При наименьшей антизотропной фильтрации (1) улучшение этих материалов может достигать 10% в зависимости от того, сколько пикселей заполняют экран. Это число увеличивается до 66%, когда антизотропное значение установлено на максимум (16). Результаты были измерены на GTX 960.
Так же впечатляет то, что при создании паков мы можем почти вдвое сократить общее количество используемых текстур на поддерживаемых материалах. Это значит, что процессор будет будет намного менее загружен при соединении материалов прямо во время рендеринга.
Сейчас процесс происходит вручную, поскольку он находится на ранних стадиях тестирования и по-прежнему требует доработки. Я собираюсь выпустить пару паков материалов для тестирования в течение следующей недели, и через неделю вы сможете увидеть еще больше если все пойдет по плану. Эти изменения будут вступать в силу постепенно и, надеюсь, без происшествий.

Музыка
На этой неделе я работал над исправлением проблем с синхронизацией, которые я упоминал на прошлой неделе и добился довольно хорошего прогресса.
Unity имеет только один способ воспроизведения синхронизированного звука (AudioSOurce.PlayScheduled). Это отлично подходит, когда вы хотите проиграть что-то в определенном месте через некоторое время, но если это время пройдет, оно просто начнет играть сразу, вместо того, чтобы корректировать начальную позицию звука к времени. Это полный отстой, если вы делаете что-то вроде собственной музыкальной системы, где вы хотите, чтобы клипы иногда исчезали в середине трека.
У нас есть способ установки позиции воспроизведения трека, когда мы его запускаем, что мы и делали, но это не слишком точно, и иногда материал не меняется в нужное время, потому что эти изменения должны быть получены во время аудиопотока. На этой неделе я обнаружил, что проблема гораздо хуже отражается на треках, которые играются с диска, а не загружаются в память, и ранее вся наша музыка была настроена на поток.
Теперь, очевидно, мы не хотим сразу загружать все треки в память. К счастью, загрузка\выгрузка звука уже происходит в отдельном потоке, поэтому я создал небольшую систему для загрузки и выгрузки треков по мере необходимости. Прямо сейчас он просто загружает целую песню сразу, но я собираюсь сделать так, чтобы она просто загружала текущие и предстоящие фрагменты трека.
Все еще есть проблемы с синхронизацией записей в памяти из-за того, что Unity поддерживает изменение позиции воспроизведения в звуковом потоке, хотя я думаю, что он должен быть достаточно плотным, чтобы не быть заметным на данный момент.
Если это не покажет себя хорошо во время реального тестирования, у меня есть пара других идей на этот счет, которые будут давать нам точное воспроизведение, но для этого потребуется намного больше работы и могут появиться проблемы с производительностью, но мы будем осторожны.
На этой неделе я провел небольшую работу по очистке и оптимизации музыкальной системы и сделал еще несколько настроек для воспроизведения некоторых песен.

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

Остров Hapis
Работа над островом Hapis продолжается. Покажу на следующей неделе. Может быть будут новые деревья.

Список изменений:
  • Доработка различных звуков
  • Улучшено звуковое сопровождение
  • Обновление на последнюю версию Facepunch.Steamworks
  • Осколки и трупы больше не мешают собирать предметы под ними
  • Удвоено время пропадания дропнутых вещей
  • Увеличено время пропадания редких вещей
  • Семена пропадают гораздо быстрее
  • Дропнутым вещам увеличили силу трения с поверхностью
  • Оптимизировано приминание травы
  • Киянкой в руках с зажатой ЛКМ бьет беспрерывно
  • Больше не нужно нажимать дважды на вещь в хотбаре чтобы использовать ее
  • Доработана физика гранат (больше не скользят, меньше отскакивают)
  • Доработана масса гранат и сила броска
  • Снижена стоимость крафта карьера
  • С пород теперь падают те ресурсы, которым она принадлежит, вместо всего по немногу
  • Увеличено время пропажи для некоторых предметов
  • Исправлено вращение взрыва от гранат
  • Трава теперь приминается немного сильнее
  • Исправлена ошибка, когда бутстрап не обновлял текст загрузочного экрана
  • Исправлена коллизия ворлд модели дерева и приближена к визуальной
  • Исправлена ошибка с ложным срабатыванием проверки кулдауна оружия со стороны сервера
  • Вещи больше нельзя ложить обратно в лутпоинты
  • Ящики при разрушении складывают все ресурсы внутри в одну сумку
  • При разделывании трупа все вещи складываются в рюкзак
  • Время пропадания сумок и рюкзаков с вещами зависит от вещей лежащих внутри
  • Добавлена переменная corpsedespawn (время, спустя которое труп пропадет и все вещи переместятся в рюкзак)
  • Добавлены звуки при добыче руд
  • Брошеные вещи проминают под собой траву
  • Добавлены новые эффекты для взрывов
  • Породы ресурсов имеют "финишный бонус", дающий 20% от их полной емкости
  • Породы ресурсов получили эффекты при разрушении
 
Сверху