야생의 땅: 듀랑고
넥슨이 올해 1월 출시한 MMORPG(다중접속역할수행게임)다. 기차를 타고 이동하던 캐릭터가 시공간이 뒤틀리는 사고를 겪은 뒤 무인도에 도착한다. 이 야생의 세계에서 유저는 동물을 사냥하고 농사를 짓고 건물을 세우면서 문명사회를 일군다. ‘유니티 엔진’ 으로 만들었다.
여기는 전기도, 문명도 없는 공룡시대다. 시공간이 뒤틀리는 사고로부터 살아남은 나는 다른 생존자들과 함께 힘을 합쳐 살아가고 있다. 그러려면 온 갖 동식물이 무성하게 자라는 이 야생의 땅을 개척하고 살아남아야 한다.
사람 키만 한 갈대가 무성한 숲을 지나고 집채만한 바위를 넘어 평원을 달리다보니 배가 고프다. 호수에 있는 물고기 떼를 잡아 구워먹으면 좋겠다. 그물이 있으면 편할 텐데, 아까봤던 갈대를 베어 새끼줄로 꼬면 그물을 만들 수 있지 않을까. 여기저기 널려 있는 돌멩이를 뾰족하게 갈아 나뭇가지에 묶으면 작살을 만들 수도 있을 것 같다.
문명 일구는 재미 쏠쏠
올해 1월 넥슨 왓스튜디오가 야심 차게 내놓은 게임 ‘야생의 땅: 듀랑고(듀랑고)’. 궁금한 마음에 직접 듀랑고를 해봤다. 유저가 과일을 따거나, 공룡을 사냥하거나, 모닥불에서 고기를 요리하는 등 다양한 임무를 수행하면 집을 세우고 농사를 짓는 등 점점 고난이도 활동을 할 수 있다. 레벨이 높아지면 다른 유저들과 만나 협동하면서 가상 사회를 일군다.
듀랑고의 가장 두드러지는 매력은 현실 세계와 흡사하게 재현한 생태계다. 섬의 지형이나 기후에 따라 환경에 적합한 동식물이 자라도록 설계 돼 있어, 섬을 이동할 때마다 각기 다른 환경이 펼쳐진다. 게임 진행에서 정해진 답안이 없어, 실제로 야생의 땅을 개척하는 기분이 든다.
유저 활동과 관계없이 공룡끼리 싸우거나 나뭇가지와 잎이 다 떨어진 나무가 사라지는 등 자연스러운 변화도 있다. 환경에 따라 다른 식생을 관찰하거나, 다른 동물이 죽인 공룡에게서 가죽과 고기를 얻고, 다른 유저가 오기 전에 희귀한 식물을 싹쓸이 하는 재미도 쏠쏠하다. 이렇게 듀랑고가 사실적인 야생의 땅을 구현하기까지 개발자들은 끊임없이 새로운 도전을 했다.
‘절차적 생성 알고리즘’으로 동식물 배치
듀랑고의 동식물 생성과 분포를 담당한 강임성 넥슨 왓스튜디오 리드게임기획자는 “듀랑고 세계에서는 섬이 15레벨 사바나(사막과 열대우림 사이의 열대 초원) 기후를 기준으로 1만 개가 넘기 때문에 게임 전체로 따지면 셀 수 없이 많다”며 “콤프소그나투스, 랩터, 제브라케라톱스 등 공룡을 포함한 동물 80여 종과 갈대와 코코넛(야자), 대추야자 등 식물 150여 종이 서식한다”고 설명했다.
이 게임의 맵은 2차원 좌표에서 가로와 세로선이 그물을 이루고 있는 그리드 형태다. 만약 개발자가 손수 나무를 심고 동물을 놓으려면 그리드를 이루고 있는 격자(mesh·메시)마다 좌표를 하나씩 설정해야 한다. 하지만 수백 종이나 되는 동식물을 섬의 조건에 따라 일일이 배치하기는 불가능하다.
동식물과 광물을 섬 전체에 골고루 분포시켜야 한다는 점도 고려해야 한다. 자원이 한곳에만 몰려 있으면 그 지점에서 멀리 떨어져 있는 유저들은 자원을 찾기 위해 섬 전체를 돌아다녀야 해 번거롭다. 특정 자원이 적은 섬에서는 자원이 빨리 고갈 될 수도 있다.
강 기획자는 “듀랑고에는 기계가 이해할 수 있는 수준의 원칙이나 원리를 주고 적용하는 ‘절차적 생성 알고리즘’을 사용했다”면서 “예를 들어 나무를 심는 방정식을 이용해 소나무, 바오밥나무, 코끼리풀 등을 심는다”고 설명했다. 섬마다 동식물을 일일이 만드는 것이 아니라 알고리즘을 이용해 자동으로 생성시키는 것이다.
절차적 생성 알고리즘은 원래 3D 그래픽에서 메시에 따라 다각형(폴리곤)의 색상이나 질감(텍스처)을 만드는 데 사용됐다. 최근에는 이 알고리즘이 게임에서 던전을 만들거나 영화에서 군중 장면 컴퓨터그래픽(CG)을 만들 때 사용된다.
강 기획자는 “간격, 밀집도 등 미리 지정한 규칙에 따라 나무나 동물 등 자연물이 생성된다”며 “특정 동물이나 식물, 암석이 놓여 있는 모습이 직관적이고 개연성이 있게 보이는 게 듀랑고의 핵심기
술”이라고 말했다.
"듀랑고는 식물생태학을 활용해 실제 자연환경과 비슷하게 게임 속 식생을 만들었다.
유저들은 처음 가보는 곳에서도 위화감을 느끼지 않고 직관적으로 판단할 수 있다"
식물생태학 이론 접목해 사실감 높여
듀랑고 개발팀은 맵을 만들던 중 또 하나의 난관에 봉착했다. 사실적인 식물들로 섬을 빽빽하게 채우고 나니, 예상과 달리 식물종이 뒤죽박죽 섞여있는 것처럼 보여 실제 자연과 다르게 느껴졌기 때문이다.
이 문제를 해결하기 위해 강 기획자는 식물생태학자들의 식생(한 지역에 살고 있는 식물 집단) 연구 이론을 게임에 적용했다. 식물생태학자들의 연구에 따르면 식생에는 편평한 지역에서 자라는 짧은 풀 집단(매트리스)과 중간 크기의 풀과 나무가 옹기종기 자라고 있는 집단(패치), 그리고 다양한 식물 종이 모여 살고 있는 집단(모자이크), 강가를 따라 길게 늘어서 있는 집단(코리더)이 있다.
강 기획자는 이 이론에서 영감을 얻고 듀랑고 세계에서도 편평한 풀밭으로 된 매트리스와 정글소철이나 코끼리풀처럼 키가 작은 식물이 옹기종기 자라는 패치, 다양한 식물이 알록달록하게 모여 사는 모자이크, 그리고 강가를 따라 나 있는 갈대숲의 코리더를 구현했다.
그는 “식물생태학을 활용해 실제 자연환경과 비슷하게 게임 세계를 만들어 식생을 적절하게 분포시켰다”며 “이를 통해 유저들이 처음 가보는 곳에서도 위화감을 느끼지 않고 직관적으로 판단할 수 있도록 했다”고 말했다. 가령 듀랑고에서는 갈대를 베려면 물가로, 산딸기를 따려면 작은 나무와 덤불들이 모여 있는 곳으로 가면 된다.
그는 사실적인 동물계를 구현하기 위해 동물생태학과 행동학 이론도 활용했다. 예를 들면 트리케라톱스 무리에서는 부모 너댓 마리와 새끼 두세마리가 다니도록 했다. 또 사냥을 하거나 천적을 피할 때는 개별적으로 움직이지만 먹이를 찾아 이동할 때는 무리지어 다니도록 설정했다.
‘디스턴스 필드’로 동식물 서식지 결정
섬 여기저기를 돌아다니며 고기를 얻고 열매를 따모으다보니 어느새 가방이 다 찼다. 아이템을 나눠 담을 바구니를 짜려고 하니 갈대 세 줄기가 필요하단다. ‘갈대=물가’라는 노하우를 떠올리며 지도를 보니 남서쪽에 바다가 있다. 열심히 달려갔지만 갈대는커녕 풀 한포기 없이 조개껍데기만 무성하다.
정신을 차려 보자. 만약 현실이었다면 절대 바닷가로 가지 않았을 것이다. 갈대는 바닷가처럼 염분이 많은 곳보다는 강가나 호숫가, 늪지처럼 염분이 낮고 축축한 곳에 많이 자라기 때문이다.
게임을 개발하던 초기에는 이런 세세한 조건을 따지지 않아 위화감이 드는 장면이 더러 있었다. 갈대나 대추야자나무는 물을 너무 사랑한(?) 나머지 호수 한가운데에서 자랐고, 추운 지역에서만 자라는 전나무가 사막에 솟아났다. 바닷가에서 자라는 코코넛나무가 산꼭대기에 우뚝 서기도 했다.
듀랑고 개발팀은 초원과 사바나, 열대우림, 사막, 한대, 툰드라, 설원 등 군계에 따라 적합한 동식물을 배치하기 위한 방법을 찾았다. 온도, 습도, 염분, 다른 식물과의 거리 등 식물이 성장하는 데 영향을 미치는 요소들을 고려했다. 그리고 식물종마다 그리드에 배치될 수 있는 조건을 최댓값과 최솟값으로 수치화했다.
예를 들어 전나무는 영하 40도~영하 11도(실제 서식에 적합한 온도와는 다르다), 습도 5~70%(실제 습도와는 다르다)에서만 살 수 있도록 설정했다. 이에 따라 전나무가 살 수 있는 군계는 툰드라나 타이가(북부유럽, 캐나다 등의 침엽수림 지대)로 정해졌다. 또 전나무의 크기는 850으로, 그리드에서 다른 나무와 세 칸 이상 떨어지도록 했다.
강 기획자는 “이런 식으로 개체마다 조건별로 수치 범위를 정하다보니 알고리즘이 매우 복잡해 졌고, 연산량도 어마어마하게 늘었다”며 “결국 알고리즘을 간소화시킬 필요성을 느꼈다”고 밝혔다.
그는 이에 대한 해답을 물과 땅의 경계를 자연스럽게 처리하는 그래픽 기술인 ‘디스턴스 필드(Distance Field)’에서 찾았다. 수심이 깊은 바다에서 육지로 이어질 때 디스턴스 필드를 적용하면 수심이 차츰 얕아지다가 땅이 드러나는 부분에서 뚜렷한 경계선 없이 자연스럽게 이어진다.
이와 마찬가지로 식물 종마다 온도, 습도, 염분 등의 수치를 디스턴스 필드를 이용해 서식 범위로 지정했다. 가령 갈대가 자라는 범위의 경우 민물 기준으로 디스턴스 필드를 100~125로 정하면 갈대가 물길을 따라 호숫가 주변에서만 자란다.
무생물도 마찬가지다. 듀랑고 개발팀은 산 정상에서 지상으로 내려올수록 바위의 크기가 점점 작아지고 돌멩이가 많아진다는 사실을 적용했다. 산꼭대기로부터 디스턴스 필드를 지정하면 정상에서 거리가 멀어질수록 작은 돌이 많아진다.
강 기획자는 “디스턴스 필드 덕분에 섬마다 나무를 선택해 하나하나 심지 않아도 자연스러운 식생이 자동으로 생겨난다”며 “유저들도 섬을 헤맬 필요 없이 ‘코코넛은 바닷가, 조개껍데기는 해변, 바위는 높은 곳’ 등 원하는 자원이 어느 지역에 많은지 직관적으로 알 수 있다”고 설명했다.
[Interview]
넥슨 왓스튜디오 리드게임기획자_강임성
넥슨에서 어떤 일을 하고 있나
과거에는 ‘올림픽 게임 시티’ ‘트레인 시티’ 같은 게임을 기획했다. 최근에는 ‘야생의 땅: 듀랑고’ 를 기획했다. 듀랑고 세계에서 자연적으로 생성되는 식생과 동식물 생태계의 배치 규칙을 디자인했다.
전공은 뭔가
이력이 조금 특이하다. 고생물학연구실에서 해양무척추동물을 연구해서 박사과정을 수료했다. 어려서부터 꿈이 과학자였기 때문에 자연과학부에서 지질학, 고생물학을 공부했다. 그러다가 창의적이고 재미있는 일을 하고 싶어서 게임 개발자가 됐다. 게임 개발자 중에는 컴퓨터공학이나 미술 전공을 한 사람이 많다. 하지만 나처럼 다른 분야를 전공하더라도 게임을 개발하는 데 도움이 될 수 있다. 실제로 듀랑고 세계를 현실과 비슷하게 구현하는 과정에서 전공 지식이 도움이 됐다. 또 자연과학에서는 하나의 가설을 세우고 검증하는 방식의 사고와 연구 방식을 훈련 받는데, 듀랑고를 개발하는 과정에서 기술적인 한계에 봉착할 때마다 이를 해결하는 데 큰 힘이 됐다.
어떻게 게임 개발자가 됐나
공부가 재미있기는 했지만 자연과학 분야에서 진로를 찾기에는 고민이 많았다. 내가 어떤 일을 잘 할 수 있을까 고민한 끝에, IT 기기, 그 중에서도 스마트폰과 애플리케이션에 관심이 많다는 사실을 깨달았다. 그래서 애플리케이션을 직접 개발해보자며 도전했다가 결국 게임 개발자가 됐다.
게임 개발자가 되려면 어떤 소양이 필요한가
게임 분야는 기술이 상당히 빨리 발전하고 유저들이 좋아하는 게임 장르나 내용도 빠르게 변화한다. 거의 1~2년 주기로 패턴이 달라지는 것 같다. 그래서 앞으로 5년 뒤 어떤 게임이 인기를 끌지 예상하기가 어렵다. 새로운 기술을 익히고 기술의 트렌드를 빨리 파악할 수 있는 능력이 중요하다. 또 다양한분야의 지식을 계속 습득하는 일도 중요하다. 실제로 듀랑고를 개발하기 위해 식물생태학, 동물생태학, 동물행동학, 동물형태학 등 굉장히 다양한 분야를 공부했다.
▼관련기사를 계속 보시려면?