Home [Unity] 유니티 첫 게임 - 미니 보스
Post
Cancel

[Unity] 유니티 첫 게임 - 미니 보스

1. 개요

Unity로 개발한 첫 게임에서 구현한 미니보스를 소개한다.

사용한 에셋은 Bringer Of Death이다. 유니티 에셋스토어에서 무료로 구할 수 있다. 참고로 스킬, 이동, 체력 관리는 모두 직접 코딩해야 한다. 에셋에는 스프라이트 관련 파일만 존재한다.

2. 스킬

스킬 구성은 크게 3개로 나눴다. 더 구현하고 싶은 욕심이 있지만 미니 보스라는 점과 시간적인 문제 때문에 3개만 구현했다.

기본 공격

플레이어가 미니 보스의 일정 범위 안에 들어왔을 때 기본 공격을 실행한다. 나는 일정 범위를 유효 사거리로 지정했다.

미니보스 기본공격

기본 공격과 관련해서 몇가지 처리가 필요하다.

  • 기본 공격 애니메이션에는 스프라이트의 움직임만 적용되어있다. 무기에 콜라이더가 필요하다.
  • 기본 공격 실행 전에는 무기의 콜라이더는 Off 상태여야 한다.
  • 기본 공격 실행 시 무기의 콜라이더가 On 상태여야 하며 콜라이더는 무기 스프라이트의 움직임과 회전방향을 따라가야 한다.

위 처리를 코드로 처리하기에는 다소 복잡하고 귀찮다. 따라서 나는 기본 공격 애니메이션에서 전부 처리했다.
아래는 기본 공격 애니메이션의 구성과 콜라이더가 어떻게 동작하는지를 보여준다.

  • Default 속도 미니보스 기본공격 모션 1배속

  • 1/3 배속 미니보스 기본공격 모션 1/3배속

뒤치기

스킬 이름을 뭘로 할까 고민했는데 뒤치기가 가장 직관적인거 같아서 조금 없어보이지만 일단 이렇게 네이밍했다.

이 스킬은 플레이어의 뒤로 텔레포트 후 플레이어에게 기본 공격을 사용한다. 이 때 몇가지 처리가 필요하다.

  • 뒤치기 스킬 사용 시 플레이어의 뒤로 텔레포트 한다. 이 때 즉시 텔레포트 하는 것이 아니라 지연시간을 가지며 미니 보스의 은신 모션을 실행 한다. 이 에셋에 은신과 관련된 직접적인 애니메이션이 없어 사망 애니메이션을 재구성했다.
  • 마찬가지로 텔레포트 후 즉시 공격하는 것이 아니라 은신이 완전이 풀릴 때 까지의 지연 시간을 가진다. 은신이 풀릴 때는 은신 상태에 돌입할 때보다 빠르게 풀리도록 했다. 지연 시간이 너무 길면 플레이어가 쉽게 도망갈 수 있기 때문이다.
  • 지연 시간 이후 공격을 무조건 실행한다. 나는 기본 공격을 실행하는 처리를 넣었다.

아래는 뒤치기 스킬 사용 장면이다.

뒤치기

Spell Cast

역시 스킬 네이밍은 어렵다. 그냥 에셋에서 제공하는 스킬 애니메이션에서 이름을 따왔다.

이 스킬은 플레이어의 근처 위치에 위에서 아래로 향하는 공격을 발사한다. 위에서 아래로 향하는 각 공격을 편의상 어둠 하강이라고 부르겠다. 이 스킬 자체에 다양성을 주기 위해 몇가지 처리를 했다.

  • 어둠 하강의 개수를 정적으로 생성하는 것이 아닌 동적으로 랜덤하게 생성한다. 나는 1 ~ 5개 사이의 어둠 하강을 생성하도록 했다.
  • 어둠 하강의 개수가 많아질 수록 피하기 어려우므로 데미지를 약화시킨다.
  • 어둠 하강의 생성 방향 역시 랜덤하게 선택한다. 맵을 기준으로 왼쪽 -> 오른쪽, 오른쪽 -> 왼쪽 방향을 랜덤하게 선택한다.

아래는 Spell Cast 스킬 사용 장면이다.

Spell Cast

3. 전투

실제 전투 모습

보스가 사용하는 스킬에 집중하기 위해 공격은 거의 하지 않고 일부로 피격 당했다. 각 스킬 하나 하나도 강력하지만 모였을 때는 상당히 강력해진다. 보스의 움직임과 스킬 사용을 예측하고 정밀한 움직임을 해야 피할 수 있다.

전투1

전투 및 클리어

아래는 클리어 장면이다. 무기는 샷건을 사용했으며 클리어 장면을 보여주기 위해 다소 난이도를 낮춰서 진행했다.
클리어 시 아이템을 드랍하는데 특수무기인 미니건을 획득할 수 있다.

전투2

This post is licensed under CC BY 4.0 by the author.