브롤스타즈의 미니게임 금고를 지켜라를 모티브로 제작 총 3단계의 스테이지로 구성되어 있는 웨이브 형식의 게임
참여인원 : 2명
(1) 공격
- 오브젝트 풀링을 활용하여 총알 재사용
- 라이플 / 바주카 / 수류탄 총 3가지의 무기 구현
- 라이플은 라인트레이스를 활용하여 단일 공격으로 구현하였고, 바주카와 수류탄은 구를 활용해 충돌을 감지하여 범위 공격으로 구현
- 브롤스타즈처럼 바닥에 각 무기의 사정거리를 표현할 수 있도록 구현
(2) 피격
- 공격을 받으면 HP를 감소하고, HP가 0이 되면 죽도록 구현
- 오브젝트 풀링을 활용하여 총 45마리의 Enemy와 총알 재사용
- 풀링 가능한 캐릭터를 상속받아 에너미를 만들고, 에너미클래스를 상속받아 총 3가지 타입의 에너미를 설계
- 총알도 위와 동일한 방식으로 설계
- Behavior Tree를 활용하여 에너미 AI 구현
- Behavior Tree를 활용하여 보스 AI 구현
(1) 공격
- 보스의 무기는 활과 화살로 설정
- Single Shot 과 Triple Shot 두 가지로 보스의 공격 구현
- 화살의 폭발 범위는 직접 구현한 머터리얼을 사용하여 바닥에 범위 표시
(2) 피격
- 공격을 받으면 HP를 감소하고, HP가 0이 되면 죽도록 구현
- 아이템을 활용한 후, 일정시간 쿨타임이 있도록 구현
- 일정 체력을 가지고, 체력이 0이 되면 사라지도록 구현
(1) 방벽
- 방벽을 세울 수 있는 지형인지에 대한 여부를 초록색/빨간색으로 구별
(2) 터렛
- 터렛을 세울 수 있는 지형인지에 대한 여부를 초록색/빨간색으로 구별
- 일정 구역 안에 적을 탐지할 경우, 적을 향해 공격할 수 있도록 구현
(1) 체력 바
- 머터리얼 에디터에서 원형 체력 바 구현
- 플레이어가 데미지를 입을 때, 확인이 가능하도록 확인용 UI 구현
(2) 남은 시간 표시
- 스테이지 당 남은 시간을 표시할 수 있는 UI 구현
(3) 무기/아이템 표시
- 현재 사용하고 있는 아이템 및 무기를 표시하고, 남은 총알 수와 남은 쿨타임을 표시
(4) 미니맵
- 적들이 어디에서 스폰되고 어느 방향으로 가고 있는지 확인할 수 있도록 구현
- 머터리얼 에디터에서 미니맵 상 적의 스폰을 나타내는 애니메이션 구현
(5) 게임 시작 화면
- 게임 스타트 및 종료를 하기 위한 시작 화면 구현
- HLSL로 작성한 커스텀 노드를 통해 백그라운드 및 플레이어 얼굴 아이콘 구현
(6) 게임 진행 안내 화면
- 스테이지 준비 안내, 클리어 등의 게임 진행에 필요한 UI 구현
- 일정 시간이 지나면 다음 단계로 진행이 되고, 적절한 UI가 화면에 표시될 수 있도록 구현