WinAPI

FSM (Finite State Machine)

Nin 2021. 2. 2. 09:24

FSM이란 유한상태기계로 어떤 오브젝트(온라인게임을 예로 들면 플레이어,NPC,몬스터 등)가

상태를 가지고 그 상태에 대한 동작을 1가지만을 실행하게 하는 코드를 말한다.

예를 들면 플레이에 공격,이동,방어라는 상태가 있다고 가정하면

공격과 이동을 같이하는 경우에는 공격상태와 이동상태를 조합하기보다는

공격 이동이라는 새로운 상태를 새로 만드는것이 좋다.

각각의 상태에 따른 기능들이 조합해서 사용하다 보면

사이드 이펙트가 발생하고 FSM이란 이런 사이드이펙트를 막는 방법중 하나이다.

즉, 각각의 상태를 완전히 다른 곳으로 보고 각각 따로 가지고 있는 것이다.