대부분 게임 보스들은 디자인패턴이 fsm의 state 패턴임?
특정 피에 도달해서 쓰는 패턴을 제외하고 일반적으로
평소에 기본패턴이 a b c 패턴 있다치면 랜덤으로 셋중에 하나 쓰고
a패턴으로 공격하고나면 a패턴은 쿨타임동안은 안쓰고 b나 c중에 쓰고 이런식으로
캐릭터 스킬 돌리듯이 뒤에서 패턴(스킬)마다 쿨타임있고 쿨타임 돈것중에 랜덤으로 쓰는식의 구조로 대부분 구현하는 것 같던데
이게 패턴 하나하나를 state로 attack1 attack2 이런식으로 나눴다고 보고
뭐 하나 쓰고나면 idle 상태로 돌아간다음 뻗어갈수있는 state중에 랜덤으로 하나의 상태로 바꾸는식으로 구현해서
그 상태가 되면 해당하는 공격을 하게끔 하는것도 state 패턴이라고 볼 수 있는거지?
간단한 일반몹 ai는 fsm 검색했을때 나오는 idle move attack 이런식으로 된게 그거구나라는게 단번에 이해되는데
보스는 좀 더 복잡하니까 내가 이해한게 맞나 싶어서
객체가 유한한 상태를 가지고있고 한 시점에 하나의 상태만 가지도록 전이되면 상태 패턴이고 그게 FSM임 보통 전이조건에 대한 세부 내용은 기획자가 알려주고 플머는 그냥 고대로 조건에 맞게 전이되도록 구현만 하면됨
phase1 이라는 하나의 상태에서 일반적인 공격패턴 a b c 돌려쓰다가 특정조건이 되면 예를들어 hp가 절반이되면 phase2 상태가 되어 2페이즈 되면서 다른공격(d e f)들을 한다던가 특수한 공격을 하는 state로 넘어가서 그걸 실행한 뒤 다시 phase1로 돌아온다던가 뭐 어쨌든 상태가 넘어가는 조건, 그 상태에서 어떤 행동을 할지 등은 구현하기 나름인거고 결국 저런식으로 상태를 나눠서 패턴들을 나오게 만든 게임의 보스들은 state 패턴으로 구현했다 라고 보면 된다는거지?
ㅇㅇ 상태 갯수가 유한하고 한 시점에 하나의 상태로 전이되면 상태패턴임 현재상태가 공격 상태 a, b를 동시에 가질수없잖아 switch case if else 도배로 상태간 관리가 힘드니까 상태 패턴으로 각 상태에 맞는 행동을 구현하고 전이조건에 맞게 전이만 시켜주면 관리가 편해지는거임
fsm으로 표현할 수 있는가? : 예 fsm으로 구현하는게 적합한가? : 케바케 실제로 fsm으로 구현되었는가? : 모름
fsm이 아닌 경우엔 보통 어떤식으로 구현할 수 있는지 알려줄 수 있을까 디자인패턴 없이 걍 구현한다던가 아니면 이런 디자인패턴이 있다던가
상태 트리 라는것도 있다니까 알아보세 - dc App
fsm은 상태가 적고 트랜지션 구분이 명확할 땐 쓰기 좋음 다만 상태가 많아질수록 관리하기 힘들고 다양한 동작구현이 빡셈 상태관리를 좀 더 용이하게 하기 위해서 HFSM 스택기반의 fsm같은것도 있긴한데 패턴들이 많아지면 걍 비헤이비어 트리 쓰는게 나음
게임 개발에서 ai의 대부분은 1. fsm / 중첩fsm 2. behaviour tree 이거임
ㄳ