Боевая единица: программист Шимон Колситер (Šimon Kolčiter), отдел программирования.
Кому: пользователям отдела разработки Arma 3
Информация: Распутывание паутины: улучшение системы анимаций в Arma 3.
ОЦЕНКАНа протяжение многих лет и различных проектов, наша основополагающая система вооружения и положений персонажа постепенно расширялась для поддержания новых типов оружия, действий и т.д. и даровала нашим игрокам новый уровень игрового процесса и возможностей. Однако, сейчас эта система стала слишком сложной для поддержания.
Столкнувшись с сложным "витиеватым" отношением между игровым кодом и файлами конфигурации анимаций, которые значительно повышали риск возникновения проблем, мы решились переработать систему анимаций. Нашей цель - сделать процесс разработки и создания новых возможностей более устойчивым.
ЖЕЛАЕМЫЕ ИЗМЕНЕНИЯДля достижения поставленной задачи, мы разработали так называемую "выборную" систему. Ее суть заключается в том, что игра решает какое выбрано оружие или положение , а затем передает соответствующее действие в систему анимаций, которая, в свою очередь, выбирает новую анимацию. Действие имеет как подходящую категорию оружия ( винтовка, пистолет, гранатомет, биноколь, вариант без оружия), положения ( стоя, согнувшись, ничком) , так и стойку с оружием, которая задается текущим состоянием ИИ ( беспечный, настороженный - оружие опущено, бой - поднято).
Нашей целью было убрать избыточные действия, которые были необходимы в основном для симулирования различных параметров управления или которые стали результатом работы программистов по добавлению различных возможностей по просьбе дизайнеров за прошедшее десятилетие. Хотя нам и удалось разрешить большинство проблем, подобная работа с ИИ немного сложнее - "выбранное" состояние должно быть обусловлено соответствующим положением конкретного персонажа.
СЛОЖНЫЕ ВЗАИМООТНОШЕНИЯПрежде чем мы приступили к полной переработке, мы уже были в курсе всей сложности связи между ИИ и анимацией. Для решения подобной задачи, план по внедрению новой системы выполнялся постепенно - сначала оружие, затем положение персонажа, стойка с оружием - затрагивались все старые системы и переносились на новую платформу шаг за шагом. Мы сразу же заметили, что некоторые элементы сильно связаны друг с другом, и требовали кардинальных изменений. Улучшение и синхронизация одного элемента с десятью другими приводили к некорректной работе, все приходилось переделывать - полная потеря времени.
Принимая во внимание всю сложность работы, а также курса на повышение производительности, наши текущие усилия направлены только на исправление ошибок, избегание возможных изменений, которые могут привести к нестабильности ИИ, пока они не будут полностью доработаны. После завершения переработки, исправляются анимации, которые ИИ не способны выполнить. Один из примеров проделанной работы - ИИ теперь могут использовать биноколь корректно. Мы надеемся достигнуть большего прогресса в ближайшем будущем.
СООТНОШЕНИЕ РИСКА И РЕЗУЛЬТАТАОднако этот проект предполагает некий риск, например проблема (сейчас уже разрешена) при которой ИИ не мог поменять положение тела после смены его статуса на боевой. В наш приоритет входит всегда быть уверенным в работоспособности игры. Мы извиняемся за любые доставленные неудобства!
Хотя достигнутые результаты пока что скромны, мы надеемся достигнуть большего в скором времени, доработать и добавить новые возможности!