지난 시간엔 신나게 플레이어 스킬 구현해서 신나게 몬스터 팼으니 이번엔 적 몬스터도 나를 때릴 수 있게 지능을 부여해줬음.

스킬 시전 구조화 빡세게 해둬서 몬스터한테도 스킬 id 할당해주고, 대응되는 애니메이션 달아주면 플레이어와 같은 스킬 사용 가능하니 빡센 작업이 그나마 간편해졌다.

예시로 적 마법사 몬스터는 플레이어가 쏘는 파이어볼을 똑같이 쏨.

정확히는 다른 스킬 id를 가지고 있지만 '닿으면 폭발하는 투사체' 매커니즘을 공유해서 같은 스크립트를 사용했고, 공격 범위를 달리 했음.


단순한 AI인만큼 국룰인 FSM 패턴으로 제작했음

Idle 상태 : 타겟과의 거리 비교 후 시야 범위 이내일 시 Move 상태로 전이

Move 상태 : 타겟을 향해 이동하면서 스킬 사거리 체크 후 사거리 내 접근 시 Act 상태로 전이. 시야 범위로 타겟 나가면 Idle 상태로 전이

Act 상태 : 지정해둔 스킬 시전하고, 시전 후 Move 상태로 전이


단조로움을 피하기 위해서 스킬 사용 후 다음 스킬 사용까지 쿨타임 + 랜덤 딜레이 주고, 타겟과의 거리에 따라 다양한 스킬 사용하게 함.

영상을 잘 보면 마법사 몬스터는 타겟과 먼 거리라면 바닥을 깔고, 가까운 거리면 파이어볼을 날리는 모습을 볼 수 있음


길찾기 AI 최적화랑 기초적인 UI 구조 짜는 작업도 빡셌지만 딱히 설명할 이유 없으니 패스