2019년 6월 28일 금요일

국비 교육 : 게임 프로그래밍 075일

75일 차 교육 내용 메모를 옮겨 본다.
인공지능에 대한 강의를 시작한 날이었던 것 같다.


FSM (Finite State Machines)
- 구현 방법이 다양하다. (if~else~ , switch , class)
- 게임에서 사용하는 인공지능, 유한/상태/기계
- 외부 정보에 의해 자신의 상태가 변동되는 기술 또는 구조를 의미
- NPC 류의 행동 제어
- Player 의 상태 제어 (키 입력에 따른 walk -> run -> walk )
- 단점으로는 양이 많으면 복잡해진다.

HFSM (Hierarchical Finite State Machines)
- 계층 FSM
- 큰 그룹의 FSM을 만들고 각 상태 내부에 FSM이 생성되는 구조
- 조건에 따른 그룹 생성이 중요

BT (Behaviour Tree)
- 행동 트리
- 트리 형태로 상태가 나열
- 구조는 트리로 만들고 선택은 상위→하위의 우선순위로 동작하는 구조


FSM의 기본적인 구성은 State를 알려주는 변수와 이를 통한 Switch문으로 구성할 수 있다.
Switch문의 Idle, Move 등에서 Battle로 전환할 수 있는 공용코드를 양쪽에 집어넣어 둔다.

구현 범위에 따라 FSM과 BT에 대한 방향성을 세워야 된다.
- 작고 확실한 상태 : FSM
- 확장, 복잡성 상태 : BT


이처럼 AI와 관련된 내용이 메모되어있다.
FSM을 주력으로 강의한 것으로 보이며, FSM를 Class로 구현하는 숙제가 주어졌다.

댓글 없음:

댓글 쓰기

Unity - Firebase 연동 (Analytics, AdMob)

버전 : firebase_unity_sdk_6.5.0.zip 게임에서 통계 측정 및 광고 추적을 위해 Firebase 을 연동한다. 앞서 [Unity - GPGS 와 Admob 연동 및 배포 준비 작업]  연동 이후에 작업을 진행 한다. 유니...