from논to문

적응형 NPC를 생성하는 행동 정보 관리 기법 / 김나라 엄기현 조경은

snachild 2015. 12. 22. 13:29

(한국게임학회 논문지, Vol.8 No.1, [2008])

요약

최근 게임의 종류가 다양해지고 접할 기회가 많아지면서 게임을 즐기는 사용자의 성향과 수준도 다양해지고 있다. 기존의 NPC는 행동이 단순하고 획일적이기 때문에 다양한 사용자를 상대하는데 한계가 있다. 따라서 각기 다른 사용자와 비슷한 수준으로 대응할 수 있는 적응형 NPC를 생성하는 기술이 필요하다. 본 논문은 적응형 NPC를 생성하기 위한 행동 정보 관리 기법을 제안한다 행동정보 저장 방법은 적응형 NPC가 사용자의 행동을 관찰하고 (상태-행동)의 관계로 정보를 수집한다. 수집한 행동 정보의 효율 값을 구하고 유사한 상태정보들은 군집화하여 행동 데이터베이스에 저장한다. 게임시스템은 행동 데이터베이스를 갱신하며 다양한 행동을 저장하고 효율 값이 좋은 행동을 선택하여 사용자에게 적응해 가는 NPC를 생성한다. 본 연구에서 제안한 적응기법을 액션 게임에 적용하여 실험하였다 임의의 실험자는 적응형 NPC와 실시간으로 1:1 전투를 한다. 게임 결과 로그파일을 통해 실험자와 NPC의 행동 성향을 분석하여 유사성을 판단한다. 다양한 실험 결과의 통계에서 오차율 6% 이내의 사용자와 비슷한 수준으로 적응해 가는 NPC를 생성할 수 있었다.


거의 모든 컴퓨터 게임에 인공지능 기술 적용. 추세 계속됨
[1] AI 에이전트 NPC 기반의 게임 스타일 이식 엔진 개발 보고서, 정보통신부, 2004.


"용병"이라고 불리는 NPC는 사용자가 전투할 때 도움을 주는 캐릭터. 사용자와 전투중인 몬스터 공격, 사용자 캐릭터에게 이롱누 마법을 사용하여 좀 더 쉽게 전투. 물건을 사고 팔 수 있도록 '상인'과 같은 중개인의 역할을 하는 NPC.

적응형 캐릭터를 만들기 위해서 High, Mid, Low의 세 단계로 학습 시스템 구성
Low 레벨 : 관찰을 기본으로 하는 추론 시스템으로 행동을 선택
Mid 레벨 : 경험과 계획 기반의 작업 선택 시스템으로 일을 선택하여
High 레벨 : 감정적인 상태를 감지하는 시스템으로 목적을 선택하기 위해 사용됨

동적 스크립팅 기술 : 행동 규칙 기반의 적응 기법. 스크립트의 갱신을 통해 사용자에게 적응.

신경망 이용한 적응기법 : NPC가 상대방 캐릭터의 행동 및 거리가 어느 정도인지 관찰 > 관찰 정보를 신경망에 입력 > 신경망 통해 출력된 결과를 이용해서 초기 NPC는 행동을 무작위로 선택하여 규칙 학습 > 이후 상대방과의 행동의 결과로 얻은 게임점수를 강화값으로 사용됨. / 원하는 결과 노드값이 나오도록 적절한 가중치를 설정하는 과정이 어렵다. + 기초 학습하는 데 시간 필요

사용자 기반 상호작용 알고리즘 : 유전자 알고리즘 사용, 유전자 초기화 단계에서 초기 게임의 집합 세대 구성, 이후 게임 난이도와 적응도 요소를 이용해 만든 적합도 평가 > 세대 계산}}


<행동 정보 관리 기법>으로 NPC를 생성해야 하는 이유
NPC 스스로 다양한 행동 정보들을 저장하고 관리할 수 있는 능력이 필요

[상태-행동]의 관계 정의와
[상태-행동]의 효율값 계산}}유사한 상태의 클러스터링 : 10.1m와 10m, 체력 99%와 100%...비슷한 상태인데도 전혀 다른 상태 정보로 저장되어 정의하기 힘들고 불필요한 정보의 양이 많아짐
적응형 NPC 행동 데이터베이스의 절차

상태는 게임의 환경 정보로 게임의 모든 상황을 표현하는 정보. ex) 사용자와 NPC 사이의 거리와 캐릭터의 시선, 공격력, 체력수치 등


상태 정보 수집 : 거리 / 방향 / 수치 / 시간
행동 정보 수집 : 행동 (단일 행동, 연속된 행동)


<<헐... 2D 액션 게임까지 만들어서 이거 실험해 봄. 엄청 괜찮은 연구잖아...
<<사용자에 따라.. 사용자의 패턴을 학습해서 도우미 NPC처럼 쓰는 건가??