실행 관리(게임 AI)
실행 관리(게임 AI)(Execution Management)는 게임의 성능을 유지하면서 다수의 AI 시스템을 효율적으로 구동하기 위한 인프라 기술을 다룬다. 게임은 실시간으로 프레임을 생성해야 하므로 AI 연산이 프레임 드랍을 유발하지 않도록 관리하는 것이 핵심이다.
성능 제약 사항
- CPU 자원 배분: AI는 게임 로직, 물리, 렌더링과 CPU 자원을 공유한다. 전체 연산량의 일정 비율(보통 10~20%) 내에서만 실행되어야 한다.
- 메모리 관리: 대규모의 에이전트가 존재하는 경우, 각 에이전트가 사용하는 데이터 크기를 최소화해야 한다.
주요 관리 기법
- 스케줄링 (Scheduling): 모든 에이전트를 매 프레임 업데이트하는 대신, 중요도에 따라 업데이트 빈도를 조절하는 방식.
- 시분할 처리(Time-Slicing): 연산량이 큰 작업(예: 경로 탐색)을 여러 프레임에 나누어 수행한다.
- LOD (Level of Detail): 플레이어와 먼 거리에 있는 AI는 단순한 로직을 적용하거나 업데이트 주기를 대폭 늘린다.
- 부하 분산 (Load Balancing): 프레임당 수행할 AI 연산의 최대치를 설정하고, 이를 초과할 경우 다음 프레임으로 작업을 넘기는 방식.
- 멀티스레딩: AI 연산을 메인 스레드와 분리하여 별도의 CPU 코어에서 병렬로 처리한다.
관련 시스템
- 메시징 시스템: 에이전트 간 혹은 시스템 간의 통신을 비동기적으로 처리하여 결합도를 낮춘다.
- 이벤트 드리븐 구조: 특정 사건이 발생했을 때만 관련 AI 로직을 깨워 연산 낭비를 줄인다.