반응형
10-1장. 게임 캐릭터의 행동 양식을 설계할 때, 많은 문제점이 존재한다.
행동 양식이란?
1. 사전적 의미
- 몸을 움직여 동작하거나 어떤 일을 하는 일정한 모양이나 형식. (네이버 지식 백과)
- 한 개체가 가시적인 행동에 이르기까지 내리게 되는 일련의 결정('증강 현실, 가상현실과 공간 컴퓨팅- 팡갈리넌 저)
환경 인지를 바탕하여 다음에 수행할 행동을 결정하는 판단 과정은 고도의 복잡성을 보인다. 이때 판단들은 시간과 공간의 관점에서 규모의 차이로 인해 문제점이 있다. 게임 내 판단 과정은 퀘스트&전략, 활동&전술, 네비게이션, 애니메이션 순으로 구성된다고 가정하자.(물론 폭포수 이론과 같이 일방향적이 아닌, 중간에 게임 환경과 상호작용하는 구조다.)
2. 시간적 규모의 차이로 인한 문제점
- 서로 다른 모듈은 동일한 빈도로 작동할 필요가 없다.
- 랜더링 과정의 애니메이션은 60fps로 작동하더라도, low level(사람에게 안보일 수록 낮은 level로 가정)의 퀘스트&전략 과정은 10fps로 작동해도 무관하다
- 사용자들은 low level 활동의 fps에 민감하지 않다.
3. 공간적 규모의 차이로 인한 문제점
- 비연속적 공간 탐색 및 분석. 퀘스트&전략과 같은 low level의 과정은 별개의 개념과 공간을 가지고 있어, 조합 가능한 경우의수가 많다.
- 고차원에서의 연속 최적화. 애니메이션과 같은 high level의 과정은 가시적이기 때문에 연속성을 보장해야한다. 따라서 고려될 수 있는 변수의 수가 많다.
'
10-2장. 제한된 환경에 특화된 반응형 AI는 한계가 있다.
반응형 AI(Reactive planning)란?
사전적 정의
- autonomous agent가 행동 선택을 하게 하는 인공지능 기술.(출처: 위키피디아)
즉 인공지능 분야에서는 반응형 AI를 특정 상황에 특정 행동을 선택하게하는 계획법으로 정의한다. 이러한 방식은 여러가지 형태를 띄는데, 유한 상태 기계(fsm), Behavior tree 등이 있다. 두개의 정의와 장단점을 살펴보자.
1. 유한 상태 기계
사전적 정의
- 유한 상태 기계는 객체가 수개의 상태를 가지고 있으며, 특정 시점에서는 하나의 상태만을 가지는 수학적인 모델이다. 상태와 상태의 전환은 전이라는 과정으로 정의된다.(출처: 위키피디아)
2. Behavior tree
사전적 정의
- 행동 트리는 사전에 계획된 구조를 기반으로 행동을 결정하는 컴퓨터 과학 분야에서 주로 쓰이는 수학적 모델이다. 유한 상태 기계와 비슷해 보이지만, 유한 상태 기계는 모듈을 상태로 정의하지만, 행동 트리는 Action으로 정의한다.
적용성
- 반응형 행동 양식은 디자이너가 정의한 환경에 따라 행하는 행동을 전부 handmade로 설계했기 때문에 특정 상황에만 특화되어 있는 경우가 있다. 즉 적용성 & 확장성에 단점이 있다.
복잡성과 보편성
- 반응형 행동 양식으로 설계를 하려면 상태가 되는 환경을 정의해야한다. 하지만 이러한 환경은 사실 정의하고자하면 끝도 없기 때문에 조합적 폭발이 일어난다. 예를들어 차가 길을 건널 때 어떤 행동을 취해야하는지 정의하고자 한다면 생각해야할 요인은 사람이 튀어나올 경우, 튀어나오다 말다 할 경우, 강아지일 경우, 우체통일 경우 등등 수없이 많다.
실효성
- 좋은 반응형 행동 양식을 설계하려면, 모든 문제에 대한 최적의 답을 알아야 한다. 하지만 이는 현실적으로 어렵다. 복잡성에서 말했듯이 모든 문제에 대해 정의하기 조차 어려울 뿐더러 최적의 답을 찾는 것도 쉽지 않다. 이는 적용환경이 AR과 같이 수많은 변수들이 존재하는 예측 불허의 환경일 경우 더욱 어렵다. 이는 완벽히 통제되는 환경인 VR에서도 마찬가지다. VR의 높은 몰입감이 비교적 어설퍼 보이는 반응형 AI와 괴리를 가지기 때문이다.
반응형
'책 정리 & 리뷰' 카테고리의 다른 글
에자일이란 무엇일까? (3) 인지적 사고 분석, Reverse engineering (1) | 2022.08.23 |
---|---|
에자일이란 무엇인가? (2) 소프트웨어 엔지니어, 직관적 전문성이란? (0) | 2022.08.23 |
에자일이란 무엇일까? (1) 성장의 복리성을 제1원리 사고법과 연관지어 생각해보자 (0) | 2022.08.16 |
[CS 책] 비전공자가 책과 강의를 이용하여 컴퓨터 공학 지식을 학습할 순서 (0) | 2021.11.01 |