Dev-Блог 60

KosiakS

Просвещённый
Команда форума
От 7 мая 2015 года.

Опубликовал: Craig Pearson

Мы добавили дымовую гранату для вызова самолёта с грузом, также добавили быструю замену типов боеприпасов на оружии, импровизированный головной фонарь из свечки, кроме всего прочего построили 5 Рэдтаунов на острове Hapis.

Maurino

Дымовая граната
Она вернулась! Принцип работы точно такой же, как и в Legacy, хотя выглядит она лучше. Просто бросьте её и ожидайте сходку "гостей" вашего сервера.



Звук хэдшота
Ещё одна фишка с Legacy, если вы попадёте в голову - вы услышите характерный звук вне зависимости от расстояния, если же кто-то рядом с вами словит хэдшот, вы услышите его в радиусе 30-ти метров, я доволен и рад что эта фишка снова в игре.

Типы боеприпасов
Это заняло много времени, но в итоге я доволен результатом. В общем, зажимая R у вас всплывёт меню, с помощью которого вы сможете выбрать нужный вам тип боеприпасов на выбранном оружии. Эта фишка просто жжёт.


Вот разбор изменений и дополнений, которые были внесены вместе с новой системой боеприпасов.

  • Пистолет EOKA может стрелять любыми боеприпасами.
  • Добавлен высокоскоростной тип ракет, наносит меньше урона, однако имеет повышенную точность и скорость полёта.
  • Добавлены новые типы патронов для пистолета и винтовки (повышенной скорости), имеют повышенную скорость и урон.
  • В дробовик можно заряжать как самодельные так и стандартные патроны.

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

Изменения "бобовой" гранаты
Ранее она была слишком непредсказуема, я немного изменил её и теперь предмет гораздо "веселее".

  • 70% шанс на то, что граната сработает в течении 3.5-4 секунд.
  • 15% шанс на то, что граната разорвётся почти сразу после броска.
  • 15% шанс на то, что граната будет очень долго взрываться.
  • 25% шанс на то, что граната не разорвётся вовсе.
  • 50% шанс на то, что после того как гранат не разорвётся её можно будет повторно использовать.

Всё остальное:

  • Огнестрельное оружие изнашивается в 2 раза дольше чем раньше.
  • Модифицировали позиции моделей в виде от 1-го лица, чтобы избежать клиппинга (когда камера начинает "заглядывать" внутрь моделей).
  • Револьвер теперь находится подальше от лица стреляющего.
  • Исправили текстуру на патронах револьвера.

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

Garry

Asset Bundles
Мы упёрлись в проблему. Если мы меняем в проекте 100 байт материала файла и делаем коммит, билд сервера меняется и добавляет это. Для загрузки обновлений у нас есть OSX, Linux, win32, win64 и debug версия для каждой из них. По итоге мы имеем 10 версий для загрузки в Steam. Каждый из клиентов весит около 2 GB, следовательно меняя файлы на 100 байт, нам приходится грузить в Steam 10 GB+, что не есть хорошо.

Так называемые asset bundles, дадут нам больше контроля над размещением файлов. Мы можем разделять контент по логическим группам, поэтому когда мы будем что-то менять, он будет подгружать конкретные файлы, нежели весь проект. Мы использовали asset bundles и в Legacy, но там это переросло в большой "груз". Способ, которым мы программировали asset bundles в Legacy сделал разработку игры крайне сложной, фактически мы вводили код в Steam не тестируя, далее качали обновления со Steam и потом уже тестили.

В Unity 5, эта система заметно улучшилась, в следствии чего сборки обновляются в течении 1-10 минут.

Было бы идеально, если бы мы обновляли одну из платформ, и она бы в свою очередь расшаривала файлы остальным. В данный момент это не возможно, из-за того, что шейдеры для OSX и Windows не совместимы. Поддержка Unity не особо благосклонна в этом отношении и я ещё с ними не говорил на эту тему, но на следующей неделе я обязательно это сделаю, т.к. это сильно облегчит нам работу.

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

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



Реализация этого "фонаря" не столь банально, у нас реально не было ни одного предмета со схожим функционалом, поэтому добавив его мы можем приступить к другим вещам.

2015-05-14_10-07-11.jpg


Есть ещё некоторые баги с огнями в воде, не беспокойтесь, Диого займётся этим.

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

Сейчас свет эмиссионный, такой же как в костре, вспышках при выстрелах.



Legacy версия игры
Как вы уже могли заметить, сейчас при входе в игру, вас уже не спрашивают в какую версию вы хотите поиграть. Старая версия игры теперь не устанавливается в клиент по умолчанию. Хорошие новости в том, что если вы хотите играть только в старую версию, вы можете переключиться на неё в свойствах игры в Steam.

steamz.png


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



2015-05-14_10-15-46.jpg


2015-05-14_10-17-53.jpg


Добавлены напольные шипы
Винс также закончил с напольными шипами, вы наверняка не заходите ходить по ним.





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



Исправили разговоры во сне

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

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

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

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

Всё остальное:

  • Исправлены эксплойты с атаками ближнего боя.
  • Исправили отсутствие иконки у кирки.
  • Исправили навигационную карту, была полностью голубая на низких параметрах графики.
  • Исправили расположение моделей оружия.
  • Исправили выброшенные предметы (падали сквозь скалы).
  • Исправили клавишу Esc, не корректно работала на экране переименования спального мешка.
  • Теперь можно отменять крафт в прогрессе.
  • Теперь крафт отменяется при смерти (ресурсы возвращаются трупу).
  • Теперь крафт отменяется при дисконнекте (ресурсы возвращаются спящему).
  • Исправлены невидимые кнопки крафта при лутании чего-либо.
  • Обновили Steam SDK.
  • Исправлен баг - статистика персонажа не подгружалась.
  • Доработали строительные компоненты, строить внутри скал теперь нельзя.

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

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

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

LOD Grid
У Unity есть такая штука именуемая LOD-группы, которая на первый взгляд смотрится довольно симпатично. Они просты в использовании, имеют интересную визуализацию и быстро настраиваются. Для проектов средней сложности - это идеальный вариант, но Rust не из этого числа и поэтому LOD-группы начинают создавать проблемы.

  • LOD-группы проверяют расстояние при каждом кадре для каждого объекта. Это значит время, которое они занимают на каждый кадр линейно масштабируется с их счётом.

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

  • Каждая индивидуальная LOD модель LOD-группы имеет свой собственный игровой объект, меш фильтр и компонент меш рендерера, который достаточно нагружает память.

  • Около 35000 LOD-групп начинает спамить ошибкой 0x7fff.

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

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

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

Следующая неделя:
Постараюсь выполнить как можно больше пунктов из моего списка заданий по процедурной генерации 8-го поколения (procgen8). По скольку вайп ожидается через 2-3 недели - динамическая погода то, над чем я тоже хотел бы основательно поработать. А ещё я планирую выяснить значение словосочетания "объясняться короче".

Petur
Много, очень много изменения постигли остров Hapis, поэтому у нас не было времени протестировать всё должным образом. Ой да ладно, ну что может пойти не так? Теперь на острове есть куча Рэдтаунов разделённые на 3 тира.

Для нубов у нас есть маяки, и прибережные грузовые посылки, на них нет радиации, однако лут там тоже не ахти.

Также есть 3 полноценных Рэдтауна, они излучают радиацию и спавнят изрядное количество лута. Примерное количество вы привыкли видеть на процедурных картах.

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



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

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





Tom

Я закончил работать над ещё одним типом ракеты. Вот как она выглядит:


Кроме того, новая модель сигнальной гранаты тоже моих рук дело.




Сейчас я приступил к работе над костяной дубинкой (по концептам Пола), на следующей неделе она будет готова.

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

Поэтому на этой неделе видео и фото не будет, извините ребят. На следующей неделе продолжу работать над ребилдом воды.

Xavier
На этой неделе я приступил к работе над шахтёрским головным фонёрам, да ребят именно шахтёрским! Теперь свечке на голове будет достойная альтернатива, которая не будет задевать ваши чувства правдоподобности!


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

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

Vince

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





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

Howie

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





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

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

Также продолжил работать над шагами животных (дабы их можно было отличить от человеческих).
Свет это увидит на следующей неделе.

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

Megan
На этой неделе сделала иконки для: шляпы со свечкой, 3-х новых типов ракет, 3-х новых типов баррикад и напольных шипов.

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









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








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

Было бы полезно, если бы вы репортили о подозрительном поведении игроков, после чего EAC проверят информацию и примут необходимые меры.
Поэтому мы решили создать @rusthackreport. Если вы обнаружите читера, напишите твитт на этот аккаунт с максимально возможным описанием(сервер, steamid, что он делал) и мы проверим его, отвечать через этот аккаунт конечно мы никому не будем, но будьте уверен ваши сообщение будут прочитаны.

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