Dev-блог 134

DevBlog_134_1.jpg


Система опыта теперь в прошлом, компоненты в игре. Кроме того, радиация вернулась.

Компонентная система
Очередные радикальные изменения в геймплее игры, а система опыта теперь ушла в небытие. Мои поздравления тем, кто ныл и жаловался на неё. Вы добились своего! Шучу-шучу. Мы знали, что система опыта плоха спустя где-то неделю, после её релиза и как ни странно, не по причине того, что каждый об этом твердил.

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

Кому в тягость осиливать весь этот текст: чертежи были слишком рандомными, а система опыта слишком линейной + не вписывалась в основную концепцию Rust-a.

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

  • Больше нет никаких чертежей и заблокированных предметов. При наличии ресурсов и компонентов, всё можно скрафтить с самого начала.
  • Базовые предметы (мешковинная одежда, лук, печка, ЕОКА и т.д.) не требуют компонентов для крафта, но всё, что выходит за рамки этой "базы", однозначно будет требовать какие-нибудь детали.
  • Компоненты - те вещи, которые нельзя скрафтить. Их можно только найти.
  • Радиация вновь вернулась в игру (правда, пока лишь на ограниченной основе).
  • Разделения лута относительно полюсов пока НЕ реализовано.

В целом, старт в игре не изменился, как только вы заспавнились - вы также идёте крафтить копьё, лук, строить хибарку 1х1 и т.д. Как только вы будете готовы идти дальше, вам придётся отправиться на поиски компонентов, чтобы скрафтить более сложные предметы. Найти их можно будет в Рэдтаунах, бочках и мусорных кучах, которые были добавлены вместе с этим обновлением. Множество компонентов имеют несколько предназначений, а это значит, что вам придётся выбирать, в какое русло их пускать. Например, скрафтить улучшенный топор, или же всё-таки сделать себе меч? Арбалет, или люк-лестницу? Броню или анти-рад костюм? Болтовку или АК? И так далее и тому подобное. Я надеюсь, что такой подход к развитию окажется лучшим вариантом среди всех ранее существовавших.

Хотелось бы подчеркнуть, что несмотря на то, что система уже на основной ветви, она всё ещё в процессе разработки. Ещё далеко не все компоненты реализованы. К тому же ожидаются проблемы с концентрацией лута, балансом радиации и т.д. Но я уверен, найдутся и те, кого всё устроит. Возможно, в игре будет присутствовать гринд, а может и нет. Возможно кланы будут раздирать всю карту на части, от чего нам придётся добавить градиент распределения лута на юг и север. Также может быть, что ощущение безысходности после смерти/рейда будет слишком сильным, поскольку не будет чувствоваться прогресса. Безусловно, все эти вопросы на повестке дня и мы делаем всё возможное, чтобы найти для них оптимальное решение. Тем не менее, трудно составить правильный порядок действий, когда в игру играет более 20000 игроков, а фидбэк мы получаем лишь от 200. Само собой, мы продолжим мониторить обратную связь и очень много играть в эту игру, до тех пор, пока она не станет совершенной. Я искренне надеюсь, что это последний раз, когда мы меняем основную систему прогрессии в игре и теперь мы наконец-то сможем двинуться дальше, к добавлению остронуждающихся и просто весёлых нововведений, вроде езды на лошадях и дефекации.

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

DevBlog_134_2.png

Найти их вы сможете в большинстве рэдтаунов. Принцип его работы прост - бросаете в него готовый предмет и получаете на выходе около 50% его стоимости в виде ресурсов / компонентов.

Радиация
Радиация была переделана с нуля и теперь она работает не так, как было раньше. Тем не менее, у меня было не так много времени, чтобы проверить свою работу, поэтому пока что я остановился на консервативной стороне, по крайней мере до тех пор, пока в процедурную генерацию не будут внесены некоторые корректировки. В общем, каждая зона будет иметь свой уровень радиации: незначительный, слабый, средний и высокий. Они будут соответствовать следующим значениям накопления радиации в секунду: 2, 10, 25, 45.
DevBlog_134_3.png

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

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

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

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

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

DevBlog_134_4.png


DevBlog_134_5.jpg
DevBlog_134_6.jpg
DevBlog_134_7.jpg

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

Принцип их спавна предельно прост - они располагаются полях, лесах, под линиями ЛЭП и т.д. Лут будет процедурным и будет равнятся от 1-4 бочек до 1 полноценного ящика (если повезёт). Ещё у меня есть идея использовать их для создания лутабельного декора внутри рэдтаунов, в дополнение к прочему луту. В целом, людям это новшество пришлось по вкусу, поэтому мы продолжим совершенствовать систему.

Масштабирование лута
Теперь, когда лут стал ядром игры, я понял, что некоторые сервера, вроде Rustafied-а (400 слотов), столкнуться с проблемой его нехватки. Я попросил Андре посмотреть решение этой проблемы, после чего он добавил 2 серверные команды, которые позволят регулировать количество лута на сервере:

spawn.player_base (по умолчанию 100)
spawn.player_scale (по умолчанию 2)

Используя настройки по умолчанию, до 100 игроков в принципе ничего не меняется, но как только игроков становится за сотню, скорость респавна увеличивается и таким образом, к 200 игрокам, скорость респавна увеличивается в 2 раза.

Проблемы с производительностью
Имелась причудливая проблема производительности, которая затрагивала лишь некоторых пользователей. Таким образом, FPS остаётся нормальным, но сама игра при этом тормозит. Т.к. она всплывает не у всех, нам трудно найти её источник, поэтому если вы с ней столкнётесь, обязательно зарепортите её в F7 указав при этом, что это именно та проблема из 134 блога.

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

Изменения оружия ближнего боя и инструментов
Да, мы в курсе, что ближний бой сейчас полный отстой. Мы обязательно займёмся его улучшением позже, а пока что я увеличил урон от всего оружия ближнего боя на 30-40%.

К тому же, я сделал так, чтобы сборные инструменты требовали компоненты для изготовления и собирали на 30% ресурсов больше, чем обычные кирки и топоры.

Туман войны на карте
Карта (предмет) более не имеет тумана войны, а это значит, что скрафтив одну, вы сразу увидите всю карту. Надеюсь, что теперь они будут более полезны, чем раньше.

Workshop
Новый WS теперь доступен в главном меню игры. Жмите на кнопку и исследуйте. Сейчас мы сотрудничаем с Valve, чтобы наладить работу некоторых элементов, поэтому если что-то сломается, не стоит поднимать панику.

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

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

Вся та работа в отношении скинов, которую мы проделываем, воспринимается некоторыми как акт алчности. Я хочу объяснить, как дела обстоят на самом деле.
Во-первых, всё, что мы зарабатываем на скинах - капля в море по сравнению с тем, что мы зарабатываем на продажах.
Во-вторых, сами авторы скинов со времён начала продаж, заработали около 250 000 долларов. Вспоминая себя в 20 летнем возрасте, я могу с уверенностью сказать, что чек на 2000 долларов может кардинально изменить чью-либо жизнь, особенно если эти 2к он заработал с помощью занятия, которое приносит ему удовольствие.

Анти-рад. костюм
Я закончил с текстурированием этого костюма. Я также планировал добавить ему некоторые дополнительные детали, но сделаю я это уже после того, как закончу с LOD-ами и снингом.

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

DevBlog_134_8.jpg
DevBlog_134_9.jpg


Исправления сетевого кода

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

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

Модель для рюкзака с "бобовыми" гранатами (Satchel Charge)
На этой неделе я поработал над моделью рюкзака с гранатами в виде от 1 лица. Осталось решить кое-какие вопросы на уровни кода игры.

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

  • Улучшение рендеринга воды и его пулинг.
  • Небольшое улучшение отложенного света.
  • Оптимизирование местности, а также смешивание скал, утёсов и пр.

Трудно оценить продуктивность оптимизации местности, но я думаю, что это экономит около 2-4 ms на кадр, в зависимости от разрешения и настроек параллакса.

Hapis Island
Тоннели и Рэдтауны острова Хэпис претерпели изменения. К тому же, я заполнил элементами некоторые пустые местна на карте.

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

Пистолет Beretta M92
Мы с Хелкусом не так давно обсуждали необходимость в игре высококлассного пистолета, в итоге выбор остановился на вот этой модели. Ниже скриншот его лоуполи.

DevBlog_134_10.jpg



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

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

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

Прочая работы по звуку
Добавил звуки выстрелов LR300 и MP5 с глушителем, а также разнообразил звуки полёта пуль. Также я поработал над звуками размещения строй. блоков и занимался добавлением звуков размещения различных объектов, которыми занимался ранее.

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



Список изменений:
  • Удалили систему опыта.
  • Добавили компонентную систему.
  • На остров Hapis были добавлены новые маяки и рэдтауны.
  • Тоннели на острове Hapis заменили на сеть шахт.
  • Исправлены баги визуализации глаз персонажа.
  • Исправили баг, из-за которого не отображались анимации поворота головы.
  • Добавлен интегрированный воркшоп.
  • На карте (речь о предмете) больше нет "тумана войны".
  • Исправлены баги визуализации одежды.
  • Добавлена рубашка с воротником, майка и шорты.
  • Окклюзия звука была включена по умолчанию.
  • Во время битья бочек, индикатор попадания больше не будет воспроизводится.
  • Добавлены звуки выстрелов с глушителем для LR300 и MP5
  • Обновили звук полёта пуль.
  • Проведено множество различных доработок.
  • Улучшили рендеринг и пулинг воды.
  • Оптимизировали шейдер местности, а также шейдер смешивания местности со скалами, утёсами и пр.
  • Устранили некоторые недочёты сетевого кода.
  • Отключили некоторые ненужные предупреждения.
  • Оптимизировали пулинг префабов (prefab pooling).
  • Префаб пулинг был реализован для условных моделей строй.блоков, оптимизации коллайдеров.
  • Рейты респавнов теперь варьируются в зависимости от количества игроков.
  • Отключили дождь пока не сможем сделать так, чтобы он не проходил сквозь коллизию.
  • Добавили переработчик.
  • Добавили груды мусора.
  • Добавили радиацию.
  • Добавили возможность регулировать объём лут-спавна.
 
Сверху