Dev-Блог 73

KosiakS

Просвещённый
Команда форума
Posted on August 13, 2015 by Craig Pearson

Исправили PVP, подключили к сети повороты головы персонажа, настроили серверные бэкапы, и многое другое.


Maurino
Улучшение системы PVP (1 фаза):
Многие жаловались на убогие перестрелки, я решил взглянуть на это и нашёл несколько причин возникновения проблемы:

  • View_модели оружия слишком сильно раскачиваются во время движения.
  • Вспышки от выстрелов загораживают обзор.
  • Нет нормального идентификатора попадания снаряда в цель (звука, либо визуального отображения).
  • Во время перестрелок возникают лаги и рывки (тут смотрите в блок Андре ниже).
  • Код хитбоксов не дописан.

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

Ну и как же мы решили устранить проблему?

Нам нужно переписать систему хитбоксов, добавив значение "плотности", следовательно у каждого оружия будет показатель мощности. При первичном попадании мощность снаряда будет уменьшаться в зависимости от плотности объекта, и полёт снаряда будет продолжаться до тех пор, пока значение его мощности не станет равно нулю. В качестве примера можно привести палец (плотность - 5%, скаляция урона - 10%), и голову (плотность - 100%, скаляция урона 200%). Таким образом, если я стрельну вам в голову, в момент когда вы держите руки перед собой, пуля нанесёт урон (10%) и пройдёт сквозь руки (при этом потеряет значение мощности в 5%) и продолжит своё движение, затем он попадёт в голову нанесёт 195% и остановится.

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

Вот старые, а вот новые значения.

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

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

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

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

hitnotify.notification_level (по умолчанию = 1)

  • 0 - отключен.
  • 1 - отчётность будет идти через клиент (мгновенная реакция, но иногда могут быть ложные значения).
  • 2 - отчётность будет идти через сервер (всегда точные значения, но с небольшой задержкой).

Изменения в таблице лута.
Потратил немного времени на читку обратной связи, и немного изменил таблицы лута. Вот наиболее важные изменения:

  • Броня из костей и дерева больше не доступна по умолчанию, теперь чертежи на них находятся в положении common, uncommon.
  • Сборный меч и лампа теперь более доступны (common).
  • Некоторые части анти-рад костюма стали более доступны (вместо rare - uncommon).
  • Амуниция на пистолет теперь более доступна (common).
  • Удалил из лута некоторые зимние куртки, а остальные стали более доступны (вместо rare - uncommon).
  • Кожаные перчатки теперь делаются из кожи и более доступны (common).
  • Броня из дорожных знаков стала редкой (rare).

Следующая неделя:
На следующей неделе уделю больше времени отлаживанию старого контента, нежели добавлению нового, продолжу улучшать PVP и PVE, также начну работать над внедрением в игру МОДЫ НА ОРУЖИЕ, но на следующей неделе ЭТОГО ОЖИДАТЬ НЕ СТОИТ.

Andre

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

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

Т.к. количество людей на Dev-серверах в разы меньше, чем на основных, я не могу дать 100%-ой гарантии того, что всё будет замечательно, однако результаты тестов были многообещающими.

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

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


Как только я закончил с этим, я вернулся к проблеме рывков кадров во время первого выстрела оружия и первого попадания, в данный момент времени я исправил проблему путём предзагрузки всей библиотеки эффектов, однако вас может начать крашить перед загрузкой процедурной карты, в таком случае вы должны проверить целостность кеша в Steam, если же вам это не помогло - добавьте новый параметр запуска Steam "-warmup 0". Если у вас случится такой конфуз - дайте знать.

Несоответствие протокола.
Много людей впадают в ступор, когда мы наращиваем сетевой протокол из-за чего люди перестают видеть свой любимый сервер и видят ошибку при попытке подключения к нему через IP, я сделал это сообщение более содержательным, теперь там вам напишут, если вдруг ваш сервер или клиент устарели, если оно написало вам, что клиент требуется обновить, а вы не можете получить обновление из Steam, вы сможете поиграть на dev-сервере предварительно переключившись на dev-ветвь, если же там напишет что сервер устарел, значит вам либо стоит переключится на стабильную ветвь, либо администратор вашего сервера ещё не обновил его.

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



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

ceiHRxp.jpg


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

  • Папки backup/0/your_server_identity to backup/3/your_server_identity представляют собой 4 разные версии вашего сервера.
  • Файлы с 0.sav до 9.sav представляют собой последние 10 версий вашего сохранения.
  • Максимальный возраст резервной копии увеличивается с номером его версии:
- 0 - самая последняя вресия.
- 1 - версия перед этой.
- 2 - версия 1 час назад.
- 3 - версия 2 часа назад.
- ...
- 9 - версия 128 часов назад.

Если что-то вдруг пошло не так, владелец сервера легко может вернуться к прежней версии.

Прочее:

  • Ещё больше снизил вероятность дождя.
  • Исправил дубли ящиков и бочек после рестарта сервера.
  • Уровень утопленности теперь пропорционален эффектам на камере.
  • Доработали эффекты каплей воды на камере во время плавания.
  • Исправили баг с интерфейсом консоли, не обновлялся при вводе неправильной команды.

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

Gooseman
Я помогал Тому Баттерсу с некоторыми техническими проблемами, связанными с импортом моделей персонажа в 3ds max. Кроме этого я исправил некоторые недочёты связанные со скиннингом головы персонажа. Я думаю многие заметили, что с головой персонажа становилось временами что-то не ладно, в частности после воспроизведения некоторых анимаций.

Также я работал в паре с Андре, исправляя проблемы связанные с поворотами головы.

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

Следующая неделя:
Буду добавлять ещё больше анимации бездействия и исправлять ошибки.

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

Сделал последние штрихи в системе компрессии кеша PVT (Dx11+). Единственное что, из-за ограничений Unity Command Buffer API я не смог ввести все улучшения, которые планировал.
Поэтому пришлось их отложить до решения проблемы со стороны Unity, если у вас есть аккаунт там - пожалуйста проголосуйте за этот реквест, чтобы мы смогли исправить всё, как можно быстрее.

Следующая неделя.
Продолжу работать над DX11+ и вернусь к задачам, которые висели до отпуска.

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



Также я начал работать над банданой, скоро запахнет вестерном.

bandanna.jpg


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

Vince
Реализовал небольшие подпорные блоки вокруг больших размещаемых объектов (прим. пер. IFP: горн.доб. механизмов, насосные станции и пр.), конечно это не великая вещь, в которой нуждалась игра, но тем не менее это одна из тех деталей, которые делают игру красивой и приятной.

У нас уже есть атлас для построения строй.блоков, сейчас делаем ещё один для построения объектов, которые будут далеко от дома - баррикады, высокие стены, туррели (?), ворота, электростанции.

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

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

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

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

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

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

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

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



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



Следующая неделя:
Продолжу развивать тему модульных рэдтаунов и постараюсь поработать над отдельными элементами.

Tom
Йоу чуваки и чувихи, я наконец-то чувствую себя лучше и решил ЕЩЁ РАЗ переделать модель женского персонажа, вот лоу поли:



Позже сделаю LOD модели, много времени это не займёт, думаю на следующей неделе закончу.

Также мы работали над оптимизацией нашего рабочего процесса, касаясь конкретно моделей.

Следующая неделя:
Заканчиваю с LOD моделями женского персонажа и исправлениями проблем в мужских LOD'ах.

Paul
На этой неделе работал над колчанами, я думаю было бы круто видеть количество амуниции.


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

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

Changelog
Lots of tweaks to weapon deploy/swing/reload sounds
Rocket launcher volume fixes
Hitmarker sound tweaks
Gunshots and bullet impacts can be heard from further away
Large deployables new foundations
New room in Satellite Dish monument
Linux fix
Added improvised balaclava
Added boonie hat
Vagabond Jacket is less rare
Avoided Unity crash when starting with headphones plugged in
Fixed certain situations that could cause rubberbanding
Optimized server game saving
Airdrop event now pauses auto-saving
Fixed framerate spikes the first time an effect is triggered
Optimized ragdoll initialization
Made protocol mismatch message more descriptive
Headlook direction is now networked
Added mesh batching to compound walls and barricades
Improved server backup system
Reduced rain probability some more
Fixed duplicate barrels and crates after server restart
Drowning water level now matches underwater camera effects
Tweaked water drop overlay when swimming
Fixed console UI not refreshing when entering console commands that don’t reply with anything
Added hit notification with convar controls
Slightly increased depsawn times for bodies and dropped items
Dropped items despawn slower if they are more rare
Research Table success chance rounds down to match UI
Updated muzzle flashes to be non blocking
Updated hitbox damage scales
Wood armor is no longer default
Bone armor is no longer default
Viewmodels have less sway when aiming down the sights
Loot table balance for BP fragment system
 
Последнее редактирование модератором:
Сверху