내가 일하며 알게 된 프로그래밍
article thumbnail
지금 너의 상태는 - FSM (유한기계상태)
프로그래밍/ETC 2022. 8. 8. 00:35

몬스터 혹은 자동사냥 기능을 만들다보면 AI 작성은 꼭 필요하다. 그 중 많이 사용되는 FSM(유한기계상태)과 BT(행동트리) 중 이번에는 FSM에 대해 설명을 하려고한다. FSM의 장점 1. 디버깅이 쉽다 2. 상태에 대한 코딩이 해당 상태에서만 작동하기 때문에 코드 작성이 쉽다. 3. 문제가 되는 상태만 수정하면 되기때문에 버그 수정이 쉽다. 단점 1. 상태의 규모가 커지면 복잡해진다. 2. 해당 상태에 대한 적용만 가능하다. 사실 위와같이 장단점만 작성하면 느낌이 잘 오지않는다. 예를들어 -IDLE (대기상태) -ATTACK (공격상태) -DEAD (사망상태) 3가지 상태가 있다고 가정하자. "가만히 있는데 몬스터에게 맞아도 반격을 하지 않아요." 라는 버그제보가 들어왔다. 가만히 서있다는 것은 I..