['언리얼 서밋 2018' 발표자 소개] 곽대규 개발자는 현재 엔씨소트에서 '프로젝트TL'에 시니어 이펙터로 참여하고 있다. 과거 조이온에서 '해상왕 장보고', NHN에서 '아크로드'를 개발했고, 엔씨소프트에서 '블레이드&소울'를 개발했다.

게임 이펙트를 개발함에 있어 개발자들은 보통 '리얼리티'와 '판타지'를 두고 고민한다. 이에 곽대규 개발자는 "마법사가 스킬을 실감 나게 사용한다면 리얼리티인가? 판타지인가?"라는 물음을 던진다. 이펙트 작업에 들어가면 '어떤 식으로 접근'할지 기조를 잡고 들어가는데, 곽대규 개발자는 리얼리티와 판타지보다 먼저 고려해야 할 사항을 '언리얼 서밋 2018'에서 들려줬다.

그의 설명에 따르면 이펙트는 누가 나를 공격하는지, 공격이 어디서 날라왔는지 등을 염두에 두고 개발한다. 반면 '프로젝트TL'은 다중 전투를 굉장히 중요시 여겼다. 이는 '프로젝트TL'의 소개 영상에서도 확인할 수 있는데, 백 명, 천 명과의 전투가 일어나면 게임이 어떻게 될지 고민한 흔적이 보인다.

곽대규 개발자는 이펙트 개발만큼 '고민을 이해해주는 결정권자'가 중요하다고 강조한다. 결정권자가 "왜 이펙트에 많은 파티클을 뿌리지 못했어요?"라고 묻는다면, 그를 이해시키는 것이 시니어 개발자의 숙제라고 그는 전한다. 만약, 이해해주는 결정권자를 만난다면 개발은 더욱 수월해진다.

▲ 다양한 이펙트가 들어간 '프로젝트TL' 트레일러

'프로젝트TL'에 들어간 이펙트는 엔씨소프트가 큰 공을 들인다. 바람이 불면 흔들리는 풀잎이나 태양광 효과, 안개 효과 등을 위해 Wind Directional Components, Sun Light, Height Fog, Atomspheric Fog, TOD 등을 사용했다. 그는 엔씨소프트가 시간에 따른 변화인 TOD에 특히 공을 들인다고 소개했다. 곽대규 개발자는 최대한 많은 테스트를 거치고 가장 효율적이고 표현하기 쉬운 프로그래밍을 택했다고 전했다. 만약, 알맞은 방법을 찾지 못했다면 자체 개발했을 거라고 덧붙였다.


'프로젝트TL'의 TOD 레벨 시퀀서에는 특히 많은 액터가 들어가 있다. 곽대규 개발자는 위 이미지의 시퀀서는 실제의 1/20 정도라고 소개했다. 이처럼 많은 레벨 시퀀서가 들어가는 이유는 밤낮 구분은 물론, 비가 오는 하늘, 맑은 하늘, 맑은 저녁, 비가 오는 저녁 등 가능한 모든 경우를 대응하기 위해서라고 설명했다. 컴퍼넌트로 넣은 것은 레벨 블루 프린트에서 로딩하게 된다.

보통 엔씨소프트를 떠올리면 굉장한 하이엔드 기술을 적용할 것이라 예상할 수 있다. 반면, 곽대규 개발자는 '엄청나게' 하이엔드 기술을 갖고 있지는 않다고 전했다. 예전에는 언리얼 엔진만 사용해도 '차세대' 게임이 되었지만, 이제는 많은 개발자들이 언리얼 엔진을 사용한다. 그가 전한 엔씨소프트가 다른 개발사와 차별화는 실패가 가능한 환경에서 다른 팀과의 유기적인 협업이다.

그의 소개에 따르면 엔씨소프트는 신호와 기호를 시작으로 누가, 무엇을, 어디에서 하는지를 기본으로 여기고 이펙트 작업에 돌입한다. 그는 앞선 과정을 해결하지 않으면 아무리 이펙트를 만들어도 소용없다고 전했다. 원론적인 것을 중요하게 생각하지 않으면 게임은 무거워지기 마련이고, 침몰하게 된다.

곽대규 개발차가 사용한 이펙트 프로그램은 블렌더(Blender 3d), 마야, 후디니(Houdini), 3ds Max 등이다. 곽대규 개발자는 이 중에서 블렌더를 유용하게 사용했고 추천했다. 다른 프로그램은 비싸지만 블렌더는 무료이고 다양한 사용 방법이 인터넷을 통해 많이 공유되기 때문이다.

블렌더를 언리얼 엔진에 포팅하면 다양한 노이즈와 함께 시연할 수 있는 파티클이 생긴다. 블렌더의 포스 필드(Force Field)를 통해 만든 파티클은 카스케이드(Cascade) 프로그램의 GPU 파티클에 연결하면 로드할 수 있는데, 무겁다는 단점이 있다. 파티클 개체 수가 보통 1~2만 개면 예쁘게 나오고 최소한 천 개는 사용해야 한다.

▲ 레이파이어를 쓰면 조금 더 수월해진다

곽대규 개발자는 "제가 엄청난 기술을 쓰는 건 아니다"라고 말한다. 이어 그는 "그래서 뭘 잘하길래 언리얼 서밋에서 발표하나"고 스스로 물었고, "그동안 쌓아온 실패의 경험이 굉장히 많다"고 답했다. 그는 이펙터가 개발하면서 파티클을 많이 써야 하는 경우가 자주 생긴다고 전한다. 이때 과부하와 효과 사이에서 고민하게 되고, 경험이 쌓일수록 더 나은 선택을 할 수 있다고 덧붙였다.

결국 그가 전한 좋은 이펙트를 위한 방법은 '최대한 많은 경험을 해보는 것'이다. 곽대규 개발자는 경험이 곧 기술이 된다고 조언한다. 그리고 이 경험이 시니어 이펙터가 가진 강점이라는 것이다. 그는 자신의 작업을 실패의 결과물이라고 소개한다. 시니어 이펙터는 많은 실패를 통해 경험을 쌓았고, 그것을 바탕으로 좋은 게임을 만들고 있다.

끝으로 곽대규 개발자는 "정말 실패를 많이 해보고, 악조건을 많이 만들어봐야 한다고" 전했다. 그리고 경험을 적어둬 기술로 만든다면 이펙트의 가치를 높여줄 것이라고 조언하며 마쳤다.