본문 바로가기
게임 프로그래밍/게임개발 중급

게임개발 중급(53) - Monster Killer(15)

by jyppro 2023. 6. 14.

Monster Killer(15)

저번 시간에는 저희가 앞으로 해결해야 할 문제점과 개선점에 대해서 정리하는 시간을 가졌습니다. 이제부터 하나씩 차근차근 진행할 것입니다. 오늘은 사운드와 1차 코드정리부터 시작하겠습니다.

 

사운드(Sound)

사운드는 게임의 필수요소입니다. 사운드는 게임의 몰입도를 높여주고, 더 생동감있게 게임을 진행할 수 있도록 도와주는 역할을 합니다. 우선 해당 게임에서 필요한 사운드가 무엇인지, 적용해야할 사운드가 어떤 것이 있는지부터 파악하도록 하겠습니다.

 

필요 사운드 파악

제가 만들고 있는 게임은 현재까지는 몬스터와 플레이어가 1대1로 대결하는 구도를 가지며, 몬스터는 일정시간마다 공격을 하며 플레이어에게 피해를 입히고, 플레이어는 무기를 사용하여 빠른 속도로 공격해 몬스터를 퇴치하며 다음 스테이지로 넘어가는 형식입니다. 그렇다면 저희에게 기본적으로 필요한 사운드는 몬스터 기본 사운드, 몬스터 공격 사운드, 플레이어 공격 사운드가 있습니다. 여기서 추가적으로 배경음악이나 몬스터와 플레이어의 피격 사운드를 추가할 수도 있습니다.

 

에셋 스토어 활용

사운드는 다양한 방법으로 구할 수 있습니다. 하지만 개발자는 음향과는 거리가 있기 때문에 초보자라면 사운드를 어떻게 구해야 하는지 잘 모를 수 있습니다. 직접 녹음을 할 수도 있고, 검색을 통해 외부사이트에서 다운을 받을 수도 있지만, 초보자에게 가장 추천되는 방법은 유니티 에셋스토어의 무료에셋을 사용하는 것입니다.

사운드에셋
사운드 무료 에셋

저는 Monster SFX라는 무료에셋을 다운받아 사용하겠습니다.

 

기본적인 사운드 적용

기본적으로 사운드를 적용하는 방식은 간단합니다. 소리를 적용시키고 싶은 오브젝트에 Audio Sourcce 컴포넌트를 추가하고, AudioClip에 다운받은 소리 중 원하는 것을 골라 넣어주면 됩니다. 저는 일단 몬스터가 소환되면 실행되는 소리를 넣어주겠습니다.

오디오소스
오디오소스

Play On Awake는 해당 오브젝트가 Enable 된 시점에 최초로 1번 실행되는 것을 의미합니다. 저는 몬스터가 처음 생성되면 해당 소리가 나오는 것을 원하기 때문에 건들 필요가 없습니다.

 

다양한 사운드 설정

공격 애니메이션에 맞춰 소리가 나도록 하고, 플레이어가 몬스터를 공격했을 때 등등 사운드를 다양한 방식으로 설정해야 할게 많기 때문에 다음에 이어서 진행하도록 하겠습니다.

 

1차 코드 정리

코드의 가독성을 1차적으로 높이기 위해 1차적인 코드정리를 진행하였습니다. 한 줄로 끝나는 if문 같은 코드들은 괄호를 벌려서 사용하면 코드의 길이를 쓸데없이 늘리기 때문에 한 줄로 통합시켜 주었습니다.

void Start()
{
	StageBar = GetComponent<Slider>();
}

해당 코드는 바꿔주기 전 코드 예시입니다. StageController의 Start()입니다.

void Start() { StageBar = GetComponent<Slider>(); }

이렇게 바꿔주면 3~4줄을 한 줄로 줄여 더 보기 편하고, 코드의 길이를 쓸데없이 늘리지 않습니다. 현재 만든 모든 코드에 대해서 해당 작업을 진행하였습니다.

 

<NEXT>

오늘은 사운드의 사용과 1차 코드정리에 대해 다루었습니다. 내일은 오늘 했던 내용에 이어서 다양한 방식의 사운드 적용 및 2차 코드정리에 대해 이야기 해보겠습니다. 감사합니다.