게임 개발 로그
폭파전: 플레이어 Behaviour Tree 설계 본문
1. 행동 트리 설계
2. 행동 정리
2-1. 죽음/그로기 상태
- 가장 높은 우선순위를 갖는 상태다. 체력 조건을 검사하여 0보다 작거나 같다면 죽음 상태와 그로기 상태 중 한 가지를 고른다. 만약 첫 번째 죽음이라면 그로기 상태고, 그 이상의 죽음을 맞이했다면 Death 상태로 간다.
- 그로기 상태에서는 이동을 하거나 가만히 있을 수 있다. Groggy(이동) 상태/Groggy 상태 둘 중 한 가지 상태를 선택하게 된다.
2-2. 문 상호작용 상태
- 문과 충돌되어 있으며, F 키를 누르고 있을 때 진행되는 상태다. 맵 중 샛길(지름길)을 열기 위해 문과 상호작용하는 상태다.
2-3. 빠르게 뛰기 상태
- Q를 눌렀을 때 빠르게 뛸 수 있다. 이동키와 함께 조작해야 한다. 빠르게 뛸 때 스태미나가 필요하다. 빠르게 달리기 중에 스태미나가 감소하며, 그 외 상태에서 회복된다.
2-4. 걷기 상태
- Left Shift 를 누르고 있을 때 걸을 수 있다. 이동키와 함께 조작해야 한다. 걷기 상태에서는 발걸음 소리가 나지 않는다.
2-5. 폭탄 설치/해체
- E가 눌렸을 때 폭탄을 설치하거나 해체할 수 있다. 만약 공격 팀 플레이어라면 남은 폭탄 개수가 있는지를 검사하여, 폭탄이 남아있을 때 폭탄을 설치할 수 있다. 만약 수비 팀 플레이어라면 내 주변의 폭탄이 있고, 그 폭탄과 Collided 상태라면 해체를 할 수 있다.
2-5. 동시에 가능한 액션
- 마우스 이동
- 마우스 방향에 따라 캐릭터가 회전한다.
- 이동
- W, A, S, D 키를 눌러 캐릭터를 이동시킬 수 있다.
- 공격
- Left Mouse Button을 누르면 총알을 발사할 수 있다. 탄환이 0개보다 많아야만 총알 발사가 가능하다.
3. 블랙 보드 내역
- hp : float
- 플레이어의 Hp
- inputs : Dictionary<Type, bool>
- 눌린 키를 검사할 때 사용
- curBullets: int
- 현재 남은 탄환 개수 검사할 때 사용
- isGroggy: bool
- 첫 번째 죽음만 groggy 상태로 행동불능에 빠짐
- 첫 번째 죽음 이후 isGroggy를 false로 만들어 Death 상태가 되도록 함
- stamina: float
- 빠르게 달리기를 할 수 있는 스태미나
- 빠르게 달리기를 할 수록 감소되며 그 외 상태 시 회복
- bombCount: int
- 공격 팀 플레이어에게 있는 변수
- 현재 남아있는 폭탄 개수
- 1개 이상이어야만 폭탄 설치 가능
'게임 개발 > 프로젝트' 카테고리의 다른 글
유니티에서 Field of View, 시야각에 따라서만 보이게 하기 (URP 프로젝트) (1) | 2024.12.31 |
---|