Unity FSM : 유한 상태 머신 (Finite State Machine)
유한 상태 머신(Finite State Machine, FSM)은 게임 에이전트에게 환상적인 지능을 부여하기 위한 선택 도구로 사용되어왔다. 다시 말해, 유한 상태 머신은, 주어지는 모든 시간에서 처해 있을 수 있는 유한개의 상태를 가지고 주어지는 입력에 따라 어떤 상태에서 다른 상태로 전환하거나 출력이나 액션이 일어나게 하는 장치 또는 그런 장치를 나타낸 모델이다.
상태(State): 게임에 정의된 여러 동작, 적 캐릭터뿐만 아니라 게이머에게도 적용될 수 있다.
- Idle, Run, Attack, ... , 공격할 수 없는 상태, 캐릭터의 마나가 없어 마법 공격할 수 없는 상태 등
- 한 상태에서 다른 상태로 전화할 수 있고, 동시에 여러 상태를 실행할 수는 없다.
전이(Transition): 한 상태에서 다른 상태로 전화하는 것
- 각 상태 로직 또는 외부에서 전이 조건에 의해 전이될 수 있다.
장점
- AI 개념을 프로그래머 외에 기획자 또는 제 3자가 쉽게 확인/설계 할 수있다.
- 직관적이다.
단점
- 확장이 힘들다. (FSM의 상태를 계속 추가하다 보면 다시 연결하기가 머리 아프다.)
개인과제
오늘은 심화 강의를 다 듣고 만들고 싶은 게임을 참고하기 위해서 찾아봤는데 Forager라는 게임이다.