안녕하세요. 스튜디오 EIM의 정사인입니다. 이번에는 게임 사운드 엔진의 종류와 기능 그리고 구현하는 과정에 도움을 주시는 프로그래머 분들과 소통하는 법, 마지막으로 최종 빌드 이후에 유저들의 피드백을 대하는 자세에 대해 이야기 하겠습니다.
1. 게임 사운드 엔진 종류와 기능
사운드 엔진 종류부터 얘기 해볼게요. 게임 사운드 엔진의 종류는 현재 유명한 것은 WWISE와 FMOD가 있습니다. 물론 이 두 가지 외에도 오래 전에는 마일즈라는 것을 많이 썼어요. 하지만 요즘은 잘 쓰지 않고요. 사운드 엔진은 아니지만 기본 물리 엔진인 유니티나 언리얼에서도 이 기능들을 모두 사용할 수 있습니다. 다만, 직접 사용하려면 입맛에 맞게 프로그래머가 커스터마이징을 좀 해줘야 하는데요. 직접 프로그래밍을 하시는 사운드 디자이너들도 계시긴 합니다. 그렇다면 직접 해보실 수 있겠죠. 엔진에서 사용하는 기능은 다음과 같습니다. 소리의 믹스, 우선순위에 따른 소리 재생 방법, 같은 소리를 다양하게 가공해서 재활용하는 방법, 다음 프로그래머의 도움에서 조금 벗어나서 디자이너의 자율성에 맞게 게임 사운드를 조율할 수 있습니다. 마지막으로는 최적화와 밸런스 작업에 뛰어난 효율을 보입니다.
각 엔진의 장단점이 있습니다. FMOD는 직관성과 UI가 우리가 사용하고 있는 시퀀서와 유사해서 사용하는 데 큰 어려움은 없습니다. 다만, 좀 더 전문적인 기능과 프로그래머의 입장에 좀 더 가까운 것은 wwise가 좋습니다. 이것은 누엔도와 바로 연동돼서 디자인과정에서도 바로 게임에 적용해볼 수 있기도 하고요. VR처럼 엠비소닉 오디오 채널을 통해서 좀 더 입체적인 구현도 가능합니다. 그렇다고 FMOD 기능이 많이 떨어지는 것은 아닙니다. 비슷한 기능은 둘 다 동일한데, 프로그래머의 손을 좀 더 많이 빌리냐, 안 빌리냐 정도의 차이가 있습니다.
개인적으로는 FMOD가 프로그래머의 지원이 좀 더 많이 필요한 툴이라고 생각 되고요. 지원이 많다면 둘 다 동일하게 잘 사용할 수 있다고 생각합니다.
프로그래머와 소통하는 방법에 대해 말씀 드릴게요. 사운드 엔진을 효율적으로 사용하려면 이 분들과의 협업이 좀 필수적입니다. 물론 사운드 디자이너가 직접 프로그래밍을 하시는 경우도 있긴 하지만, 대부분의 디자이너들은 프로그램에 능숙하진 않기 때문에 가능하면 잘 하시는 분들의 도움을 받는 게 효율적이라고 생각합니다.
그렇다면 어떻게 요청을 해야 될까요? 첫 번째는 원하는 내용을 간단하게 글로 한 번 적어보시고요. 두 번째는 소리가 발생하는 순서를 게임 속에서 발생하는 것처럼 이야기를 해보세요. 세 번째는 그림을 그리는 것도 좋습니다. 우리가 고등학교 때 배웠던 순서도 같은 것들을 활용하는 거죠. 예를 들면, 만약 소리가 시작하고 잠시 대기하다가 발사되는 소리가 있다고 생각해봅시다. 흔히 이런 것을 마법에서 많이 사용할 수 있겠죠?밀리터리 장르에서도 이런 소리들을 많이 사용할 수 있습니다. 예를 들어 볼게요. 첫 번째, 불 마법을 준비를 합니다. 뭔가 불이 점점 생겨나겠죠? 그리고 이 불덩어리가 점점 커집니다. 그리고 불덩어리가 가득 찼어요. 곧 발사되기 직전이죠. 그리고 나선 발사가 됩니다.
FMOD에서는 이것을 이렇게 처리를 합니다. 발사 버튼이 눌러졌을 때 이것을 시그널이라고 하고요. 버튼을 계속 누르고 있을 때는 이 불덩어리가 점점 커지고 있는 거죠. 아직 불덩어리가 커지고 있는 동안에는 마우스를 떼지 않았습니다. 시간이 지나면서 불덩어리가 꽉 찼을 때 소리가 유지가 되어야겠죠? 이때는 계속 소리가 돌고 있어야 됩니다. 마지막으로 유저가 마우스에서 손을 떼면 발사가 되는 거겠죠.
FMOD에서 사운드를 어떻게 재생하는지 확인해보겠습니다. 불 마법 사운드고요. 클릭을 했을 때 마법 캐스팅을 하고 마우스를 뗐을 때 발사가 되는 방법입니다. 프로그램 팀과는 마우스를 뗐을 때를 트리거로 이 키 오프 스위치를 만들어주셨어요. 그래서 마우스를 뗐을 때 신호가 어떻게 됐는지를 확인할 수 있습니다. 만약에 발사 버튼을 눌렀다고 할게요. 점점 고조되는 소리는 루프로 처리를 했습니다. 다음에 마우스를 떼게 되면, 재생이 되도록 되어있습니다. 번 다시 한 번 들어볼게요, 발사. 이런 식으로 소리를 했습니다.
이처럼 간단하게 접근할 수 있는 방법을 먼저 제안을 주시면 프로그램팀에서는 매우 좋아하겠죠? 그러기 위해서는 게임의 구조와 함수를 잘 알고 있으면 더 편해지겠고요. 프로그래머는 이런 요구사항을 아주 좋아할 겁니다. 명확한 요구니까요. 두루뭉실하게 설명하면 원하는 부분이 뭔지 찾기 어렵습니다. 커뮤니케이션이 중요한 부분이죠.
2. 유저의 시각을 고려한 마스터링
생각보다 굉장히 다양한 유저층들이 게임을 즐깁니다. 게임 개발사는 충성 유저들만 데리고 게임을 하는 게 아니라 안티나 아니면 전혀 게임을 모르는 사람까지 고객으로 삼아야 됩니다. 그러다 보니 그들에게 맞추기 어려운 부분도 많이 있죠. 소리도 마찬가지로 다양한 사람들의 눈높이를 맞춰야 합니다. 예를 들면 다음과 같습니다.
‘내가 좋아하는 음악을 따로 듣고 싶은데, 게임에서 나오는 효과음만은 잘 들렸으면 좋겠다.’ 또는 ‘게임 음악도 좋고 효과도 좋아하지만 가끔 내가 다른 음악을 틀었을 때 기존 재생 중인 게임 음악은 저절로 꺼졌으면 좋겠다.’ 또는 ‘나는 음악과 목소리는 듣고 싶지만 효과음은 불편해서 못 듣겠어!’ 이런 사람들도 있죠? 그리고 마지막으로는 ‘다 필요없고 보상이 나왔을 때만 소리가 나왔으면 좋겠다!’라는 사람들도 있어요.
마지막 유저 같은 경우는 디자이너 입장에서는 좀 힘이 빠지는 케이스입니다. 이것도 게임을 즐기는 방법이니까 요구를 들어주는 게 맞죠. 이렇게 된 이상, 알림으로 들어가는 소리를 아주 잘 만들어주는 것도 좋습니다. 보상이나 성과를 잘 나타내주는 소리를 멋있게 만들면 되겠죠? 디아블로 3의 전설아이템이 드랍되면 나는 소리가 있는데요. 이 사운드도 되게 잘 만들어진 사운드입니다. 한 번 들어보시죠.
3. 최종 빌드 이후 피드백을 대하는 자세
드디어 최종 빌드가 완료된 후, 유저들의 피드백을 들어볼 수 있는 시기가 되었습니다. 앞서 말했듯이 유저들은 정말 다양한데요. 귀가 좋은 유저들도 있고 단순한 유저들도 있습니다. 하지만 워낙 적은 사람들이 이 사운드에 관심을 가지고 있는 편이라서 요청이 그렇게 많지는 않지만, 요청이 들어왔을 때는 무척 고무되는 일이죠. 그래서 성심성의껏 대처를 잘 해주면 좋습니다. 물론 기준은 사운드디렉터나 pd가 세우는 게 가장 좋은데요. 디자이너가 할 수 있는 수준에서는 적극적으로 개선을 하는 게 좋습니다. 피드백이 오가는 중에는 커뮤니케이션이 가장 중요합니다. 물론 자세, 인성도 중요하죠. 대부분의 개발자나 유저분들은 이 분야가 어떻게 돌아가는지 잘 모릅니다. 따라서 표현이 격하고 거칠게 들릴 수도 있는데, 여기서 우리가 감정적으로 대하기 보다는 잘 모르는 사람에게 설명하는 마음으로 이야기할 필요가 있습니다.
제가 여러 강좌를 많이 하는 이유도 바로 이 분야가 더 많이 그리고 널리 알려져서 협업과 시너지가 많이 발생됐으면 하는 마음이 있습니다. 그리고 더 많은 디자이너들이 협업하고 인정받아서 이 분야가 게임 사운드 역사에 한 획을 긋는 날이 오기를 기대합니다. 지금까지 스튜디오 EIM의 정사인이었습니다. 감사합니다.
01. 이 강좌에 대해서
게임 사운드 엔진의 종류와 기능, 그리고 구현하는 과정에서의 프로그래머와 소통하는 방법을 알아본다.
02. 강사 소개
정사인 (EIM 기술이사)
03. 강사 이력
- ㈜넷마블 / 레이븐 - 대상, 사운드 부분(2015년) - ㈜엔비어스 / 에오스 - 사운드 부문(2013년) - ㈜네오플 / 사이퍼즈 - 최우수상(2011년) - ㈜넥슨 / 마비노기 영웅전 - 대상, 사운드 부문(2010년)