최근 컴퓨터 게임은 점점 복잡해지며 게임 이용자들은 컴퓨터에 의해 행동하는 NPC들이 보다 사실적이며 세련되길 원하기 때문에 게임NPC 개발자들은 인공지능 측면에서 보다 많은 노력을 기울일 필요가 있다. 이에 따라, 게임 NPC 지능 개발을 위한 플랫폼은 보다 사실적이며 반응적이고 쉬운 NPC 개발을 위해 실시간, 독립성, 유연성, 그룹 행동을 비롯한 다양한 인공지능을 지원해야 한다. 본 논문에서는 이전 플랫폼들의 문제점들을 알아보고, 해결하기 위한 게임 NPC 지능 개발 플랫폼의 구조를 제안한다. 제안하는 플랫폼은 4개의 모듈로 구성되며, 부하분산을 통해 기존 플랫폼들보다 높은 성능을 보여주며, 각 모듈을 통해 다양한 인공지능 기법 지원, 효율적인 그룹 행동, 다양한 게임 환경에서 독립적인 NPC 개발과 같은 장점들을 가진다.
최근 컴퓨터 게임은 점점 복잡해지며 게임 이용자들은 컴퓨터에 의해 행동하는 NPC들이 보다 사실적이며 세련되길 원하기 때문에 게임NPC 개발자들은 인공지능 측면에서 보다 많은 노력을 기울일 필요가 있다. 이에 따라, 게임 NPC 지능 개발을 위한 플랫폼은 보다 사실적이며 반응적이고 쉬운 NPC 개발을 위해 실시간, 독립성, 유연성, 그룹 행동을 비롯한 다양한 인공지능을 지원해야 한다. 본 논문에서는 이전 플랫폼들의 문제점들을 알아보고, 해결하기 위한 게임 NPC 지능 개발 플랫폼의 구조를 제안한다. 제안하는 플랫폼은 4개의 모듈로 구성되며, 부하분산을 통해 기존 플랫폼들보다 높은 성능을 보여주며, 각 모듈을 통해 다양한 인공지능 기법 지원, 효율적인 그룹 행동, 다양한 게임 환경에서 독립적인 NPC 개발과 같은 장점들을 가진다.
As computer games become more complex and consumers demand more sophisticated computer controlled NPCs, developers are required to place a greater emphasis on the artificial intelligence aspects for their games. The platform for game NPC Intelligence Development should support real-time, independenc...
As computer games become more complex and consumers demand more sophisticated computer controlled NPCs, developers are required to place a greater emphasis on the artificial intelligence aspects for their games. The platform for game NPC Intelligence Development should support real-time, independence, flexibility, group behavior, and various A.I to NPC that are reactive, realistic and easy to develop. This paper presents an architecture to satisfy these criteria for the platform of game NPC intelligence development. The proposed platform shows the higher performance than existing platform through the load sharing, and it also has some advantages which are supporting the various AI techniques, efficient group behavior, and independence to develop NPC intelligence.
As computer games become more complex and consumers demand more sophisticated computer controlled NPCs, developers are required to place a greater emphasis on the artificial intelligence aspects for their games. The platform for game NPC Intelligence Development should support real-time, independence, flexibility, group behavior, and various A.I to NPC that are reactive, realistic and easy to develop. This paper presents an architecture to satisfy these criteria for the platform of game NPC intelligence development. The proposed platform shows the higher performance than existing platform through the load sharing, and it also has some advantages which are supporting the various AI techniques, efficient group behavior, and independence to develop NPC intelligence.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
. 본 논문에서는 기존 플랫폼 연구에서의 문제점들을 알아보고 이를 해결할 수 있는 플랫폼의 구조를 제안한다. 또한, 제안하는 플랫폼 구조를 바탕으로 플랫폼을 구현하여 기존 플랫폼들과의 성능을 비교, 평가한다.
본 논문에서 게임 NPC 지능 개발 플랫폼 구조를 위한 요구사항을 분석하고, 이를 만족하는 플랫폼 FPAGNID를 제안하였다. FPAGNID는 게임 환경과 독립적으로 게임 NPC DLL을 개발할 수 있으며, 이를 통해 다양한 게임 환경을 지원하고, 실시간을 만족하기 위해 부하를 분산하며 게임 서버의 자원을 선점하지 않는다.
본 절에서는 게임 NPC 지능 개발의 효율성을 높여주는 FPAGNID(Flexible Platform Architecture for Game NPC Intelligence Development) 의 모듈 구성과 3 절에서 언급한 요구사항들을 만족시키는 방법에 대해 설명한다.
가설 설정
. 실시간성 : NPC가 게임과 상호작용하기 위해서 플랫폼은 반드시 실시간성을 보장해야 한다. 이것은 플랫폼이 게임 서버의 성능을 저하 시키지 않고, 게임 서버의 자원을 선점하지 않아야 함을 뜻한다.
.그룹 행동 : 플랫폼은 그룹 행동을 쉽고 간단하게 개발할 수 있는 수단과 게임 환경과 효율적인 상호작용 방법을 제공해야 한다. 게임 서버의 팀플레이 지원과 독립적으로, 플랫폼은 게임 NPC들 간의 그룹 행동을 지원할 수 있어야 한다.
.다양한 인공지능 기법 : 플랫폼은 다양하고 사실적인 NPC를 위해 규칙 기반 시스테 유한 상태 머신, 퍼지 논리, 신경망, 유전자 알고리즘 등과 같은 다양한 인공지능 모듈들과 이를 효율적으로 구성할 수 있는 환경을 지원해야 한다. 이러한 모듈들은 게임 NPC 지능 개발을 보다 쉽게 해주는 수단을 제공한다.
3. 팀 지능 조절기는 게임 NPC 수행기에 전송.
제안 방법
팀 지능 조절기의 효율성을 알아보기 위해 Pac-Man 게임에서 그룹행동을 수행하는 NPC의 수를 증가시키며 팀 지능 조절기를 사용 여부에 따라 게임 서버의 성능과 한 프레임당 사용하는 전체 네트워크 패킷 크기를 측정, 비교하였다. 실험에 사용된 NPC 는 unit-center reference 기법 皿을 이용한 line 포메이션时 을 유지하며 플레이어의 위치로 이동하게 된다.
플랫폼을 이루고 있는 모듈의 구성에 따른 부하 분산의 결과를 알아보기 위해 각 경우에서 게임 서버의 성능을 측정하였다. 실험에 사용된 NPC는 규칙기반 시스템에 의해 자신의 체력에 따라 시야에 들어오는 NPC를 인식하고 공격하거나 회피하는 지능을 수행한다.
대상 데이터
게임 NPC 수행기는 현재 파이썬을 이용한 스크립팅, XML을 이용한 규칙 기반 시스템 퍼지 논리, 유한 상태기, 신경망, 유전자 알고리즘을 DLL을 통해 NPC DLL이 사용할 수 있도록 지원하고 있다. 본 실험에 사용된 게임 서버로 상업용 FPS 게임인 Quake 2와 DDaneworks를 기반으로 한 Pac-Man이 사용되었다. 본 실험에 사용된 게임 NPC 지능들은 게임 NPC 수행기 환경에서 DLL로 구현되었다.
실험에 사용된 NPC 는 unit-center reference 기법 皿을 이용한 line 포메이션时 을 유지하며 플레이어의 위치로 이동하게 된다. 이를 위해 사용되는 패킷은 NPC ID를 포함하는 4바이트 헤더 정보와 NPC 위치정보와 상태정보를 포함하는 12바이트를 합해 총 16바이트로 이루어지며, 그룹행동을 위해 팀 지능 조절기가 각 NPC에 전달하는 명령 정보는 헤더 4바이트와 그룹 명령 4바이트와 중간 위치 정보 8 바이트로 총 16바이트로 구성된다. 그룹 행동을 위한 명령 패킷은 그림 6에 설명된 방법에 따라 게임서버와 팀 지능 조절기에 의해 생성되며 NPC에 전달된다.
데이터처리
본 논문에서는 기존 플랫폼 연구에서의 문제점들을 알아보고 이를 해결할 수 있는 플랫폼의 구조를 제안한다. 또한, 제안하는 플랫폼 구조를 바탕으로 플랫폼을 구현하여 기존 플랫폼들과의 성능을 비교, 평가한다.
이론/모형
기법을 이용할 수 있다. 게임 NPC 수행기는 다수의 NPC DLL을 실행하고, 그 결과인 NPC의 명령 정보를 팀 지능 조절기에 전달하기 위해 멀티 쓰레드 기법을 이용한다. 멀티 쓰레드 기법을 통해 게임 NPC 수행기는 다수의 NPC DLL을 병렬적으로 실행시킨다.
성능/효과
.독립성: 사실적인 NPC와 다양한 게임 환경을 지원하기 위해 플랫폼은 게임환경과의 독립성을 지원해야 한다. 독립성은 사실성을 위해 게임 이용자가 이용할 수 있는 정보 수준의 제한을 두게 하며, 게임 NPC 지능을 게임 환경과 독립적으로 개발 할 수 있게 한다.
2. 통신 메니저는 연결된 게임 서버 목록에 새로운 게임 서버 ID 저장 및 팀 지능 조절기에 전달.
4. 게임 NPC 수행기는 NPC 등록 시 NPC가 동작할 게임 서버 ID 와 NPC ID를 데이터 헤더에 포함 시킨 후 팀 지능 조절기에 전달.
각 실험의 결과를 통해 모듈을 통한 부하분산과 그룹 행동을 위해 팀 지능 조절기의 사용이 게임 서버의 성능과 네트워크 자원 사용에 있어 기존 플랫폼보다 효율적임을 알 수 있다. 또한, 하나의 게임 환경을 지원하는 Gamebots⑸와 달리 Quake2 와 Pac-Man 게임 환경에서의 실험을 통해 다양한 게임 환경을 지원함을 보여주었다.
1보다 작음을 보여준다. 또한, 게임 서버의 부하가 NPC 수 n에 지수적으로 증가하는 CASE 1과 선형적으로 증가하는 CASE 2에서의 성능 차이는 NPC의 수 耸2에 비례하여 증가함을 알 수 있다. 이것은 FPAGNID의 팀 지능 조절기를 통해 기존보다 많은 수의 팀NPC의 그룹 행동을 정의할 수 있음을 의미한다.
알 수 있다. 또한, 하나의 게임 환경을 지원하는 Gamebots⑸와 달리 Quake2 와 Pac-Man 게임 환경에서의 실험을 통해 다양한 게임 환경을 지원함을 보여주었다.
또한, 게임 NPC 수행기를 통해 다양한 인공지능기법을 지원하며, 팀 지능 조절기는 스포츠 게임과 같은 팀 행동을 필요로 하는 게임에서 기존 플랫폼들 보다 효율적으로 그룹 행동을 지원한다. 마지막으로, FPAGNID는 각 모듈의 부하 분산을 통해 기존 플랫폼보다 높은 성능을 보여주었다. 이러한 게임 NPC 지능개발 플랫폼을 통해 보다 사실적인 게임 NPC에 대한 연구와 다양한 게임 환경에 표준적으로 적용될 수 있는 월드 인터페이스에 관한 연구가 필요하다.
실험 결과는 case 1 > case 2 > case 3 > soar171 순으로 높은 성능을 보여주었다. 모든 경우에 있어 기존 플랫폼인 soar보다 높은 성능을 보여주며, 각 모듈을 독립적인 머신에서 동작 시켜 부하를 분산하였을 경우더 높은 성능을 보임을 알 수 있다. 이것은 게임 서버가 기존 플랫폼에서 많은 지능 NPC를 수행하기 힘든 것과 달리 FPAGNID를 통해 보다 더 많은 지능 NPC를 수행할 수 있음을 의미한다.
참고문헌 (11)
Brian Schwab, 'AI GAME ENGINE PROGRAMMING', Charles River Media, 2004
Alex J., 'AI Game Development Synthetic Creatures with Learning and Reactive Behaviors', 2003
Rosenbloom, P., Laird, J.E., and Newell, A. 'The Soar Papers: Readings on Integrated Intelligence', MIT Press, 1993
Van Lent, M. C. and Laird, J. E., 'Developing an Artificial Intelligence Engine', In Proceedings of the Game Developers'Conference, San Jose, Calif. Forthcoming, 1999
Adobbati, R.,'GameBots: A 3D virtual world test bed for multiagent research', In Proceedings of the Second International Workshop on Infrastructure for Agents, MAS, and Scalable MAS, 2001
Laird, J.E. and van Lent, M 'Human-level AI's Killer Application: Interactive Computer Games.', AAAI Fall Symposium Technical Report, North Falmouth, Massachusetts, pp. 80-97, 2000
Laird, J. E. 'It Knows What You're Going to Do: Adding Anticipation to a Quakebot.', AAAI 2000 Spring Symposium Series: Artificial Intelligence and Interactive Entertainment, AAAI Technical Report SS00 -02, 2000
Laird, J. E., Assanie, M., Bachelor, B., Benninghoff, N.,Enam, S., Jones, B., Kerfoot, A., Lauver, C., Magerko, B.,Sheiman, J., Stokes, D., and Wallace, S. 'A Test Bed for Developing Intelligent Synthetic Characters.', AAAI 2002 Spring Symposium Series: Artificial Intelligence and Interactive Entertainment, 2002
Cantu-Paz E, 'A survey of parallel genetic algorithms, Calculateurs Paralleles, Paris: Hermes', 10,2, pp. 141-171, 1998
J. Faerber, 'Traffic Modelling for Fast Action Network Games', ACM Multimedia Tools and Applications, Vol. 23, Issue 1, pp. 31- 46, 2004
Tucher Balch, Ronald C.arkin, 'Behavior-Based Formation Control for Multirobot Teams', IEEE Transaction on Robotics and Automation, vol. 14, no. 6, pp. 926-939, 1998
※ AI-Helper는 부적절한 답변을 할 수 있습니다.