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로 구현하는 숙제가 주어졌다.
댓글 없음:
댓글 쓰기