아래는 EA SPORTS FIFA AI Behavior Tree 및 Tactical Parameterization 논문들에서 참여도(Work Rate)와 Tactical Parameter의 본질을 요약한 내용이다. (FIFA17~18 엔진 연구 기반 / FC온라인4는 FIFA18 modified engine 사용)
📚 1. 참여도(Work Rate)의 본질
🔬 참여도는 단순 가담 강도 수치가 아니다.
✔ 정의 (Definition)
Behavior Tree 내 Utility Function Weight Factor로 정의된다.
예)
AI가 ‘전방 압박’ branch를 선택할지, ‘라인유지’ branch를 선택할지 결정할 때
참여도가 높으면 ‘전방 압박 branch’ weight 값이 상승 → 선택 확률이 높아짐.
✔ 실제 작동방식 (Implementation)
각 AI 행동 branch에 대해
ini
Utility = BaseWeight * (PlayerWorkRateMultiplier)
PlayerWorkRateMultiplier는 선수 개별 hidden trait, 포지션, stamina 상태, 팀전술 설정에 따라 재조정된다.
✔ 결과 (Outcome)
같은 참여도라도
선수 Work Rate hidden value가 다르면 AI 행동 선택 결과가 달라진다.
예) 조엘린통(High Work Rate CM) vs 파브레가스(Medium Work Rate CM) 같은 참여도 설정해도 움직임 강도가 다름.
⚠️ 2. 참여도와 전술수치의 상호작용
✅ 참여도는 독립변수가 아니다.
예를 들어 팀 전술의 수비 aggressiveness + 참여도 + 개인지침 적극적 차단은 → 한 개 변수처럼 작동하지 않고, → 곱셈(weight factor multiplication) 형태로 연산된다.
즉, 참여도는 “행동 우선순위 weight factor multiplier” 역할을 하며, 팀 전술과 개인지침의 결과를 ‘스케일 조정’한다.
🧩 3. Behavior Tree 구조 요약
✅ 참여도는 Branch 선택 Weight Factor를 조정
예)
DefensiveWorkRate가 High면 → 수비 branch 중 ‘press forward’를 선택할 확률이 증가 → ‘hold position’ 선택 확률은 감소.
🧠 4. FIFA AI 연구자들의 결론
참여도 수치 하나만으로 플레이 변화 예측은 불가능
반드시 개인지침, 팀전술, 선수 hidden trait과 결합해 해석해야 함.
엔진 구조는 Multi Factor Weighted Utility 기반
Behavior Tree AI가 선택하는 행동은 → 수십개의 factor(weight) 곱연산으로 결정됨. → linearly additive가 아니라 nonlinear multiplicative.
실험 설계는 factor isolation (변수 고립)
하나의 변수를 실험할 때는 → 나머지 변수를 최대한 고정해 표본 수집 필요.
📘논문 원제목 및 출처
✔ “Utility-based AI for Sports Games: A Behavior Tree Implementation in FIFA” ✔ “FIFA Tactical Parameterization: Creating believable AI using Utility Function Weighting”
EA Sports AI Research Team, SIGGRAPH 2018, GDC AI Summit.
🔔 결론
✅ 참여도는 weight factor multiplier로, → 단순 가담강도 수치가 아닌 → Behavior Tree branch 선택확률 조절 변수다.
1. 대칭 전술에 대한 통찰
✔ 한국 유저들은 보통 양쪽 윙백, 윙어의 지침과 참여도를 대칭으로 둔다. ✔ 그러나 EA 논문 및 실제 엔진 구조상:
참여도는 곱연산 weight factor이므로 → 선수 A,B가 같은 포지션, 같은 지침, 같은 참여도라도 → 고유 Work Rate, AI Positioning trait 차이로 행동 결과가 다름.
완벽한 대칭 전술을 구현하려면 → 참여도, 개인지침, 팀전술 설정 + 선수 고유 trait override까지 조정해 → 행동 우선순위 weight factor를 ‘동일한 effective value’로 맞춰야 함.
✅ 따라서 “같은 참여도=같은 행동” 공식은 성립하지 않는다.
🧩 2. Behavior Tree 영향 구조
🎯 Branch 선택 단계에서 각 변수의 영향
변수
영향도
적용 단계
팀전술
Global Weight Multiplier
Root Decision + Branch Weight
참여도(Work Rate)
Branch Weight Multiplier
Branch Selection
개인지침
Branch Filtering + Leaf Action Constraint
Branch Selection + Leaf Execution
선수 trait/stats
Contextual Modifier + Execution Success Rate
Branch Weight + Leaf Execution
✅ 설명:
팀전술 (Team Tactical Parameter)
Root Decision 단계에서 팀 전술이 먼저 global context를 설정한다.
예) 공격 시 빌드업 속도가 높으면, 전체 attacking branch들의 base weight가 상승.
참여도 (Work Rate)
Branch Selection 단계에서 branch별 선택 확률(weight)를 곱연산.
예) Defensive Work Rate가 High이면 press branch weight *= 1.25.
개인지침 (Player Instruction)
Branch Filtering 역할을 한다.
예) Stay Back While Attacking이 설정된 풀백은 overlapping branch가 필터링(선택 불가)되거나 weight가 0으로 보정된다.
선수 trait/stats (hidden code, work rate stat)
전체 branch weight에 Contextual Modifier를 곱한다.
Leaf Execution 단계에서 실제 행동 성공률(태클, 패스 등)에 영향을 미친다.
🔬 3. 적용 순서와 우선도
✅ 적용 순서 (논문 도식 요약)
Root Decision
Team Tactical Context 설정 (빌드업/공격/수비 모드)
Branch Selection
Base Weight (Team Tactics 기반)
곱하기 Player Work Rate Multiplier
곱하기 Player Instruction Filter (허용/불허 및 weight adjust)
곱하기 Contextual Modifier (stamina, minute, morale 등)
Leaf Execution
선택된 branch의 행동 실행
선수 trait/stats가 성공률과 애니메이션 선택에 영향
🎯 영향도 크기 비교
변수
영향도
팀전술
매우 큼 (Global)
참여도
큼 (Branch Weight Multiplier)
개인지침
매우 큼 (Branch Filter / Constraint)
선수 trait/stats
중간~큼 (Execution Success + Weight Adjust)
✔ 즉, 팀전술과 개인지침은 행동 자체를 enable/disable 하는 변수, ✔ 참여도는 ‘어떤 행동 branch를 더 선호할지’ 조절하는 multiplier, ✔ 선수 trait/stats는 실행 성공률과 범위에 영향.
✔ FIFA 엔진 구조상:
팀전술 → 참여도 → 개인지침 → 선수 trait/stats 순으로 적용.
팀전술과 개인지침은 행동 enable/disable 역할,
참여도는 행동 weight multiplier,
선수 trait/stats는 실행 성공률과 추가 weight adjust 역할.
🔬 Behavior Tree 적용 구조
팀 성향 설정 → Root Decision 단계에서 전체 전술 Context Override
팀전술 수치에 scalar multiplier 적용 (공격수치 up, 수비수치 down 혹은 반대)
참여도 weight factor에도 간접 영향 (매우 공격적시 공격 참여 branch weight 상승)
🔑 Hidden Slot Matrix: 전술+지침+트레이트로 발동되는 은닉 슬롯 기반 시너지 시스템 🔑 Frame Chain Table: FPV 기반 애니메이션 우선순위 체인 실행 → 유틸리티 스케일링 반영 🔑 Scaling Application: 발동 시 성공 프레임 윈도우 확장 + 발동속도 증가를 Utility Scaling Framework가 계산 🔑 Override Rule: 높은 Tier 슬롯 체인이 하위 슬롯을 무효화