
JEV 게임 AI는 NPC의 의사결정을 위한 전술적 계층으로 가장 잘 이해됩니다. 매 프레임마다 NPC의 변환을 구동하려고 시도하지 않습니다. 대신 게임의 의미 있는 스냅샷을 살펴보고 법적 의도를 선택한 다음 엔진이 탐색, 애니메이션, 능력 및 규칙을 통해 해당 의도를 실행하도록 합니다.
게임 루프에는 다양한 종류의 작업이 포함되어 있으므로 이러한 구별이 중요합니다. 렌더링 및 물리학은 모든 프레임에서 실행될 수 있습니다. 탐색 및 애니메이션은 지속적으로 업데이트될 수 있습니다. 전술적 결정은 종종 이벤트, 타이머 또는 의미 있는 상태 변경을 기다릴 수 있습니다. JEV은 루프의 더 느리고 값이 높은 부분에 속합니다.
JEV이 게임 루프에 적합한 위치
분대 기반 만남을 상상해 보세요. 한 NPC의 체력이 낮고 적이 시야로 이동했으며 근처의 벽이 엄폐물을 제공하고 분대의 힐러가 사용 가능한 능력을 가지고 있습니다. 게임은 이러한 사실을 압축된 상태로 직렬화하고, Legal Actions을 노출하고, JEV에 다음 인텐트를 선택하도록 요청할 수 있습니다. 그런 다음 은폐하고 치유를 요청과 같은 응답이 일반 게임 시스템에 의해 검증되고 실행됩니다.
- 관찰: 권위 있는 세계에서 관련 사실을 수집합니다. state.
- Filter: 전제 조건이 다음과 같은 작업을 제거합니다. false.
- Decide: 남은 작업을 목표, 위험 및 resources.
- 실행: 선택한 인텐트를 이동, 능력, 애니메이션에 보냅니다. Systems.
- 재평가: 작업이 완료되거나 무효화되거나 상황이 발생하면 다시 호출하세요. 변경됩니다.
NPC은 어떤 상태를 노출해야 합니까?
좋은 상태는 철저하기보다는 의사결정과 관련이 있습니다. 여기에는 건강 및 체력, 알려진 적, 시야, 엄호 후보, 동맹 요구 사항, 현재 목표, 대상까지의 거리, 재사용 대기시간, 탄약, 인벤토리 및 활성 작업 상태가 포함될 수 있습니다. 또한 마지막으로 관찰된 위협이나 아군이 마지막으로 목격된 위치와 같은 소량의 메모리도 포함될 수 있습니다.
전 세계의 모든 객체를 전송하면 결정을 해석하기가 더 어려워지고 비용과 대기 시간이 늘어납니다. 컴팩트 상태 계약은 테스트도 향상시킵니다. 프롬프트, 정책 또는 게임 밸런스 변경 후 동일한 스냅샷을 재생하여 Choice을 비교할 수 있습니다.
Legal Actions이 중요한 이유
JEV은 게임이 이미 승인한 작업 중에서 선택해야 합니다. 작업에는 이름, 매개변수, 전제 조건, 예상 기간 및 비용이 포함될 수 있습니다. 예에는 attack(targetId), moveTo(locationId), heal(targetId), 후퇴(routeId) 및 관찰(지역 ID).
허용된 행동 목록은 안전 경계이자 설계 도구입니다. 이는 부상당한 NPC이 사용할 수 없는 능력을 선택하는 것을 방지하고 디자이너에게 캐릭터가 할 수 있는 작업을 제어할 수 있게 하며 출력을 쉽게 검증할 수 있도록 합니다. 목록에 없는 작업은 옵션이 아닙니다.
JEV이 공격, 후퇴, 치료 또는 탐험을 선택하는 방법
JEV 결정은 행동이 실제 절충안을 나타낼 때 유용합니다. 공격하면 위협이 빠르게 제거될 수 있지만 NPC이 노출됩니다. 후퇴하면 분대를 보존할 수 있지만 목표를 포기할 수 있습니다. 치유는 생존율을 향상시킬 수 있지만 재사용 대기시간이 소모됩니다. 탐색을 통해 노출을 늘리면서 경로나 자원을 발견할 수 있습니다. 모델은 이러한 균형을 의미 있게 만드는 목표와 제약 조건을 받아야 합니다. 게임은 여전히 범위, 소유권, 재사용 대기시간, 충돌과 같은 엄격한 규칙을 정의해야 합니다.
디자이너는 우선순위와 위험 예산에 따라 행동을 형성할 수도 있습니다. 보스와의 만남은 압박감을 주는 반면, 동료 NPC은 생존과 지원을 선호할 수 있습니다. 이러한 선호 사항은 자의적인 산문에 숨겨져 있는 것이 아니라 국가 또는 정책 계약에 표시되어야 합니다.
JEV이 모든 프레임을 제어하면 안되는 이유
프레임별 제어로 인해 불필요한 대기 시간, 비용 및 지터가 발생합니다. 또한 결정론적 시스템이 일반적으로 더 나은 낮은 수준의 조향과 전술적 의도를 혼합합니다. 보다 안정적인 패턴은 목표가 변경되거나, 작업이 완료되거나, 위협이 나타나거나, 대상이 손실되거나 결정 타이머가 만료될 때 결정을 요청하는 것입니다.
정확한 흐름은 게임에 따라 다릅니다. 턴 기반 게임은 턴당 한 번 결정할 수 있습니다. 실시간 전술 게임은 이벤트로 인해 긴급 변경이 요청되는 활성 전투 중에 수백 밀리초마다 결정을 내릴 수 있습니다. 탐험 게임의 동반자는 덜 자주 결정을 내릴 수도 있습니다. 올바른 빈도는 NPC의 행동 반응을 유지하면서 행동할 시간을 주는 것입니다.
JEV 및 기존 NPC AI
A 프로덕션 NPC은 여러 시스템을 결합할 수 있습니다. 인식은 사실을 수집합니다. JEV은 인텐트를 선택합니다. 동작 트리 또는 상태 머신이 의도를 실행합니다. 내비게이션이 경로를 찾습니다. 애니메이션과 능력은 프리젠테이션과 효과를 처리합니다. 게임 서버는 권한을 검증합니다. 이러한 분리로 인해 각 시스템의 프로파일링 및 교체가 더 쉬워졌습니다.
JEV을 사용할 수 없거나 잘못된 Choice을 반환하는 경우 NPC은 작성된 정책으로 대체될 수 있습니다. 예를 들어, 경비원은 가장 가까운 안전 지점으로 후퇴할 수 있고 동료는 엄폐물 뒤에 머물 수 있습니다. 대체 정책은 시스템이 실패했다는 신호가 아닙니다. 이는 강력한 게임 디자인의 일부입니다.
실질적인 채택 체크리스트
- 1개의 NPC 역할과 3~6개의 의미 있는 작업으로 시작합니다.
- 상태 스키마를 충분히 작게 유지하세요. 로그에서 검사합니다.
- 현재 권한 있는 상태에 대해 모든 응답을 검증합니다.
- 의사 결정 예산과 명확한 시간 초과.
- 상태, Legal Actions, 응답 및 재생 테스트 결과를 기록합니다.
- 전술 측정 대기 시간 및 인프라 비용과 별도로 품질을 관리합니다.
일반적인 정의 및 비교를 보려면 JEV이란 무엇입니까?을 읽어보세요. 전체 구현 경로를 보려면 JEV 튜토리얼.


