• Boss FSM 구상

Chase 상태
보스는 일반 몹과 다르게 방이 따로 존재하며 Player를 반드시 공격해야한다.

<방법>
방법 1. Player가 보스방에 진입 후, 움직이면 Chase 상태로 전환시킨다.(Chase 조건 추가)
방법 2. 보스의 시야범위를 방 크기로 지정한다.(Chase 조건 그대로)

<선택 및 이유>
방법 1
보스의 시야범위를 방 크기로 지정했을 때, Player가 방에 진입하자마자 보스가 공격하게 되기 때문에 정비할 시간이 없게 된다. 때문에 Chase 상태로 전환시키는 조건을 추가하는 방법을 선택했다.


페이즈 전환 및 부활
보스에게는 공격 패턴의 전환점인 페이즈가 존재한다. 또한 보스에 따라 Dead 상태에서 Idle 상태가 되는 특수한 경우(부활 등)가 존재한다.

<방법>
공통되는 부분을 BaseBoss를 상속받아 Boss별로 스크립트를 나눈다.

상속 관계

Creature -> Enemy -> BaseBoss -> Boss별 스크립트


<선택 및 이유>
직관적이며 새로운 보스 추가에 유동적이다.

 

 

<할 일 계획>

State 작동 방식 공부하기

Enemy가 Idle 상태와 Chase 상태, 그리고 Attack 상태를 왔다갔다 할 때 간단한 동작을 수행하도록 테스트하기

Attacker(Attack 함수를 통한 Creature의 실질적인 공격이 이루어지는 곳) 메커니즘 공부

 

Enemy에서 이벤트 함수를 만들고, 그것을 State에 구독시킨다.

'부트캠프 > Project' 카테고리의 다른 글

Enemy - FSM(4) 트러블 슈팅  (0) 2024.02.13
Enemy - FSM(3)  (0) 2024.02.13
Enemy - FSM(1)  (0) 2024.02.07
Skill 구상  (0) 2024.01.23
Projectile 구현  (0) 2024.01.19

+ Recent posts