Ai
2021-06-18~20 개발일지
몬스터 AI : Behavior Tree로 변경 원거리 버섯, 레이저 돌을 FSM형식에서 BT형식으로 변경하자 원거리 버섯 행동 정의 1. 감지 반경 안에 적이 없다면 땅 위를 돌아다님 (Random 시간 동안 Idle과 Move 반복) 2. 감지 반경 안에 적이 있다면 ㄱ. 공격 범위 안에 적이 있다면 적 방향으로 에너지볼 발사 ㄴ. 공격 범위 밖에 적이 있다면 적 방향으로 이동 1. 감지 반경 적 체크 Physics2D.OverlapCircle로 체크한다 2. 공격 반경 적 체크 동일하게 Physics2D.OverlapCircle로 체크한다 Physics2D.OverlapCircle로 체크한다 레이저 돌 적들의 색상을 현재는 몬스터의 가장 상위 오브젝트에서 한번에 해주고 있는데 하위 오브젝트들의 스크..
2021-05-27~28 개발일지
근접형 버섯 몬스터 AI 제작하기 일반적인 근접형 몬스터라고 한다면 간단하게는 1. Circle 콜라이더2D 붙여서 안에 들어오면 쫓아가기 2. Physics2D.Overlap~~ 작성하여 Player Layer들어오면 쫓아가기 등이 있는데 오늘은 이것들을 좀 더 탐구해보겠습니다 하여 타 게임들을 조금 분석해보자면 1. Dead Cells 데드셀의 제일 기본적인 몬스터로는 아무래도 요놈이 있겠죠 이름이 좀비더군요 공격 패턴 1. 플레이어와의 거리가 멀다면 뛰어들며 공격 2. 플레이어와의 거리가 가깝다면 할퀴기 플레이어 인식 방법 플레이어가 같은 플랫폼에 들어오면 우선 인식 상태가 되는 것 같습니다. 플레이어가 같은 플랫폼으로 들어왔을 땐 우선 제자리에 멈추는 동작을 취합니다. 이후엔 플레이어와의 거리에 ..
2021-05-25 개발일지
FSM을 사용하여 몬스터 AI를 다루다가 앞으로의 확장성, 개발속도면에서 더 좋다고 생각되는 BT(Behavior Tree)를 사용하기로 마음먹었다. 하지만 혼자 프로그래밍을 하다보니 드는 시간도 시간이고 효율을 따져야겠다고 생각했다. 처음부터 개발해서 앞으로 유지보수까지 어떻게 할까 생각하니 좀 막막하기도 하고.. 모든걸 직접 만드는게 제일 좋겠지만.. 지금은 에셋을 활용하기로 결정. 유니티엔 비쥬얼 노드로 바로바로 작업이 가능한 Behavior Designer가 존재한다. 후기도 좋고 좋아보여서 채택! Behavior Designer에 기반하여 행동트리를 잠시 설명하자면.. 행동트리 기존 AI에 주로 쓰이던 FSM, HFSM의 문제점을 보완하여 보다 다양한 AI 패턴을 구현하는데 최적화된 방법 행동트..