Прострелы в CSP

Команда разработчиков Counter-Strike:Promod в данный момент работает над улучшением простреливаемости объектов на картах своей модификации CS 1.6 на основе движка Source.
На своём официальном форуме они решили поделиться с сообществом результатами своих экспериментов, о которых вы узнаете ниже.
Из поста становится понятно, что у ребят сначала возникли проблемы с прострелом подвижных объектов. Например, двери карты de_nuke на точке B:
  • Красная линия - траектория пули, хит-бокс - точка попадания
По словам одного из разработчиков, дверь отчего-то не простреливалась тем же способом, что и другие подобные объекты, поэтому для решения проблемы был применён метод рекурсивной трассировки, благодаря которому осуществляется проверка каждого объекта со свойством "prop_static" на твёрдость и за тем поиск точки выхода из этого объекта.
  • Жёлтый хит-бокс - точка выхода пули из объекта
  • Синия линия - пройденное пулей расстояние внутри объекта
Тем не менее, не все "браши" реагируют на прострел подобным образом. Так, например, для объектов класса world_brush, коим являются стены, используется нерекурсивный метод, при котором дополнительный трассировочный луч определяет местонахождение следующей (ближайшей) стены и определяет таким образом точку выхода в первой стене. Данным способом были исправлены ошибки прострелов в "тёмке" на de_dust2:
  • Новый de_dust2
  • Исправленные прострелы
Также сообщается, что была заменена "начинка" некоторых объектов, чтобы их простреливаемость максимально точно совпадала с Counter-Strike 1.6. Однако это ещё предстоит хорошенько оттестировать.
Несмотря на все эти успехи, остались и нерешённые задачи. Например, существует проблема со сложными объектами, состоящими из нескольких "брашей". При столкновении с такими объектами пуля не может найти конечную точку выхода, останавливаясь на границе состыковки "брашей" внутри одного объекта:
  • Пули застревают в сложных объектах
Автор поста добавил, что из кода невозможно установить, застряла ли пуля в вакууме между "брашами" одного объекта, так как лакмусовой бумажкой для этого являются только трассировочные лучи. Тем не менее, выход из этой ситуации, по его словам, может быть найден, если просто-напросто объединять несколько "брашей" одного объекта в целостный "браш":
  • Простреливание целостного объекта
Как видно, разработчики CSP не стоят на месте, медленно но верно улучшая свою альтернативную модификацию, приближая её с каждым днём к тому идеально сбалансированному сочетанию новой графической оболочки и  старого доброго геймплея, о котором уже давно все мечтают.
А как, по-вашему, кто кого: CSP vs CS:GO?


Written by

0 коментарі: