SlideShare uma empresa Scribd logo
1 de 45
Programming Game AIby Example 8. 실질적인 길 계획하기 아키텍트를 꿈꾸는 사람들(http://cafe.naver.com/architect1) 최기원 (dagri82@gmail.com)
내비게이션 그래프 구축 Raven 내비게이션 그래프 노드 경로 VS 에지 경로 경로 계획자 경로 부드럽게 하기 최적화 난처한 상황에서 빠져 나오기
내비게이션 그래프 구축 Raven 내비게이션 그래프 노드 경로 VS 에지 경로 경로 계획자 경로 부드럽게 하기 최적화 난처한 상황에서 빠져 나오기
타일 기반 그래프 셀, 사각형, 육각형 RTS에서 많이 사용 노드: 각 타일의 중심 에지: 인접한 타일과의 연결 지형의 특성에 따라 각 에지에 비용 부여 단점: 탐색 공간이 쉽게 커짐 예) 100x100 셀 맵의 경우, 10,000개의 노드와 약 78,000개의 에지로 구성 + 수십 ~ 수백게의 AI 유닛
가시점(PoV) 내비게이션 그래프 수작업으로 주요 지점에 노드 배치 각 노드는 적어도 하나의 다른 노드에 시선을 갖도록 특정 정보를 제공하는 노드 추가 용이 큰 맵의 경우 각 노드 위치 조정이 어려움 임의의 맵 생성이 어려움 자동으로 POV 그래프 생성하기 위한 알고리즘/툴 필요     무작위 맵 생성 방법을 제공하지 않는 게임들존재 확장 지형기술로 해결
가시점 내비게이션 그래프
확장 지형 (expanded geometry) 다각형으로 구축된 지형을 에이전트의 반경만큼 확장 확장 지형의 꼭지점을 노드로 그래프에 추가 각 꼭지점 사이의 시선 시험  에지 추가
NavMesh 3D FPS 게임에서 활용 볼록(convex) 다각형으로 맵 구성
내비게이션 그래프 구축 Raven 내비게이션 그래프 노드 경로 VS 에지 경로 경로 계획자 경로 부드럽게 하기 최적화 난처한 상황에서 빠져 나오기
정교하게 과립화된(Finely Grained) 그래프 잘못된 경로 및 접근 할 수 없는 문제들 해결 자동으로 노드 생성, 밀물 채우기 알고리즘(flood fill algorithm)
밀물 채우기 알고리즘(flood fill algorithm)
Raven 내비게이션 그래프 접근 질의의 속도를 향상시키기 위해서 공간 분할 사용하기 노드 검색 성능: 노드의 수가 2배가 되면 시간은 4배로 셀 공간 분리, BSP 트리, quad 트리와 같은 공간 분할 사용
내비게이션 그래프 구축 Raven 내비게이션 그래프 노드 경로 VS 에지 경로 경로 계획자 경로 부드럽게 하기 최적화 난처한 상황에서 빠져 나오기
Bot의 행동에 관한 정보 저장노드 경로 vs에지 경로 f h c B A g d e
Bot의 행동에 관한 정보 저장노드 경로 vs에지 경로 f h c B A g d e
Bot의 행동에 관한 정보 저장노드 경로 vs에지 경로 f h c B A g d e
내비게이션 그래프 구축 Raven 내비게이션 그래프 노드 경로 VS 에지 경로 경로 계획자 경로 부드럽게 하기 최적화 난처한 상황에서 빠져 나오기
Raven 경로 계획자 Raven_PathPlanner 필요한 기능 특정 위치까지의 경로 계획 다수의 목표 중 가장 가까운 경로 계획 Bot PathPlanner
특정 위치까지의 경로 계획
다수의 목표 중 가장 가까운 경로 계획
다수의 목표 중 가장 가까운 경로 계획
내비게이션 그래프 구축 Raven 내비게이션 그래프 노드 경로 VS 에지 경로 경로 계획자 경로 부드럽게 하기 최적화 난처한 상황에서 빠져 나오기
경로 부드럽게 하기
경로 부드럽게 하기
경로 부드럽게 하기 B C C A A A에서 C의 경로에 방해하는 장애물이 없으므로 두 에지는 하나로 교체될 수 있다. B B C C A A 경로 상에 장애물이 있으므로 두 에지 모두 필요하다.
E2 시작 E1 끝
E2 시작 E1 끝
E2 시작 E1 끝
E2 시작 E1 끝
시작 끝 E2 E1
시작 끝 E2 E1
시작 끝 E1 E2
시작 끝 E1 E2
시작 끝
내비게이션 그래프 구축 Raven 내비게이션 그래프 노드 경로 VS 에지 경로 경로 계획자 경로 부드럽게 하기 최적화 난처한 상황에서 빠져 나오기
최적화,경로 계산
최적화,비용 계산
시간별 경로 계획 ,[object Object],[object Object]
계층적 경로 찾기
내비게이션 그래프 구축 Raven 내비게이션 그래프 노드 경로 VS 에지 경로 경로 계획자 경로 부드럽게 하기 최적화 난처한 상황에서 빠져 나오기
난처한 상황에서 빠져 나오기
난처한 상황에서 빠져 나오기 해결 방법 매 갱신 단계마다 현재 경유점 까지의 거리 계산 거리가 같거나 지속적으로 증가한다면 다시 계획 각 경유점에 대한 예상 도착 시간 계산 예상 시간을 초과하면 다시 계획
Programming game ai

Mais conteúdo relacionado

Destaque

인공지능(Ai)
인공지능(Ai)인공지능(Ai)
인공지능(Ai)민호 송
 
인공지능
인공지능인공지능
인공지능wngusqo
 
인공지능
인공지능인공지능
인공지능lsmgame
 
로봇과 인공지능, 그리고 미래의 노동
로봇과 인공지능, 그리고 미래의 노동로봇과 인공지능, 그리고 미래의 노동
로봇과 인공지능, 그리고 미래의 노동Terry Taewoong Um
 
인공지능 발전이 가져올 2030년의 삶
인공지능 발전이 가져올 2030년의 삶인공지능 발전이 가져올 2030년의 삶
인공지능 발전이 가져올 2030년의 삶봉조 김
 
알파고 (바둑 인공지능)의 작동 원리
알파고 (바둑 인공지능)의 작동 원리알파고 (바둑 인공지능)의 작동 원리
알파고 (바둑 인공지능)의 작동 원리Shane (Seungwhan) Moon
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesNed Potter
 

Destaque (8)

Ai
AiAi
Ai
 
인공지능(Ai)
인공지능(Ai)인공지능(Ai)
인공지능(Ai)
 
인공지능
인공지능인공지능
인공지능
 
인공지능
인공지능인공지능
인공지능
 
로봇과 인공지능, 그리고 미래의 노동
로봇과 인공지능, 그리고 미래의 노동로봇과 인공지능, 그리고 미래의 노동
로봇과 인공지능, 그리고 미래의 노동
 
인공지능 발전이 가져올 2030년의 삶
인공지능 발전이 가져올 2030년의 삶인공지능 발전이 가져올 2030년의 삶
인공지능 발전이 가져올 2030년의 삶
 
알파고 (바둑 인공지능)의 작동 원리
알파고 (바둑 인공지능)의 작동 원리알파고 (바둑 인공지능)의 작동 원리
알파고 (바둑 인공지능)의 작동 원리
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and Archives
 

Programming game ai