시작할 때 밭을 구성할 때 쓰면 괜찮을 것 같은 알고리즘
이것 역시 가능한지 더 조사해봐야함~


영향력분포도 기법 – AI 에이전트가 세계에 대해 지니고 있는 지식을 공간적으로 표현한 것으로, 게임 환경의 물리적/지형적 표현과 현재의 게임 상태(유닛 배치 등등)에 기반해서 전략적 결정에 필요한 정보만을 적절히 추출한 것이다.

 

영향력분포도의 이점

1.     어디에 유닛들을 배치할 것인지, 적이 어디에 있는지(또는 어디쯤에 가면 찾을 수 있는지 알 수 있다)

2.     두 객체 사이에 전선 어디이고 가장 격력한 전투가 벌어지는 또는 벌어질 만한 곳은 어디인지 같은 전략/전술적으로 매우 유용한 정보를 얻을 수 있다.

3.     지형 지물에 관한 정보도 제공할 수 있다.(전술적 가치가 가장 높은 지점이라던가 방어의 허점이 될 만한 지점, 매복 할 지점 등을 제공 받을 수 있다.)

 

간단한 영향력분포도

-       게임이 시작되면 모든 칸들은 0으로 초기화 된다.

-       그리고 각 칸에 대해, 그 칸이 가질 수 있는 영향력 값이 배정된다.

-       전투의 효율성을 영향력 값을 간주하며, 아군 유닛은 양, 적군은 음의 값을 가진다고 한다.

 

 

 

 

 

 

+2

아군

 

 

 

 

 

-1

적군

-1

적군

 

 

 

<초기의 영향력분포>

 

 

 

 

 

 

+0.7

+1

+0.7

+0.35

+1

+2

아군

+1

+0.5

+0.7

+1

+0.7

+0.35

+0.35

+0.5

+0.35

+0.24

<영향력의 전파>

 

 

0.51

0.79

0.47

0.06

0.66

1.66

0.53

-0.06

0.07

0.40

0.03

-0.74

-0.74

-0.17

-0.25

-0.39

<최종적인 영향력분포도>

 

-       이 분포도를 보면 아군과 적군의 역관계를 확실히 알 수 있다.

-       음의 값과 양의 값이 맞부딪히는 칸들을 이으면 전선이 된다.


참고 - GameProgramming Gems2

'프로그래밍 기초 > 자료구조 & 알고리즘' 카테고리의 다른 글

유전알고리즘(2)  (0) 2010.06.21
유전 알고리즘  (0) 2010.06.10
연결리스트를 이용한 이진트리의 순회방법  (0) 2010.05.14
트리의 배열표현 방법  (0) 2010.05.14
큐 만들기  (0) 2010.05.14
Posted by 아몰라