달력

7

« 2025/7 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2010. 4. 20. 14:20

[e세상] FPS 게임의 역사는? AI and Game2010. 4. 20. 14:20

 
▲ FPS의 원조인 '울펜슈타인 3D'
FPS는 게임의 진화와 궤적을 같이해 왔다. FPS의 원조는 '울펜슈타인 3D'다. 미국의 게임개발사인 ID소프트웨어가 1992년 선보인 이 게임은 지금 기준으로 볼 때 조잡하지만, 당시엔 혁신적이었다. 2D에 익숙해 있던 당시 상황에서 게임 속 시야와 게이머의 시야를 일치시킨 울펜슈타인 3D는 충격적 경험 그 자체였다.


ID소프트웨어는 1994년 저 유명한 '둠(Doom)'을 발표한다. FPS에 호러적 요소를 가미한 둠은 전대미문의 성공을 거둔다. FPS의 뼈대는 둠에서 대부분 다져졌다. 1995년 '둠2'가 그 인기를 이어받으며 잔인한 연출로 폭발적 인기몰이를 했지만, 둠에 빠진 10대가 학교에서 친구를 총으로 쏴 살해하는 사건이 발생하자 피해자 부모가 ID소프트웨어에 소송을 제기하는 등 FPS의 유해성 시비를 낳았다.



ID소프트웨어는 1996년 '퀘이크'를 내놓는다. 기존의 FPS는 3D를 표방했지만 화면 속 배경과 사물은 사실상 2D였다. 기존의 FPS가 '무늬만 3D 게임'이었다면 퀘이크는 명실상부한 3D게임이었다. 퀘이크에 이르러서야 FPS 속 캐릭터와 사물, 배경은 모두 3D 게임으로서 완벽한 3차원 값을 가지게 됐다.


1998년 FPS 게임의 방향을 바꾼 '하프라이프'와 '레인보우 식스'가 등장한다. 하프라이프는 영화를 방불케 하는 흥미진진한 이야기 전개로 FPS의 역사를 새로 썼고 '카운터 스트라이크' 등 수많은 개조게임(MOD)을 배출했다. 레인보우 식스는 극히 사실적인 설정과 스토리·다양한 미션을 통해 FPS 다양화에 기여했다.



카운터 스트라이크와 레인보우 식스의 성공은 '메달 오브 아너' '콜 오브 듀티' '고스트 리콘' 등 사실적인 밀리터리물의 확산으로 이어졌다.


2000년대 들어서면서부터는 온라인 방식의 FPS 게임이 각광받는다. 단조로운 인공 지능을 가진 컴퓨터와의 총싸움에 질린 게이머들은 인터넷으로 연결된 다른 게이머와의 경쟁에 빠져들었다. '퀘이크2'를 시작으로 FPS 게임들은 멀티 플레이 기능을 지원하기 시작했으며 '퀘이크3'는 아예 싱글플레이 기능을 뺐다.

멀티 플레이 전용 FPS 게임인 '카운터 스트라이크'가 해외에서 전대미문의 성공을 거두자 국내에서도 '카르마 온라인'을 필두로 '스페셜포스' '서든어택' 등 온라인 전용 FPS가 출시돼 한국에서의 FPS 열풍을 이끌었다.

김해용기자


출처 ;
http://www.imaeil.com/sub_news/sub_news_view.php?news_id=42916&yy=2007


:
Posted by 졸가메
2010. 4. 20. 10:35

패턴 인식 Reference Something2010. 4. 20. 10:35

패턴 인식

위키백과 ― 우리 모두의 백과사전.

패턴인식의 정의

패턴인식(Pattern Recognition)은 인지과학(Cognitive Science)과 인공지능(Artificial Intelligence) 분야에 속하는 문제 중 하나이다. 인지과학은 심리학, 컴퓨터 과학, 인공지능, 신경생물학과 언어학, 철학을 이용하여 지능과 인식의 문제를 다루는 포괄적인 학제적 과학 분야를 말하며, 인공지능은 인간의 학습능력과 추론능력을 인공적으로 모델링하여 외부 대상을 지각하는 능력, 나아가 자연언어와 같은 구문적 패턴까지 이해하는 능력 등을 컴퓨터 프로그램으로 구현하는 기술을 말한다.

인공지능에 관한 연구는 현재 지능형 시스템(Intelligence System)이라는 인공지능에 기반한 정보 시스템 분야로까지 발전하고 있다. 정보화 시대에 쉽게 얻을 수 있는 수많은 데이터들을 적절히 가공하는 것은 물론 정보의 표현과 처리에도 지능형 시스템이 적용되고 있으며 금융, 제조, 스포츠, 서비스 분야 등의 비정보기술 부문에까지 널리 이용되고 있다.

패턴인식은 공학적 접근법을 이용하여 인공지능의 실제 구현 문제인 센싱된 대상을 인식하는 문제를 주로 다룬다. 패턴인식을 여러 방식으로 정의할 수 있겠지만 "계산이 가능한 기계적인 장치(컴퓨터)가 어떠한 대상을 인식하는 문제를 다루는 인공지능의 한 분야"라고 정의한다.


출처 : 위키피디아 코리아. : http://ko.wikipedia.org/wiki/패턴_인식

'Reference Something' 카테고리의 다른 글

인공지능  (0) 2010.04.20
읽을 거리 - How AI in Games Works [번역]  (0) 2010.04.20
:
Posted by 졸가메
2010. 4. 20. 10:34

인공지능 Reference Something2010. 4. 20. 10:34


ArtificialFictionBrain.png

인공지능(人工知能)은 철학적으로 인간이나 지성을 갖춘 존재, 혹은 시스템에 의해 만들어진 지능, 즉 인공적인 지능을 뜻한다. 일반적으로 범용 컴퓨터에 적용한다고 가정한다. 이 용어는 또한 그와 같은 지능을 만들 수 있는 방법론이나 실현 가능성 등을 연구하는 과학 분야를 지칭하기도 한다.


개요 

인공지능이 무엇이냐는 질문은 두 가지로 나눌 수 있다. "인공이란 무엇인가?"와 "지능이란 무엇인가?"이다. 첫째 질문은 꽤 답하기 쉽지만, 무엇을 인공적으로 만들 수 있는가 하는 질문을 낳는다. (여기서 만든다는 것은 고전적인 연산 시스템과 같은 특정 형태의 시스템 하에서 이루어 질 것, 인공적 제조 공정이 존재할 것, 그리고 인간 지능의 한계라는 테두리 안에서 이루어진다.)

둘째 질문에 대답하기는 훨씬 어려운데, 이는 의식이나 자아 혹은 심리(무의식을 포함해서) 등이 무엇인가, 그리고 우리가 연구할 수 있는 유일한 종류의 지능인 인간의 지능은 어떠한 요소로 구성되어 있는가 하는 문제를 제기하기 때문이다. 인간의 지능적인 행동을 연구하거나 이해하는 것은 무척이나 어렵고 복잡한 작업이다. 기존의 모델과 다른 각도에서 접근하고 있는 동물과 인공지능의 관계에 대한 연구는 그 타당성을 널리 인정받고 있다.

개념이 뚜렷한 형태의 일부 인공지능은 아래에 설명되어 있다. 인공지능의 주제별 분류, 역사, 그리고 주제별 장단점 및 응용 사례에 대해서 기술되어 있다. 끝으로 인공지능이 등장하는 소설 및 비소설 목록이 마련되어 있다.



출처 : http://ko.wikipedia.org/wiki/인공지능



'Reference Something' 카테고리의 다른 글

패턴 인식  (0) 2010.04.20
읽을 거리 - How AI in Games Works [번역]  (0) 2010.04.20
:
Posted by 졸가메

[지디넷코리아]PVP (Player VS Player)는 플레이어와 플레이어의 대립을 설명할 때 쓰는 단어로서 공성전이나 개인간의 대결과 같이 플레이어가 다른 플레이어와 겨루는 상황을 PVP로 표현한다.

 

반면 PVE (Player VS Environment)는 플레이어가 게임내의 환경과 대립하는 것으로서 던전을 클리어 하거나 몬스터를 공격하는 일련의 모든 액션이 PVE에 해당된다.

 

게임순위사이트 게임노트(http://gamenote.gameangel.com)에서 급격한 순위변화를 보이며 인기몰이를 하고 있는 게임들을 살펴보면 PVE 콘텐츠에 대한 유저의 호응이 점차 커져가고 있음을 알 수 있다.

 

이는 유저간 대립으로 인한 과중한 스트레스와 심한 공격적 경쟁에 지친 유저들이 적은 스트레스와 협동 자체를 즐기는 쪽으로 성향이 바뀌어가고 있는 것으로 보인다. 또한 과거처럼 오랜 시간을 게임에 몰입하기 보다는 짧고 간단하게 게임을 즐기려는 유저들이 늘어가고 있는 것도 한몫하고 있다.

 

■FPS장르 PVE 추가로 인기 상승

 

최근 전통적인 PVP 기반 작품인 FPS 장르에 PVE 모드를 추가하는 사례가 늘어나고 있다. 대표적인 예로 최근 3차례에 거친 대규모 PVE모드 업데이트를 통해 큰 인기를 얻고 있는 ‘메탈레이지’를 꼽을 수 있다.

 

CJ인터넷과 게임하이가 공동으로 서비스하는 3인칭 메카닉 슈팅액션 ‘메탈레이지’는 지난 5월부터 PVE 관련 모드를 지속적으로 업데이트하여 현재는 게임의 핵심 콘텐츠로 자리 잡은 분위기다. 특히 ‘메탈레이지’의 PVE모드는 마치 MMORPG의 레이드 모드를 연상시킬 정도로 역동적인 연출과 방대한 스케일을 자랑한다.

 

▲ 메탈레이지
금주 세 번째 PVE모드인 밴디드 업데이트를 통해 유저들에게 큰 호응을 받은 ‘메탈레이지’는 게임순위에서도 무려 37계단이나 상승한 37위에 올랐다.

 

‘메탈레이지’에 앞서 먼저 PVE모드를 도입한 FPS게임이 있다. 지난해 레드덕의 ‘아바’가 AI(인공지능)모드라는 이름으로 PVE모드를 선보인 바 있다. AI 모드는 각 스테이지 별로 정해진 숫자의 상대를 제한 시간 동안 모두 제압하는 것이 목표이다. 스테이지 단계가 올라갈 수록 난이도가 어려워져 유저들의 도전 욕구를 자극했다. 최근 ‘아바’에 추가된 ‘프리즌브레이크’도 AI 모드이다.

 

드래곤플라이 역시 ‘카르마2’에 PVE 모드를 추가했다. 기존 ‘독일군 VS 소련군’의 대결 구도는 유지하면서 제 3의 세력인 감염자(AI)를 물리쳐서 가장 많은 점수를 획득하는 진영이 승리하는 방식이다.

 

이러한 PVE모드는 게임을 즐긴 지 얼마 되지 않는 초보자들 입장에서는 ‘유저와 유저’의 싸움이 아니기 때문에, 대전 스트레스를 다소 덜 받으면서 호쾌하게 AI들을 쓸어 버릴 수 있다는 점에서 차별화된 재미를 맛볼 수 있게 되었다.

 

■액션RPG에서도 PVE 콘텐츠 보강

 

FPS게임 뿐만 아니라 액션게임에서도 게이머에 버금가는 뛰어난 인공지능(AI)을 무장한 게임들이 등장하며 액션 장르의 PVE모드도 함께 주목 받고 있다.

 

최근 가장 큰 관심을 받고 있는 MORPG ‘C9’(Continent of the Ninth)은 NHN게임즈가 2006년부터 3년여에 걸쳐 기획 및 개발해 온 3D 액션 RPG다. 'C9'은 자체 개발한 엔진으로 현실과 동일한 게임 환경을 연출하면서 현실감 넘치는 캐릭터로 리얼한 타격감을 구현해내 게이머들에게 커다란 반응을 이끌어 내고 있다.

 

▲ C9

 

게임은 MO 형태의 RPG를 베이스로 개발되고 있는 게임이지만 이용자들이 즐길 수 있는 주된 콘텐츠는 별도로 생성되는 던전에서 몬스터들과 전투하는 내용이다. 때문에 몬스터들의 인공지능은 게임에 중요한 요소인데, 몬스터들의 행동과 지능이 뛰어나 게이머들은 던전에서 퍼즐을 풀며 진행하는 듯한 재미를 느낄 수 있다.

 

소스엔진과 데브캣의 만남으로 게임 이용자들이 기대하고 있는 넥슨의 '마비노기영웅전'도 몬스터들과의 전투가 강조된 게임이다.

 

이미 지난 테스트에서 프롤로그만을 공개했을 뿐이지만, 게임특유의 타격감과 액션성, 스토리에 많은 게임 이용자들이 관심을 보이고 있는 상황이다.

 

▲ 테라

특히 개발자들도 인공지능을 가진 몬스터를 쓰러뜨리면서 진행하는 스토리에 게임의 상당 부분을 할애할 정도로 PVE는 게임 내에서 중요한 요소로 자리 잡고 있다. 앞으로 업데이트 될 다양한 내용이 PVE와 연관성을 가지고 있는 것은 물론이고 던전을 중심으로 진행되는 게임 시스템도 인공지능이 중요한 부분으로 작용할 예정이다.

 

이외에도 NHN의 블록버스터급 온라인게임 테라에서도 인공지능을 강화한 PVE에 많은 중점을 두고 개발하고 있다고 밝힌 바 있다.

 

이같이 많은 게임사가 PVE모드와 관련해 흥행 요소로서 많은 재미를 보고 있으며, 이와 관련된 콘텐츠를 더욱 보강할 의사를 내비치고 있는 이상 PVE성격의 콘텐츠가 한동안 계속해서 선보일 것으로 예상된다.

 

게임타임 최승진 편집장은 "온라인게임에서 게이머들끼리 대결을 즐기는 PVP모드도 중요하지만 혼자서도 부담 없이 즐길 수 있는 PVE모드에 대한 관심은 점점 커지고 있는 상황"이라며 "올해 많은 기대작들이 인공지능에 특화된 PVE 모드에 많은 중점을 두고 있는 만큼, 게이머들은 앞으로도 다양한 모드에서 게임을 즐길 수 있을 것"으로 전망했다. 

최병준 기자 ccbbjj@zdnet.co.kr
2009.10.21 / AM 09:49

:
Posted by 졸가메
마비노기 에린열전(2화), 펫 ’AI편집’ 이야기
AI선발 공모전 수상자를 만나 들어보는 펫 이야기
• 2007.01.05(금) 10:20

아기자기한 카툰 렌더링, 지능을 요구하는 전투 시스템, 그리고 패키지를 연상시키는 서사적 구조의 ‘메인 시나리오’로 유명한 마비노기는 펫 시스템도 다르다. 36종의 펫 역시 취향에 따라 선택이 가능하며 주인과 함께 에린을 활보한다. 또한 여타 게임과 달리 유저 스스로 지능을 부여하는 'AI 편집기'로 자신만의 펫을 만들 수도 있다.

이번 에린열전 2화에서는 펫을 사랑하고 펫의 능력 향상을 위해 노력중인, 지난 11월의 펫 AI 수상자 4명의 '펫' 사랑 이야기를 들어보려 한다.

 

인터뷰 참가자 - 타모토리, Ravy, 행사, 눙누낭나

 

어바웃 : 소개를 부탁드린다.
타모토리 : 만돌린 서버에서 퍼거스의 친구 타이틀을 위해 바스타드로 양털을 깎고 있다. '말과 친해지길 바래'라는 근거리전용 AI를 개발했다.
Ravy : 하프 서버의 엘프 캐릭터를 육성하고 있는 초보 유저이다. '라비의 레인지 서포트'라는 AI를 개발했다.
행사 : 울프 서버의 평범한 인간 캐릭터이다. '솔플형 라볼버전'을 만들었고, 지금도 계속 업데이트 중이다.
눙누낭나 : 하프 서버, 중국인의 친구이며 엘프 고고학자 눙누낭나이다. 물론 국적은 한국이다. '라이트닝 볼트 펫과 라볼 마법사를 위한 똑똑한 AI'를 개발했다.

 

지난 펫 AI 이벤트 당첨자 명단

 

어바웃 : 작품에 대한 소개를 부탁한다.
타모토리 : 주인의 보호를 우선으로 삼았다. 선공형이지만 유저가 공격하는 몬스터에게 협공하도록 설정했다. 참고로 말 펫을 많이 사용한다.
Ravy : 서포트용의 AI다. 엘프 주인의 서포트에 충실하도록 더 노력중이다. 주인이 윈드밀 시전 시 힐링을 사용하도록 했고, 최근엔 변신 펫을 사용해 주인이 매그넘샷을 적중시킬 경우 윈드밀을 시전하도록 설정했다.

행사 : 위에 말한대로 펫 혼자서도 살아남을 수 있을 수준의 인공지능을 위해 노력중이다. 라이트닝 볼트를 가진 펫에 최적화됐다. 선공형이며, 유저가 공격당할 경우 유저를 먼저 보호하고 이후 자신이 싸우던 적과의 전투로 복귀한다. 최근엔 미니곰을 주로 사용한다.

 

어바웃 : AI편집을 시작한 동기는.

Ravy : 엘프를 보고 반해서 게임을 시작했다. 검은 꼬리 몽구스를 주로 사냥하는데, 한 번의 미스가 치명타로 이어지는 엘프의 전투가 너무 서러웠다. 마침 그때 AI편집기가 업데이트 되었고, 펫과 함께하는 전투를 구상했다.
행사 : 애완동물을 좋아해서 굳이 전투중이 아니어도 자주 소환한다. 전투에 함께 하기엔 몬스터에게 공격당하는 것이 보기에 안스럽다. 그러다 AI편집기가 등장하고 생존률을 높이고자 이것저것 시도하다보니 이제는 욕심이 생겨서 혼자서도 살아남을 수 있는 AI가 목표가 되었다.
눙누낭나 : 평소 프로그래밍에 관심이 많다. 펫의 AI편집을 유저가 직접 프로그래밍할 수 있다는 데에 호기심이 생겨 다양한 시도를 해볼 수 있었다.

 

어바웃 : AI를 편집하며 보람이나 에피소드가 있다면.
타모토리
 : 여러 유저분들의 호응을 받았을 때다. 지금도 많은 분들이 다양한 주문를 해오시고 있고, 이것저것 시도해보는 데에 재미를 느끼고 있다.
Ravy : 마찬가지로 많은 분들이 애용해주셔서 보람을 느낀다. 쪽지나 리플 등을 통해 다양한 의견을 보여주시는 데에 감사드리며, 대폭 반영하려 노력하고 있다.
여담이지만 페르시안 한마리가 케오섬의 골렘을 잡아낸 적도 있었다.
행사 : 펫과 함께 마스 상급에 간 적이 있었다. 죽은 미니곰을 살리려고 피닉스의 깃털을 사용하다가 행동 불능이 됐는데, 부활한 미니곰이 남아있던 몬스터를 모두 상대해내었다. 순간적으로 내가 펫보다 약한 건 아닐까 하는 생각이 들었다.
눙누낭나 : AI편집이 막 적용됐을 때, 펫에게 몬스터의 대사를 적용시킬 수 있었다.
이를테면 임프 버젼의 '봐주셈'이라던가, 라이칸스롭의 '너로부터 배웠다' 등을 넣고 던바튼 광장에서 펫 대전을 시켜가며 놀았다. 지금은 차단됐지만, 재밌었다.

무리한 것은 시키지 말라는 데브캣의 계시구나..라고 생각하고 있다.

 

어바웃 : 데브겟에 바라는 점은.                                    

타모토리 : 유저가 선택할 수 있는 폭이 좁다. 이를 테면, 각 펫마다 아이스 볼트만 습득하거나, 파이어 볼트만 습득하는 등 스킬이 다른데 이를 위해서 일일이 행동수칙을 설정하기가 어렵다. 
Ravy : 편집 툴의 설명이 비교적 난해한 편이다. 설명만 보고 입력해서는 실행이 않된다. 많은 분들이 시행착오를 겪는다. 또 유저가 입력 가능한 행동수칙이 다소 부족하다.
행사 : 펫을 소환한 상태로 유저가 휴식을 취하면, 펫이 따라 앉는다. 이 때문에 펫이 힐링 스킬을 시전해 놓고 주저앉는 경우도 있다. 또한 펫이 상대하던 몬스터가 죽었음에도 펫이 디펜스/카운터 등의 스킬을 유지하는 점은 수정되어야 한다.
눙누낭나 : 지금 개방된 부분만으로는 부족하다. 필요한 부분을 첨부해서 건의했었고 긍정적으로 검토하겠다는 답장을 받았는데 아직은 무소식이다. 펫이 너무 뛰어나게 될 경우 유저들의 파티플레이가 무색해질까 우려하는 점도 이해는 하지만, 어느 정도는 풀어주셨으면 한다.

  

MMORPG에서의 업데이트가 무엇인지를 마비노기는 잘 보여준다. 업데이트 마다 보여주는 시스템은 게임을 새로운 차원으로 올려놓으며, 이에 대한 유저들의 호응도 뜨겁다. 생산, 패션, 탐험, 그리고 지능적인 전투 모두  등 모두가 독창적이다. 이는 상용화 이후 유저가 급감하는 여타 RPG에 비해 꾸준히 신규유저를 창출해내는 마비노기만의 힘이다.

펫 역시 그러하다. 몬스터에 따라 싸우는 패턴을 달리해야 하는 주인난큼이나 높은 지능의 펫을 스스로 유저가 구현해 낼 수 있다. 다만 아쉽다면 편집이 일반유저에게는 어렵다는 것과, AI편집을 취미로 하는 유저에게는 제한도 있다는 정도이다.

마비노기의 유저들은  '모두 다른 생각을 한다'. 에린의 수 없이 많은 이들은 저마다의 개성을 뽐내며, 이 순간에도 남이 미처 생각하지 못한 무언가를 시도하고 있을 것이다. 마비노기는 그들을 담아낸다. 그것이 마비노기이다.

 
게임어바웃 박동우(돈벌러가세) 기자  dongun@

:
Posted by 졸가메
2009/10/14 01:11

사용자 삽입 이미지
우연히 발견한 스타크래프트 : 브루드워의 AI를 작성할 수 있는 API, BWAPI(Broodwar API). 오픈소스 C++ API를 통하여 자신만의 새로운 AI를 창조할 수 있다. 또한, 다른 플레이어의 리플레이를 통하여 빌드오더를 채취(?)하거나 플레이 패턴을 가져올 수 있다고 한다.
기존 UI에 다양한 가이드 라인이 그려진다.
프로게이머의 리플레이를 입수해서 AI를 만들면 엄청난 AI가 탄생할 듯. AI이기 때문에 게이머가 집중해서 컨트롤하는 유닛컨트롤을 모든 유닛에 적용시킬 수 있으니 더 강할지도 모른다. 마치 딥블루와 체스챔피온의 대결처럼 만들어진 AI와 프로게이머가 겨루는 종목이나 혹은  만들어진 AI끼리 자웅을 겨루는 경기 종목이 생겨도 괜찮겠다.


해당 사이트  : http://code.google.com/p/bwapi/

본문 출처 : http://blog.hirihiri.com/231
:
Posted by 졸가메
2010. 4. 20. 10:33

StarCraft AI Competition AI and Game2010. 4. 20. 10:33

StarCraft AI Competition

StarCraft AI Competition

The Expressive Intelligence Studio at UC Santa Cruz will be hosting a StarCraft competition at AIIDE 2010

The 2010 conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE 2010) will be hosting a StarCraft AI competition a s part of the conference program. This competition enables academic researchers to evaluate their AI systems in a robust commercial RTS environment. 

The competition will be held in the weeks leading up to the conference. The final matches will be held live at the conference with commentary. Exhibition matches will also be held between skilled human players and the top performing bots.

:
Posted by 졸가메

올엠 주최 ‘게임 프로그래밍 대회’ 결승전 개최
 국서방 (국순신 기자)


이대로 가다가는 무승부가 나겠어.

 

서울 구로동에 위치한 올엠 사무실. 스웨덴의 오목게임 <펜타고>의 결승전이 진행 중이다.

 

대회 참가자 뿐만 아니라 출전팀 모두 프로젝터 화면을 뚫어져라 쳐다보고 있다화면엔 게임 화면이 아니라 컴퓨터 스크립트가 반복적으로 노출되고 있다. 게임 대전이라고 말하기엔 어색하고 낯선 광경이다.

 

학생들이 직접 경기에 참여하지 않고, 학생들이 제작한 프로그램들이 서로 실력을 겨루고 있다. 올엠이 주최한 1회 게임 프로그래밍 대회로, 게임 프로그래밍에 관심 있는 학생들이 <펜타고> 인공지능(AI)을 제작하여승부를 겨루고 있다.

 

대회에 참가한 팀은 153 개올엠은 참가자들의 제출물을 모은 다음8개 팀을 선정했다그리고 28일 오전 9시부터 올엠 본사에서 8강전이 진행됐다. 결선 행사에 참가하기 위해 천안과 대전 등 지방에서 올라온 학생들도 여럿 보였다.

 

치열한 승부가 거듭된 끝에 결승 진출팀이 가려졌다. ‘COM’s’(박상기광운대 컴퓨터소프트웨어학과 김기남광운대 전자통신공학과)와 생계형개발자(한상진, KAIST 전산학)의 대결이다.

 

결승전이 시작된 지 벌써 20팽팽한 균형의 추는 한쪽으로 쉽게 기울어지지 않는다. 25분 동안 <펜타고>의 인공지능 대전이 100판이나 진행됐지만 결과는 양팀 모두 50 50패로 동일했다결국 무승부가 선언됐다.

 

<펜타고>는 기존의 오목처럼 선수(先手먼저 돌을 두는 차례)가 이길 경우가 더 높다는 게 통계적 수치다. 100판을 겨루는 이번 결승전에서 양팀이 각각 50승을 가져간 것은 자기 팀이 먼저 둘 때의 기회를 놓치지 않았다는 의미다. 그야말로 팽팽한 대전이었던 것.

 

씨름에서 무승부가 나오면 몸무게가 가벼운 선수가 이기듯, 이번 대회에서는 최소 반응속도로 결정했다. 만일 최소반응 속도까지 동일하면 클라이언트 용량이 가벼운 쪽이 이긴다.

 

무승부 선언 5분 후올엠의 이종명 대표가 양팀의 반응속도를 공개했다. “한쪽은 반응속도가 865초가 나왔고 다른 한쪽은 211초입니다무려 4배 차이입니다우승자는 ‘COM’s’입니다!

 

6 22일 참가접수 시작으로 진행된 이번 행사는 8 28일 결승전을 끝으로 대단원의 막을 내렸다67일 간의 대장정이었다.

 

 대회 결승전을 보여주는 장면. 화면에는 스크립트만 가득하다.

 

스크립트가 가득 담긴 화면을 응시하는 참가자들.

 

 

■ 기대 이상의 참가열기, 꾸준히 개최될 예정

 

버닝하라는 캐치프레이즈를 내건 올엠의  1회 게임 프로그래밍 대회 상금은 총 450만원이다.1등에게 300만 원, 2등에게 100만 원, 3등에게 50만 원을 준다.

 

요즘 열린 대학생 경진대회 치고는 상금이 풍족하진 않다. 게다가 프로그래밍이라는 제한된 전공자들을 대상으로 한 대회여서 참여율이 높을 것이라고 예상하기 힘들다.

 

하지만 올엠 측은 이번 대회의 결과에 매우 만족하고 있다.

 

올엠의 최경연 홍보팀장은 당초 20 팀 정도가 참여할 것으로 예상했는데, 실제 참가는 153 팀에 이를 정도로 매우 많아서 깜짝 놀랐다고 설명했다.

 

참여율이 매우 높았던 것은 프로그래밍 전공자에게 동기부여가 잘 되었기 때문으로 풀이된다. 대학생들이 참여하기에 너무 어렵지 않은 <펜타고> 게임을 두는 인공지능(AI)을 제작하는 것이었고, 프로그래밍 전공자들의 승부욕구도 적당히 자극해 주었다.

 

올엠이 이번 대회에서 얻고자 하는 것은 두 가지. 미래의 게임 개발자에게 올엠이라는 브랜드를 미리 알리고, 우수한 인재를 발굴하는 것이다.

 

올엠의 이종명 대표는 “단기간에 쉽게 결과가 나오지 않을 것이라면서 게임 프로그래밍 대회를 장기간 꾸준하게 열어서 차곡차곡 쌓아 가겠다고 설명했다.

 

프로그래밍 대회 결선에 참가한 대학생들과 이종명 올엠 대표(왼쪽 끝).

 


■ 우승팀 COM’s와 짤막한 일문일답

 

TIG> 이번 대회에 참가하게 된 동기가 있다면?

 

학교에서 프로그래밍을 배우는데 이를 사용할 만한 곳이 마땅치 않았다그로 인해 프로그래밍 대회에 대한 갈증이 오래전부터 생겼다. 학교에 포스터가 붙여 있는 것을 보고 대회에 참가하기로 결정했다.

 

 

TIG> <펜타고>의 AI 대전에 관심이 있었나?

 

예전에 오목의 AI를 제작했던 적이 있다동아리에서 학교 축제 기간에 작품을 전시할 때 선보였다. 그래서 <펜타고> AI에 자신이 있었다그리고 여름방학에 아무것도 하지 않고 보내면 게임만 하다가 끝날 것 같다는 생각이 들어 결심하게 됐다.

 

 

TIG> 대회 참가 전에 예상 순위가 있었다면?

 

대진운이 아주 나쁘지 않으면 3등 정도 가능할 것으로 생각했다.(3등까지 상금이 주어진다.)

 

 

TIG> 이번 대회 승부에서 전략이 있었다면?

 

처음에는 비기는 전략을 구상했다응답속도에는 자신 있고 용량이 가능했기 때문에 되도록 비기는 방법을 생각했다하지만 온라인 대전에서 지는 경우가 등장했다그래서 전략을 서둘러 수정했다.선수(돌을 먼저 두는 것)는 반드시 이기고 후수는 지지 않는 방식을 고민했다.

 

 

TIG> 결승전에서는 반응속도로 승패를 결정지었다.

 

반응속도로 이길 줄은 몰랐다한 수를 더 염두에 두고 프로그램을 짤 경우 속도가 많이 느려졌다. 그래서 공격은 3수를, 방어는 2수를 내다보는 방식으로 한 수를 줄이기로 했다.


출처 : 디스이즈게임 : 

http://www.thisisgame.com/board/view.php?id=281742&category=102&subcategory=1

:
Posted by 졸가메

카이스트와 포항공대가 실력을 겨루는 제 4회 '카포전' 행사에서 새로운 종목이 생겼다. 서로간의 프로그래밍 능력 및 효율적인 알고리즘을 구현하는 능력을 향상시키며상호간 경쟁을 통하여 발전을 모색하기 위해 생긴 인공지능 대회가 바로 그것이다.

이번에 치뤄지는 인공지능 대회 종목인 "뿌요뿌요"는 서울대, 카이스트, 포스텍 컴퓨터공학과 내에 치루는 행사인 ESCamp에서 2002년도에 행해졌던 프로그래밍 대회를 그대로 가져왔다. 뿌요뿌요는 헥사나 테트리스의 변형게임으로 같은 색의 뿌요를 4개이상씩 맞추면 터져 없어지고 연쇄를 통해서 상대방에게 방해뿌요를 보낼 수 있는 전형적인 퍼즐방식의 게임이다. 대회참가자들은 Visual C++을 이용하여 넥슨측에서 기본적으로 제공한 코드에서 인공지능의 행동을 결정하는 부분만을 구현하면 된다.
KAIST에서는 9월 15일 1차 예선에서 가산점 1점, 20일 2차 예선에서는 가산점 2점을 부여하여 가장 많은 점수를 얻은 뽀셔뽀셔팀과 보키팀이 본선에 진출하여 POSTECH의 1,2위 팀과 본선 리그를 진행하였다.
본선은 22일부터 시작되었으며 먼저 7전 4선승제의 풀리그를 통해서 1위부터 4위까지 가려내었고, 그렇게 가려지게 된 1위 ~ 4위를 프로야구와 같은 방식을 통해서 9전 5선승제의 3, 4위전, 2, 3위전을 통해서 결승 진출팀을 가리게 되었다.;
본선 리그에서 KAIST는 전산과 김군훈 학생과 배기곤학생이 속한 뽀셔뽀셔팀이, POSTECH에서는 78연쇄팀이 결승에 진출하여 카포전 첫날 POSTECH 대강당에서 개막식 행사가 끝난 뒤 많은 사람이 지켜보는 앞에서 결승전을 진행하였다.
결승전 경기에서 KAIST의 뽀셔뽀셔팀이 78연쇄를 7:3으로 꺽고 우승을 차지하였다.
우승 상품으로 본선에 진출한 1위부터 4위 팀까지 각각 PSP, MP3P, 200GB 하드디스크, 1GB USB 메모리를 지급받게 되었다.
http://kaist.postech.ac.kr/ai/ 에 접속하면 이번 대회 관련 정보를 얻을 수 있다.




출처 : http://csnews.kaist.ac.kr/ver_4/cs_sub/01_news/cs_news_002.html


:
Posted by 졸가메
역자 : 고재홍  출처 : http://gigglehd.com/zbxe/2203146
 
게임 AI 소개

일반적으로 토끼가 특별히 영리하다고 생각하지는 않을 것이다. 이들은 일반적으로 풀을 뜯고, 뛰어 다니며 굴을 판다. 이런 작은 동물이 얼마나 복잡할 수 있을까?

근데, 2008년 초, IBM은 Thomas J Watson Research Center 에서 작은 동물의 대뇌피질을 디지털로 시뮬레이트 하는 계획에 뛰어들었다. 이 테스트는 8192개의 프로세서와 2.8TB의 메모리를 가진 Blue Gene-L 슈퍼 컴퓨터로 토끼의 뇌에 있는 16㎠의 대뇌 피질표면에 2천 2백만개의 뉴런과 110억의 시냅스를 시뮬레이트 하려 했다.

심지어 이런 기초 지능 마저도 시뮬레이팅에 극도의 사양을 요구하는데, 그러면 기본적인 PC에서는 게임 내의 다수의 지능을 가진 사람을 시뮬레이팅 할까?

게임 상의 AI는 다방면으로 3D 래스터라이제이션과 흡사한데, 실제 같은 광원과 그림자를 보이기 위해 쉐이더와 텍스쳐를 이용한 복잡한 속임수를 쓰게 된다. 만약 CGI 영화 같이 게임에서 적절한 ray tracing 을 썼다면, 확실히 더 큰 연산력을 필요로 했으며, 이 것은 AI에도 영향을 끼치게 된다.

How AI in Games Works Introduction to Gaming AI

Empire : Total War 는 한 화면에 수천명을 보여준다. 게임 진행을 위해 이들 모두는 지능을 가져야 함은 물론이다.

Empire : Total war 의 AI 시스템의 주도자인, Creative Assembly 의 AI 프로그래머 Richard Bull 이 설명하기를, "AI 대학은 당신의 마법사이며, 우리는 당신의 마술사이다. - 게임 AI는 모두 연기와 거울 들이다.

"우리는 당신에게 현실같은 인상을 주려하며, 그리하여 우리는 때때로 대학에서 만드는 것보다 훨씬 더 인상적인 시스템을 얻을 수 있으며, 우리는 더 지능성을 만들지는 않는다. 사실, 대부분 그렇다. - 생각 하는 것만큼 우리는 AI를 더 영리하게 하지 않는다.

게임 F.E.A.R 에서 적에게 당신이 가까이 가면 공격하고, 창밖으로 뛰어 내려버리는데, 이것으로 하여금 진짜 인간 캐릭터가 당신을 죽이고 살아남고 싶어 하는 것 같다고 생각할 수 있으나, 이 것은 모두 컴퓨터 프로그램으로 인한 반응일 뿐이며 정확한 시간에 정확한 율동을 사용하는 것이다. 게임 상의 AI를 알아내는 것은 마치 Frank O가 MIss Piggy를 제어한다는 것을 알아내기 위해 카메라 Zoom out을 하는 것과 같다.; 처음에는 실망스럽겠지만, 파고들어 갈수록 복잡한 인형극을 보는 것 같은 느낌을 준다.




State Machines

그럼 어떻게 게임 내 캐릭터에게 감동적인 지능을 줄까? 이것에 대해 대답하기 위해서는 AI의 기본지식이 바탕에 있어야 한다. 자 이제 지정된 영역을 돌아다니다 당신을 발견하면 공격하는 옛날 옛적 1인칭 게임을 보자. 이들 캐릭터들은 State Machine 을 이용하여 결정한다.

개개 NPC나 NPC 그룹은 몇몇개의 상태를 가지는데, '인간 공격' 이나 '적 탐색' 같은 것이 있으며 각각 이들 상태는 다양한 행동과 액션이 연관되어 있다. 예를들어, '인간 공격' 상태에 있는 캐릭터는 무기 발사와 재장전 같은 액션을 가지며, 캐릭터는 다른 변수와 부합 되면 다른 상태로 변경이 된다. 적이 시야 밖으로 사라지면, 캐릭터는 '적 탐색' 상태로 바뀌며 새로운 적을 게임 내에서 찾기 위해 주위를 둘러보는 행동이 포함 된 액션 세트를 사용하게 된다.

이런 개념은 참 쉽지만, State Machine을 이루는 결정 트리 구조는 당신이 캐릭터를 지능 있게 만들수록 엄청나게 훨씬 어려워진다. 이들 결정 트리는 행동의 위계 서열형태이며, 위계적 제한 State Machine 이라고 한다. (HFSMs, hierarchical finite state machines)

가족 트리같이, 이 것은 (충전같은) 1개 상태로 시작하는데, 이것이 응전이나 퇴각같은 행동 양식이라는 가지를 갖게 된다. 각각 이런 행동 양식은 퇴각이나 엄호 같은 부가 선택들로 나뉘게 되며, 이것 또한 더 많은 액션으로 가지를 칠 수 있게 된다. 이 부가 선택 사항은 각기 다른 실행 사항과 대결 구도로도 가며, 상위 행동 양식에 의해 승자가 결정되는데, 이 것에 대한 결정은 부가 선택 사항의 무게와 현재 상황의 관련성을 따진다.

How AI in Games Works AI in Games - State Machines

Relic의 Dawn of War 2의 AI는 20상태 정도의 State machine을 가진다.

Relic의 수석 프로그래머 Chris Jurney는, 그들의 DoW2 RTS 내 에서의 State machine 에 대한 몇가지 예시를 제시하였다. "Dawn of War 2의 AI는 대략 3개의 주 레이어가 있다.  컴퓨터 플레이어, 분대와 대원들이 그것이다." 라고 Jurney는 말한다. "분대와 대원들은 둘 다 위계 한계 state machine 을 사용하며, 우리는 분대 단계에서 20개 정도의 상태를 가지고 있으며, 대원 등급에서도 20개 정도를 가지고 있다. 분대 등급에서의 상태는 사용자가 내놓은 명령이 바로 전달될 수 있다.

"예를들어, 분대에 캡쳐 명령을 내렸을 경우, 분대는 분대 state-capture 상태로 진입하게 된다. 이 state는 거점 캡쳐에는 충분히 가깝지 않다는 것을 찾아내고, 부가 상태인 squadstatemove 상태가 될 것이다. 이 상태에서, 대열 이동 시스템은 개개 분대원들에게 이동 명령을 내리기 시작하며, 대원들은 이들 명령을 받아 statemove 상태로 전환된다.

자세히 보면, 길을 찾고, 활동이 적용되고 일반적으로, 개개 대원들은 그들의 명령을 가장 똑똑하게 수행할 수 있는 형태로 수행한다." 몇몇 state는 관련성 있는 다수 캐릭터 사이에서 공유되며, 대부분의 캐릭터는 극소수의 표준 state로 그들의 시간을 소비하며, 다른 윙맨들은 다른 특이사항이 나오기 전까지 기다리게 된다.

Crytek의 Mattew Jack은 Crysis의 북한군의 예제를 제공하는데, 선택 사항은 25가지 정도가 있다고 하지만, "핵심 행동양식을 결정하는 것은 몇개 되지 않는다." 라고 한다. Jack 이 추산하기를 "거의 90%의 시간을 그들은 단지 5개 상태만으로 지낸다." 고 하며 "사용이나 차량에 반응, 특수무기 사용 같은 특이상태"가 다른 상태라고 한다.

State machine이 몇세기 동안 게임 AI에서의 주요 형태였지만, 그래봤자 행동양식이 부처님 손바닥 안이었다. NPC는 스크립트 화 되거나 부분적으로 무작위 행동양식을 가질 수 있지만, state machine 을 사용한다는 것은 특정 각도에서 어느 정도 예상이 가능하다는 것을 의미한다. 캐릭터를 좀 더 어렵게 만들고 싶다면, 그것의 state machine을 훨씬 더 크게 만들어야 한다. - 그들이 통제 불가능해질 정도의 영역이 될 만큼의.

Creative Assembly의 스튜디오 통신 매니져 Kieran Brigden 이 설명하기를, "끝없이 팽창하는 상태를 얘기 한다면 문제에 봉착하게 될 것이다. 예를들어, Empire : Total War 에서 엄청난 수의 state를 가진 인간이 있다면, 그래서 부대에 160명, 20부대의 군대를 가진다면, 화면상의 모든 개인들에게 얼마나 많은 결정트리가 있는 지를 생각해야 한다. 여기서 한 화면에 수천명이 있는 경우를 생각 해보자.; 이들 모두 엄청난 양의 state 기반 논리 트리 구조가 있으니, 2% 의 오버헤드가 중요한게 아니다." 라고 한다.

Crytek의 Mattew Jack이 동의하면서 말하기를, "state machine의 문제는 상태간 전이를 정의하는 데 있다. ; AI 캐릭터에게는 이것이 그리 크지 않은 숫자지만, 상태 모두를 책임져서 관리해야 하는 개발자에게는 어려울 수 있으며, 이것이 통용되는 곳이 있을 수 있다." 세부사항을 일단 뒤로하고, Jack 또한 덧붙이기를, "Crysis 부터, 복잡성을 관리하기 위해 다른 행동양식을 발전시켰다." 고 한다.



Planning System

그럼 게임 상 AI에서 state machine을 대체하는 것은 없나? 그건 아니다. - state machine 들은 여전히 게임 캐릭터들 내에서는 간단한 행동 양식을 정의하는 것을 요구하며, 그들은 그들의 임무에 충실하고, 그래서 그렇게 변경해야 할 필요성은 느끼지 않게 된다. 예를들어 Creative Assembly 에서는, 여전히 state machine을 '적 사격' 같은 많은 상태에 사용하곤 한다.

여기서 문제는, 당신의 캐릭터를 CPU 자원을 잡아먹지 않으면서도 더욱 지능있게 만들려면, 프로그래머에게는 말 그대로 엄청나게 거대한 복잡한 부하로 다가온다. 이 것에 대한 대안이 바로 게임 내 AI에 거의 최근에 도입된 결과- 유래 Planning System이다.

Monolith의 F.E.A.R. 는 2005년 말 발매 때 처음으로 게임에 Planning System 을 도입한 게임 중 하나였으며, 이것은 다수 캐릭터가, 어느 때는 매우 인간에 가깝게 특이한 행동을 화면상에서 하는 것을 볼 수 있었다. Gone은 직접 사격이나 그 주변을 맴돌면서, 그 적들로 하여금 더욱 향상된 지능을 가지고 장애물을 뛰어 넘거나, 사격을 피해 숨거나 근접전에서 발길질을 하기도 한다.

How AI in Games Works AI in Games - The Planning System


간단히 말해, Planning system은 게임 캐릭터들로 하여금 목표를 완벽히 완수하기 위해 무엇이든지 한다는 것이다. 주위를 끌기 위해 state-machine 내의 행동 양식을 줄줄이 비엔나처럼 집어 넣는 것 보다는, 목표나 임무가 주어져 있어, 캐릭터가 이 것들을 완수하기 위해 현재 상황에 걸맞는 몇가지 방법을 가지고 있게 될 것이다. (위에 보이는) 이 다이어그램은 MIT Media Lab의 jeff Orkin 에 의해 창시된 것으로, 그는 또한 F.E.A.R. 에서 수석 소프트웨어 엔지니어로 일한 경력이 있으며, 또 목표-유래 Planning System 을 사용하여 어떻게 AI 캐릭터들이 계획을 짜는지를 보여주었다.

Empire : Total War 에서, 보통 목표는 '부대의 측면을 사수' 하거나 '이 요새를 효율적으로 다루라' 정도가 될 것인데, 이것들은 상황에 따라 언제나 우선적이 될 것이다. 목표 달성을 위해, 컴퓨터는 자기가 원하는 상황을 보고, 원하는 결과를 성취하기 위한 최상의 방법을 계산할 것이다.

Creative Assembly는 Empire : Total war 에서 그들 고유의 Planning System 을 소개하였는데, 이것은 이전의 Total war 게임과 비교해 훨씬 더 AI를 예측 불가능하게 만드는 것이었다. 게임 내에서 전투 중 AI를 작업한 Richard Bull은, Planning System 을 묘사 하기를 "자가 재기록을 하는 state machine" 이라면서, "그러나 이것이 그들이 스스로 그들 고유의 목표나 일거리를 만들어 낼 정도의 능력을 가진 마술같은 시스템은 아니다.; 우리는 AI을 저장할 수 있는 창고와, AI가 원할 만한 저장고를 가지고 있을 뿐이다." 라고 덧붙였다.

Planning System 을 사용할 때, AI는 인간당 목표 기반에서 작업하며, 상황 분석 후 어떤 목표가 우선 순위인지를 판단하게 된다. Empire : Total war 에서, Bull은 AI의 예제를 주었는데, "기마병들이 측면 돌파를 강행하고, 포대가 넓게 포진하여 그들의 사정거리에 들어올 때까지 기다리고 있는 모양" 을 주었다. Bull 이 설명 하기를 " '사실, 난 이 애들 여기까지 보내고 싶어' 라고 생각하는 것은 Planning System 에서는 꽤 위험한데, 이렇게 하면 전체적인 군대 계획에 해를 입을 수 있기 때문에,  AI는 현재 활동과 행동 상태, 거기다 적의 위협과 지형을 보고 여러번 셈하게 된다."

Bethesda 또한 Fallout3에 planning system을 도입하였다. 게임 내 AI 작업을 했었던 Bethesda 의 프로그래머 Jean-Sylvere Simonet이 설명하기를, "(작은 state machine같이) 간단한 행동을 혼합시켜 전체적인 계획 내로 들인다. 우리는 이 계획자를 다른 대체 사항으로 시도해본 후 도입하였다. 마침내, 전투 상의 NPC는 그들이 성공할 기회를 그대화 할 방법과 행동 우선순위를 찾게 할 수 있었다."

How AI in Games Works AI in Games - The Planning System
만약 Fallout3에서 이런 괴물들을 죽이고 싶다면, 그의 현재 목표를 성취하는 데 있어 가장 효율적인 방법이라면 바로 그의 죽은 형제의 무기를 드는 것이 최고이다.

Fallout 3의 최종 결과는 NPC가 그들의 목표를 이루는 데 있어 가장 효율적인 방법을 선택한다는 것인데, 자신이 생각하더라도 이것은 필연적인 것이다. 보면 참 감동 먹을 것이다. 예를 들어, 두마리 괴물이 당신 앞에 있고, 당신은 그들 중 하나를 죽일 것이며, 나머지 한마리는 총알이 다 닳았다고 치자. 남은 괴물은 새로운 무기를 찾는 방법을 찾을 것이며, 그래서 Planning System 이 무기를 얻기 위한 가장 효율적인 방법을 찾을 것이다.; 만약 최 근거리 무기가 죽은 그의 형제의 몸에 있다면, 그는 그 것을 집을 것이다. : 이런 등급의 예측 불가능한 행동을 state machine 에서는 아주 복잡해졌지만, Planning System 은 NPC가 스스로 이것을 자동으로 처리한다. Planning System 들은 모두에게 만병통치약이 아니다.

예를들어, Relic은 여전히 state machine 을 Dawn of War 2 의 AI로 사용하는데, 개발자는 AI 등급을 특정 등급에서 예측 가능하기를 원했다. Chris Jurney가 지적하기를 플레이어가 분대에게 명령을 내리면, "그는 그가 원하는 최대한으로 유닛을 움직이게 하고 싶을 것이다. 이것 때문에, 유닛이 일관성있게 움직이는 것이 아주 중요하며 유저는 그가 클릭을 할 때 어떠한 일이 일어날 지 기대를 하게 된다."

"그 결과, AI의 목적이란, 예측성에서는 영리함이 우선되고, 그래서 학습이나 재기록 같은 결정 트리는 배제된다. 정확히 가장 최상의 행동 모델을 얻는 기대는 RTS 게임에서 가장 높은데, 왜냐면 플레이어는 그가 제어하는 유닛과 맞서는 유닛들의 모든 액션을 볼 수 있기 때문이다."



All terrain

그럼 이제 당신이 캐릭터를 가지고 있고, 그들이 그들 스스로 생각 하는 것처럼 보이겠지만, 그들이 어디 있는지를 어떻게 알고, 그들의 환경이 어떤지를 어떻게 알아 그들이 가장 효율적인 방법으로 당신의 맘에 들게 움직일까?

NPC들은 당신의 관점으로 게임 세계를 보지 못한다. - 이게 된다면 정말 막대한 연산력을 필요로 하게 될 것이다. 대신 그들은 그들이 갈 수 있는 곳에 대한 길잡이가 필요한 것이다. 이것은 가끔씩 격자 무늬의 네비게이션 형태를 띄며 장애물을 보여주고 지형의 형태를 보여주지만, 개발자들 또한 네비게이션 그물망 (navmesh라고 부름) 을 사용하는데 이것이 3D 화면의 로컬이다.

navmesh는 기본적으로 저해상도 3D 그물망을 사용하여 3D 화면의 최고 상위에 자리잡으며 AI 캐릭터로 하여금 그것이 움직일 수 있는 영역을 보여주고, 디자이너에 의해 놓여진 특징 태그나 힌트를 AI에 부여하게 된다. F.E.A.R 2 : Project Origin의 AI 개발자 블로그 상에서, Monolith의 수석 소프트웨어 엔지니어인 matt Rice가 설명하기를 "AI 캐릭터가 움직여갈 수 있는 곳에, 디자이너는 그가 원하는 영역에 이 보이지 않는 mesh를 만든다." 라고 한다.
How AI in Games Works AI in Games - All TerrainHow AI in Games Works AI in Games - All Terrain
F.E.A.R 2 내의 navmesh 특징 태그는 AI로 하여금 무조건 특정 행동을 하도록 하게하는데, 영역을 가로지르기 위한 dive 가 바로 그것이다.

Rice는 NPC가 게임 내에서 보호막 사이에서 솜씨 좋게 움직이고, 사격받는 친구를 엄호 하기 위해 열린 창문을 통해 다이빙 하는 것을 예로 들었다. Rice가 설명 하기를 "이것은 팬시 애니메이터가 어떠한 주어진 영역에라도 디자이너들이 쓸 수 있도록 애니메이션 양식을 만들기에 가능하다. 디자이너는 navmesh에 이름표를 붙여 AI가 영역을 가로지르기 위해 (다이빙 같은) 특정 애니메이션을 하도록 하게 한다. 

스크립트 화 같은 소리와 비슷하지만, NPC는 게임의 Planning System을 사용하여 창문 밖으로 뛰어 내리는 것이 최상의 행동양식인가를 결정하게 된다. 창문 밖으로 뛰어내려야 한다면, navmesh는 이 것을 수행하기 위해 어떤 애니메이션을 필요로 하는지 말해준다. 놀랍게도, Rice가 추가 하기를 "만약 결과 경로가 영화 같고 놀랍다면, 아주 기분 좋을 것이다. ; 나라도 돈주고라도 살 것이다. 그렇지 않다면, 다시 작전 판으로 돌아가 디자이너, 또는 애니메이터, 또는 이 둘과 같이 회의를 할 것이다."

How AI in Games Works AI in Games - All Terrain

navmesh는 표준 네비에기션 격자보다 더욱 유연함을 제공해주며, 애니메이션 힌트만을 주는 것이 아니다. Bethesda의 Jean-Sylvere Simonet이 지적하기를 Fallout3에서 로컬 경로 탐색에 사용되는 navmesh(오른쪽 이미지) 가 "NPC가 필요로 하는 커버 정보 저장에 최고의 지원이라는 것을 찾았으며, 이것은 또한 우리에게 환경 주위의 크고 작은 생물체 경로를 만드는 데 통합 파이프라인 화를 할 수 있게 해준다. (네비게이션 격자 같은) 우리의 이전 시스템은 표준 캐릭터 크기를 추정 해주고, navmesh는 bloatfly 들과 behemoth 들 모두로 하여금 같은 데이터를 가지고 회랑 지대나 골목길 주위를 찾도록 한다.

Simonet은 또한 navmesh가 AI를 도와 경로 탐색을 더 잘할 수 있다고 지적한다. "물려받은 부분 정보를 저장하기 때문이라면서, 우리는 '생각대로의' 공간 크기를 알고리즘화 할 수 있었다. 예를들어, 탐색같은 행동은, NPC가 조사를 빠르고 효율적으로 하도록 navmesh 데이터로 영역 밖에 대한 참고로 활용하며, 결론적으로 목표가 어디였는지를 알 수 있게 한다.




대지의 거짓말

Fallout 3와 F.E.A.R. 2와 같이, Crysis 내의 대지 분석의 첫번째 과정은 대지를 삼각화 하는 것이었다. ; 이것으로 말미암아, AI는 삼각화로 길 찾기 격자를 파생시킬 수 있다.

Crytek의 Pavel Mores는 이 격자를 설명하기를, "여러 종류의 유닛들이 사용하게 하려는 의도로 통합하였다. 이것은 결정을 위해 노드와 링크라는 추가적인 데이터 저장으로 완성되는데, (힌트는 게임 디자이너에 의해 만들어짐) 예를들면 유닛이 링크를 통해 지나갈 정도로 작거나, 링크를 통해 물 깊이 등을 조절할 수 있는 정도의 영역을 들 수 있다."

지형 삼각화 시스템과 같이, Crysis는 표면 상의 경도와 위도를 정의 하려 전통적인 웨이포인트 그래프를 사용하였는데, 그러나 이 것은 "3D 영역을 통한 특화된 길 찾기 지원" 으로도 알려져 있다.

그가 설명하기를, "이것의 한 부분은 비행 길 찾기라고 부르는 것인데, 이것은 부피가 있어, 중력이라 부르는 up-vector 가 잘 정의 할 수 있는 곳에서 사용 하는 것이 효율적이다. 또 다른 것은 부피 네비게이션으로, 이것은 영역에서 자유 이동을 도와주기에, 이 것은 더 복잡한 전처리보다 훨씬 단가적으로 이익이다.

3D 부피 내에서의 길 찾기는 AI의 핵심 과제 이기 때문에, 이것은 갈수록 중요해지고 있다. 우리는 이제 바닥에서만 발붙이고 있는 것이 적이 아니다. ; F.E.A.R. 2나, Bio shock 까지도, 벽을 기어오르고 천장을 돌아다니는, 그리고 암벽을 타고 공중에서 떨어지는 괴물들과도 맞서야 한다. Monolith는 F.E.A.R. 2 에서 'segment' 라고 부르는 것을 사용하여 주소 지정을 하는 인상적인 방법을 쓴다.

How AI in Games Works AI in Games - Lie of the LandHow AI in Games Works AI in Games - Lie of the Land
F.E.A.R. 2 에서의 segment는 프로그래머에게는 빡세지만, 이것으로 게임 캐릭터들로 하여금 대지 뿐만 아니라 어느 곳으로도 갈 수 있는 능력을 준다.

Monolith의 Matt Rice가 설명하기를 "segment 들은 점과 연결 선의 연속이며, navmesh에 적용될 수도 있고 적용되지 않을 수도 있다. AI는 일반적인 navmesh 에서와 같이 이들 segment를 이용하여 자유롭게 경로를 만들어 나갈 수 있다." 그러나, navmesh 에서의 폴리곤과는 다르게, navmesh에서는 AI 캐릭터가 폴리곤 안에서 움직이지만, segment 는 화면에서 제한적인 구역에만 위치하고, 이들 지점들을 환경 내 어느곳이라도 들여보낼 수 있다. 이것은, Rice가 말하기로는, "AI 캐릭터에게 환경을 지배할 수 있게 하고, 편한 곳으로만 가지 않게 하는 능력" 을 부여 하였다고도 한다.

Planning system 으로 segment 들을 혼합한다면, 당신을 향해 괴물들이 어디서든 달려드는 환장하는 화면을 보게 될 것이며, 예측 불가능한 양상을 보게 된다. 예를들어, Rice 는 "플레이어가 앞에 있는 반라의 Abomination에 신경 쓸 때, 그의 동료는 마루에서 천장으로 뛰어올라 다가오고, 다시 벽으로 뛰어 우측에서 오다가, 마지막에는 플레이어를 잡을 수 있는 뒤에 오게 될 것이다." 라고 설명한다.

Segment 들은 도입하기에는 엄청나게 까다로운 기능이다. Rice가 설명하기를 "디자이너들에게는 모든 segment와 링크들을 관리하는 것은 기를 죽이는 것이다." 라고 설명한다. 그러나, 그는 자신있게 "F.E.A.R. 2의 Abomination과 싸워본 사람이라면, 팀이 소비하는 acetaminophen을 애용할 것이다. " 라고 하였다.

한편, Relic은 Dawn of War 2의 AI에 지형 데이터를 저장하기 위해 1 메가 픽셀의 길 찾기 격자를 사용하였다. RTS 베테랑들은 알겠지만, Company of Heroes 에서는 여러가지 방어벽들을 게임 상 오브젝트와 지형으로 넣은 개념을 소개하였으며, 그리고 이것은 Dawn of War 2 에서도 계속된다. 이 것을 하기 위해, 게임은 엄호물을 위해 두 가지 격자가 요구된다. - 한가지는 지형에, 나머지 한가지는 오브젝트와 장애물에 쓸 것이다.

게다가, 게임은 개임 내 가장 큰 캐릭터가 각기 셀로 갈 수 있는 가장 큰 단위를 격자로 쓰며, 여기에 더해 그들이 이동할 때 그들의 목적지를 예약할 수 있는 용도로 쓰기에, 그들은 같은 영역에 자기가 들어가겠다고 다투지는 않는다. 앞에 말한 것 때문에, 근 미래에는 유닛들이 도착해야 할 곳을 그리는 또다른 격자가 필요할 것이다. - 파편을 피하기 위한 것. '위계적 영역지도' 라고 불리우며 동일한 속성을 가지는 셀은 같이 합쳐지는 것으로 기술되는 것도 있는데, 이것은 장거리 탐색의 속도를 올려준다. 지능적인 방법으로 NPC를 A에서 B로 옮기려면 전부 6개의 지도가 필요하다는 것을 의미한다.

Relic 은 래스터라이제이션을 이용하여 지도를 동적으로 그리는데, 당신이 마치 3D 세상에 들어온 것 같이 그린다. Relic의 Chris Jurney가 설명하기를 "화면에 삼각형을 그릴 때 그래픽 카드가 하는 과정과 같다. 세계에 새로운 건물을 놓으면, 이들을 갱신하기 위해 다양한 맵 격자로 가릴 박스를 그리는데, 정확히 머리 위 시점에서 (4개 픽셀의 그룹인) Quad 를 렌더링 하는 것과 같다." 라고 설명한다.



파괴 가능 환경

래스터라이즈 된 디자이너 힌트가 들어간 지도라는 Relic 시스템의 장점은 환경 내 변화점을 유지하기에 쉽다는 것이다. 점점 복잡해지는 물리알고리즘에서, 게임 개발자들은 가능한 한 반응이 현실성 있도록 보이려 하려고 골머리를 썩힐 것이다.

이런 와중 나온 것이 파괴 가능 환경으로써, 나무나 건물들을 파괴하거나 손상을 줄 수 있는 것으로, 그 결과가 게임 진행에 영향을 주는 것이다. Dawn of War 2 는 파괴 가능한 전장을 만들 것이라 하지만 Jurney가 말하기로는 아주 쉬울 것이라 한다.

"우리는 모든 지도와 세계의 구조물들을 갱신할 것인데, 세계는 건축/파괴에 따라 변경되기 때문이다. 그래서 AI가 내리는 결정이 맞다면, 그들은 바로 변화를 줄 것이다. 우리의 AI들은 (거의 0.5~1초마다) 그들의 환경을 계속적으로 분석하기에; 세계가 바뀌면 그들의 행동 양식도 바뀐다."

How AI in Games Works AI in Games - Destructible Environments
Crysis와 Crysis:Warhead 모두 뛰어난 파괴 가능 환경을 가진다.

파괴 가능 호나경을 가진 게임에서 특히 눈에 띄는 것은 Crysis로, 여기서 당신은 Jeep 로 정글을 뚫거나 당신 앞의 나무를 쓰러트릴 수 있다. Crytek의 Pavel Mores가 설명하기를, 동적이고 예측 불가능하게 바뀔 수 있는 환경을 만들 수 있는 여러 방법이 개발자에게 필요하다고 말한다. 그는 AI가 길찾기 격자 상에서의 길 찾기 탐색을 수행하는 것을 보여주었는데, 현재로써는 이렇다 할 장애물이 없는 곳이었는데, 그 후 그 곳이 교전 지역 이라면, 결과 경로 주변의 동적 장애물로 회귀하고 그에 따라 행동하였다. 

풍부한 navmesh는 또한 파괴 가능 환경에서도 빛을 발하는데, Bethesda는 이것을 Fallout 3에서 사용하였다. 크고 단단한 신체가 제거되면 navmesh는 그에 따라 동적으로 갱신된다. 이것은 물론, 보통 일정량의 연산력을 필요로 하지만, bethesda는 mesh 상에 단단한 신체를 나타내려고 간단한 네모 상자를 두는 것으로 해결하였다.

Bethesda의 Jean- Sylvere Simonet 이 말하기를 이 작업 또한 좋다고 한다. "실제로, 대부분의 동적 오브젝트는 거의 사각 외곽선을 가지고 (자동차, 버스, 탁자 등) 있기에, 이 것이 먹힌다. 이 프로세스는 단단한 신체와 중첩되어 다시 테셀레이트 될 navmesh 의 영역을 찾아내고, 튕겨진 박스의 외곽선 만을 남기고 사라진다. 이 때 우리는 동시에 외곽선을 재 연산해야 하지만, 이것은 빠르게 진행되는데, 확인 할 것은 4개의 모서리가 다이기 때문이다. 이것으로 하여금 NPC 들이 동적 오브젝트를 엄호 물로 사용할 수 있게 한다."



하드웨어 가속?

AI가 게임 내의 장애물이 되어 다음의 GPGPU 연산에 대한 문제가 될까? 요즘에도 하드웨어 가속기를 지원하지 않는 게임이 많다. GPU는 그래픽과 물리 가속을 하는데, 최근의 사운드 카드는 향상된 서라운드 효과만을 가속한다. AI는 게임 플레이에 있어 기본적인 부분인데, 이것도 하드웨어 적으로 가속되지 않을까?

2005년에, 이스라엘 회사 AIseek 는 intia 라는 분리된 AI 프로세서를 발표 하였고, 이것은 지형 분석과 길 찾기를 포함한 몇몇 AI 기능을 가속하기 위해 설계 되었다. 그러나, 우리는 이 기술 기반의 제품을 아직도 볼 수 없다. 이 분리된 하드웨어 종류에 대한 문제는 게임 진행의 기본적인 AI가 필수사항이라는 것이다.

이런 이유로, AI 프로세서는 표준 PC에 대한 부분으로 자리 잡을 것이다. 이것으로 인해 AI는 GPGPU 기술이 도래하면 농익을 것이다. 거의 모든 게이머가 그래픽 카드를 가지고 있고, 이것으로 Nvidia의 CUDA나 AMD의 스트림 기술(아니면 OpenCL 같은 교차 플랫폼 GPU API) 를 제공받기에, 이것은 특이한 AI 연산에서 CPU 부하를 덜어줄 것이다.

AMD의 개발분야 우두머리 Richard Huddy가 설명하기를, 대부분의 보통 AI 작업은 가독성 있는 쿼리와 길 찾기 쿼리에 관련된다. "우리의 최근 연구에서는 90% 이상의 시간을 AI가 이 두개의 간단한 질문에서 갈등하는 데 써버린다는 것을 알아냈다." 고 한다. 그가 덧붙이길 이들 두 개 쿼리들은 "GPU 도입에 거의 알맞은데, 이것들은 본래 병렬 아키텍쳐인 GPU를 엄청나게 유용하게 쓰며 보통 메모리에 구애받지 않기 때문이다." 라고 한다.

How AI in Games Works AI in Games - Hardware Acceleration?
GPU가 게임 내에서 AI 가속을 할까?

Nvidia는 이것에 동의했다. PhysX의 제품 관리 과장 Nadeem Mohammad가 설명하기를, 길 찾기와 파편 검사와 관련된 "간단, 복잡한 연산" 들은 아주 특이하며, 그래서 길 찾기는 CUDA에서 잘 작동하는 알고리즘 중 하나" 라고 한다. Mohammad 가 추가 하기를 CUDA를 통한 빛 추적인 가독성 쿼리에서는 AI에게 유용하다고 하였다. 여기서 우리는 그래픽 적인 빛 추적을 말하는 것이 아니라, 봇들이 볼 수 있게 봇들의 관점에서 빛을 추적하는 것을 말한다. "당신은 빛이 무언가를 때린다면, 빛을 A에서 B로 쏴야 하는 것을 알 것이다. 우리는 파편 검색 같은 PhysX 연산으로 같은 조정을 한다."

"당신은 이상적으로 같은 데이터 세트에서, 그렇지만 다른 입력 변수로, 같은 명령어는 아니지만 같은 프로그램을 동작시키는데, CUDA를 쓰는 것을 꿈 꿀 것이다." 라고 Mohammad가 덧붙였다. "그러므로, AI의 정황 내에서는, 모든 게임 세상을 구성하는 데이터 세트와 변수들은 개개 봇들에게 들어가게 된다. - 이것이 문제를 깔끔하게 병렬화 시키는 방법 중 한가지이다. 당신이 이런 정황을 본다면, AI 프로그램이 가속될 것이다."

AMD와 Nvidia  모두 몇몇 AI 게임 개발자와 미들웨어 개발자와 협력하는 것에 이의를 제기할 것이다. Huddy에 따르면, "몇몇 미들웨어 제공자들은 게임에 대해 GPU AI 라이브러리를 넣는 것을 생각하고 있고, 다른 개발자들은 CPU에 있는 그들의 현존하는 AI 코드를 GPU로 가져다 쓸 생각을 한다." 고 한다.

Mohammad 는 GPGPU 기반 가속 AI를 곧 볼 수 있을 것이라고 추정한다. "1년은 아니지만 18개월 안에는 가능할 것이다." GPGPU 가속 AI는 또한 게임 개발자들에게도 매력적인데, 이들은 가치있는 CPU 자원을 쓰지 않고 그들의 체계를 영리하게 만들고 싶어한다. "내 생각으론, AI에 이들을 주기에는 GPU가 제격이라 본다. 모든 우리의 AI는 격자 기반이며, 우리의 맵 갱신을 위해 래스터라이제이션을 이미 사용하고 있으며, 가능성을 시험하기 위한 지도에 선 그리기도 하고 있으니, 이것이 안성맞춤이다." 라고 Dawn of War 2의 수석 프로그래머 Chris Jurney가 말하였다.

Crytek의 Markus Mohr 또한 GPGPU 가속 AI를 옹호하는데, "폭넓게 사용 가능한 병렬 설계로, 우리는 질과 양에 대한 새로운 국면을 맡게 된다. AI에 대해 분리된 하드웨어 개발은 말이 안된다. " 고 Intia chip을 겨냥했다. Creative Assembly의 Richard Bull 도 동의 하기를 "하드웨어 진보는 계획이나 예측 같은 것에 대해 더 뛰어난 연산력을 제공하여 우리가 원하는 것 이상을 할 수 있을 것이다." 그러나, 그가 지적하기를 Empire : Total war 의 전투 AI에 대해 "회로의 2% 정도만을 사용한다." 고 꼬집었다. (아래 이미지)

How AI in Games Works AI in Games - Hardware Acceleration?

AI가 추가적인 연산을 필요로 한다는 것이 아니다. ; AI는 현재 제한된 가용 자원을 가지지만, 그래픽에 견주자면 아주 적은 량을 쓴다는 것을 뜻한다. Bull 은 절대 지지 않는 체스 컴퓨터에 빗대면서 "모든 말마다 모든 가능한 움직임을 예측하여 최종 상태를 얻는다. 현재도 체스의 문제가 이것인데, 최적의 솔루션을 얻으려면 몇 시간부터 몇 달까지 시간을 쓴다는 것이다." 기본적으로, AI에 대해서 더 연산력을 할애 할 여유는 있다.

"25%의 CPU 부하를 먹어, CPU를 느리게 한다면, GPU에선 효율적으로 동작할 수 있는데 GPU에서는 단지 1~2% 정도의 부하를 가지게 된다." 고 Richard Huddy가 지적한다. 몇몇 작업에서는 적은 GPU 작업량으로도 AI 연산력을 배가 시킬 수 있으며, 이것으로 인해 GPU 업체와 게임 개발자는 이런 작업을 할 것으로 예상된다.

그러나 모두가 GPGPU가 AI 연산에 있어 최고의 방법이라고 동의하는 것은 아니다. Bethesda의 Jean-Sylvere Simonet이 말하기를 "우리가 병렬 설계의 장점을 취할 수도 있겠지만, 모든 것이 좋은건 아니다. 결정 연산 중에 특이한 파트 하나, 그러니까 엄청난 GPU 연산으로 AI 탐색이나, 패턴 검색 알고리즘 같은 동작 들을 를 빠르게 해야 할 때가 해당된다." 그러나, Simonet은 또한 지적하기를 "대부분의 AI 연산은 아주 순차적이며 대략 많은 데이터를 요구 한다.

"NPC가 다음 행동을 하려고 결정하기 위해서는, 수많은 세계의 정보 쿼리를 가져야 되는 것이 일반적이며, 대부분의 정보는 이전 쿼리 결과의 상황이다. 이런 이유로 인해, 더 적은 프로세서들로 더욱 다용도로 사용할 수 있게 되는데, 이상적으로는 PS3의 Cell 칩에 들어가는 SPE 들이 그렇다."

또한 알아둘 만한 것은 AMD와 Nvidia 둘 모두 CUDA와 Stream에 대한 사용 방안에 대해 말하고 있다는 것인데, 이것으로 인해 게임 산업에 GPGPU 가속 AI 연산이 표준화가 되기는 힘들 듯 하다. "우리는 모든 PC 내의 모든 CPU 들이 멀티플레이어 작업에서 정확히 똑같은 결과를 만들어낼 것이라는 사실에 의존한다." 고 Relic의 Chris Jurney가 지적하였다. "우리는 플레이어 간의 입력과 명령을 전송할 뿐이며, 만약 두개의 GPU들이 AI의 결과에 있어 약간이라도 다른 결정을 내린다면, 다른 플레이어들은 각기 다른 세계에서 게임 진행을 하게 되는 결과를 낳을 것이다."

가끔씩 OpenCL이나 DirectX 11의 연산 쉐이더가 훨씬 큰 GPU의 배열에서 AI를 가속할 수 있는 방법을 제공할 수 있다. 하여간, 이것은 AI가 GPGPU 연산에 있어 주된 향상이 될 수 있다.



'Reference Something' 카테고리의 다른 글

패턴 인식  (0) 2010.04.20
인공지능  (0) 2010.04.20
:
Posted by 졸가메