В рамках Operation Health ролик, созданный игроком ExecCS, помог нам обнаружить неполадку, связанную с винтовкой L85A2. Сначала казалось, что причина кроется в несовпадении определенных векторов, но дальнейшие тесты выявили проблему со всеми видами оружия.
Неполадка возникала потому, что при воспроизведении отдачи центр маркера прицела оружия смещался. Этот принцип ввели для того, чтобы во время продолжительной стрельбы визуально траектория полета пули и точка, в которую указывал маркер, совпадали. К сожалению, на деле все происходило не так, как было задумано. Из-за смещения оружия эффект параллакса реализовывался некорректно. Для оружия, которое оперативник держит в руках, показатель поля зрения равнялся 50 градусов, а для мира — 60 градусов на консолях и 60–90 градусов на PC. Из-за этого любое движение в режиме просмотра от первого лица приводило к неполадкам, связанным с центром камеры персонажа и оружия.
В итоге возникало расхождение между положением маркера прицела и итоговой точкой попадания. Иногда несоответствия были незначительными, едва заметными, а порой — существенными.
Переработка
Первым делом мы решили полностью отказаться от смещения. Так как отдача базировалась именно на этом принципе, с ней было слишком просто справляться. В отсутствие стопроцентного метода исправления мы внесли изменения в функционирование всех видов оружия.
В результате удалось выявить еще одну неполадку. Старая система отдачи позволяла определить только один сценарий поведения.
Приведем пример: игрок опустошал магазин своего оружия. Первая пуля летела туда же, куда маркер прицела указывал изначально. Для расчета вектора полета второй пули движок игры выбирал случайную точку в границах области ромбообразной формы. Эта случайная точка становилась исходной (точкой с координатами 0, 0) для нового «ромба», в границах которого определялись точки попаданий третьей и последующих пуль, выпущенных из оружия.
В результате использование системы, функционирующей на основе генератора случайных чисел, приводило к тому, что разброс был непредсказуемым. Этот факт не соответствовал задумке, и мы приняли решение пересмотреть работу системы отдачи.
Многоэтапная отдача
Была введена многоэтапная отдача. Этот принцип позволил определять конкретные наборы данных для каждого момента развития процесса в рамках автоматической стрельбы. Вернемся к нашему примеру. Для первой пули ничего не изменится: она полетит туда же, куда игрок прицеливался. На полет второй будет влиять только показатель смещения ствола оружия влево или вправо. Движок будет получать команды: «Для второй пули используй этот набор данных по отдаче», «Для третьей — вот этот новый набор данных», и т.д. Таким образом векторы полета всех пуль станут зависеть друг от друга.
В итоге удастся упорядочить выстрелы из любого оружия: случайные числа станут оказывать меньше влияния на систему, и в игре появятся более точные схемы разброса.
Будущее системы отдачи
В будущем мы хотим представить систему отдачи, которая будет соответствовать основам Rainbow Six Осада — чтобы игроки не чувствовали, будто совершили отличный выстрел благодаря неполадке или попросту стечению обстоятельств, не зависящему от уровня навыков игры.
Чтобы игрокам не пришлось наизусть заучивать все варианты разброса для каждого оружия, мы выделили несколько категорий. Для каждой будет характерна своя система отдачи, а минимальные различия в рамках одной категории позволят внести разнообразие в процесс стрельбы.
Все виды оружия будут разделены следующим образом:
AUG A2, Type-89, F2, C7E, AR33, G36C, L85A2, 556xi, PARA-308
552 commando, AK-12, C8SFW, 416-C, R4C
G8A1, M249, 6P41, T-95 LSW, PDW9, P90, Scorpion EVO 3 A1
MP5k, MP5, FMG-9, T-5, MP5SD, MPX, 9x19VSN, MP7
MK17 CQB
SMG-11, Bearing 9, Vector .45 ACP
Из этого списка были исключены дробовики, пистолеты, некоторые винтовки и определенные ПП с низким темпом стрельбы: их системы отдачи подвергнуться дальнейшей переработке. Мы устранили смещение при стрельбе из этих видов оружия, но оно изначально не оказывало столь сильного влияния на разброс, и потому потребуется внести дополнительные изменения.
Предстоящие тесты
Естественно, команда не хочет внедрять вышеуказанные изменения без предварительных тестирований. Обновленная система отдачи будет представлена на СТТ 20 сентября.
С нетерпением ждем ваших отзывов об этом нововведении: делитесь своими впечатлениями в Reddit на странице, посвященной СТТ Rainbow 6.