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

More Related Content

PPTX
osgeo 봄 세미나 -R
PPTX
6장 공간패턴을읽으면세상이보인다.최종
PDF
Stabilization Method of Trajectory Data with Planar Characteristic using Plan...
PPTX
인포그래픽스 데이터분석과 저널리즘 6장 공간패턴을읽으면세상이보인다
PPTX
6장 공간패턴을 읽으면 세상이 보인다
PDF
Beautiful Visualization
PPTX
점, 선, 면
PDF
[공간정보시스템 개론] L04 항공사진의 이해
osgeo 봄 세미나 -R
6장 공간패턴을읽으면세상이보인다.최종
Stabilization Method of Trajectory Data with Planar Characteristic using Plan...
인포그래픽스 데이터분석과 저널리즘 6장 공간패턴을읽으면세상이보인다
6장 공간패턴을 읽으면 세상이 보인다
Beautiful Visualization
점, 선, 면
[공간정보시스템 개론] L04 항공사진의 이해

Viewers also liked (8)

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

Similar to Programming game ai (20)

PDF
실질적인 길 계획하기
PDF
Game programing gems 3.4 3.6
PPTX
Pathfinding 관련 GPG스터디 발표
PPTX
[0903 구경원] recast 네비메쉬
PPTX
[1113 박민수]a star_알고리즘
PPTX
Recast Detour.pptx
PPTX
Unity cookbook 12
PDF
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
PDF
[211]대규모 시스템 시각화 현동석김광림
PPTX
이병철의 개발자 포트폴리오
PDF
제3회 오픈 로보틱스 세미나 (제9세션) : ROS를 활용한 SLAM과 내비게이션
PDF
제2회 오픈 로보틱스 세미나 (제10세션 ROS를 활용한 SLAM과 내비게이션)
PDF
0425 꽃길만걷자 조
PPTX
5장 그래프의 비밀 (Programming Game AI by Example)
PDF
Project anarchy로 3d 게임 만들기 part_5_waste of time shoveling
DOCX
이산치수학 Project5
PDF
[2B2]기계 친화성을 중심으로 접근한 최적화 기법
PPT
Haklae talk-data-0128
PPTX
[FOSS4G] uDig Desktop GIS
PPTX
Wedge: Clutter-Free Visualization of Off-Screen Locations
실질적인 길 계획하기
Game programing gems 3.4 3.6
Pathfinding 관련 GPG스터디 발표
[0903 구경원] recast 네비메쉬
[1113 박민수]a star_알고리즘
Recast Detour.pptx
Unity cookbook 12
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
[211]대규모 시스템 시각화 현동석김광림
이병철의 개발자 포트폴리오
제3회 오픈 로보틱스 세미나 (제9세션) : ROS를 활용한 SLAM과 내비게이션
제2회 오픈 로보틱스 세미나 (제10세션 ROS를 활용한 SLAM과 내비게이션)
0425 꽃길만걷자 조
5장 그래프의 비밀 (Programming Game AI by Example)
Project anarchy로 3d 게임 만들기 part_5_waste of time shoveling
이산치수학 Project5
[2B2]기계 친화성을 중심으로 접근한 최적화 기법
Haklae talk-data-0128
[FOSS4G] uDig Desktop GIS
Wedge: Clutter-Free Visualization of Off-Screen Locations
Ad

Programming game ai