스카이림의 수레와 벌, 여우와 보물

며칠 전 Nate Purkeypile이라는 분이 트위터에 아래와 같은 트윗으로 스카이림 인트로씬의 수레에 관한 개발 뒷얘기를 공유했습니다. 그리고 다음 날 Joel Burgess라는 분이 이어, 스카이림의 여우에 관한 얘기를 공유했어요.

여러모로 재미있는 얘기라 간단히 옮겨봅니다. 아래는 각 트윗 스레드의 본문을 그대로 옮긴 것입니다. 즐겁게 읽어주세요.

수레는 왜 하늘로 올라갔을까?

스카이림 인트로씬에 관해서, 그리고 게임 개발이 얼마나 고된 일인지 얘기해볼게요.

지금은 아주 유명한 인트로씬이지만, 당시에서는 작업하고 또 작업하고 영원히 계속 작업해야 하는 일이었을 뿐이예요. 저 수레 장면을 몇 번이나 봤는지 모르겠네요. 수백 번은 쉽게 넘어요.

수레 탑승에서 이슈는 이 수레가 레일 위에서 움직이는 게 아니라는 겁니다. 수레는 물리 시뮬로 움직여요. 왜냐고 물으신다면? 아주 훌륭한 질문이에요.

아무튼, 덕분에 온갖 것들로 수레는 맛이 가기 시작해서 길을 벗어나 버렸어요.

길이 너무 울퉁불퉁했을 수도 있고요. 그냥 물리 버그가 문제였을 수도 있죠. 누군가 우연히 길에 너무 가깝게 바위를 배치했을 수도 있어요. 수레에는 자신이 따라가려고 하는 경로가 있었어요. 하지만 경로가 있다고 해서 그 경로를 따라갈 수 있다는 뜻은 아니죠. 아주 큰 차이가 있답니다. 🙂

음, 한 번은 또다시 그 수레를 탔어요. 수레가 격렬하게 뒤흔들리기 시작하더니, 갑자기 슈욱! 수레가 로켓 우주선처럼 하늘로 치솟아 버렸어요. 마치 길이 그 위로 향하는 것처럼요.

뭔가가 수레한테 지금 즉시 그 길에서 벗어나라고 말하고 있었죠. 이 문제는 늘상 겪는 일이 아니었어요. 처음에는 무슨 일이 일어나고 있는지 아무도 몰랐어요.

확인해 보니, 게임 속의 벌을 집어들 수 없는 다른 버그가 있었더라고요. 그래서 (벌을 재료로 쓰는) 일부 포션을 만들 수가 없었죠. 그 버그는 수정됐어요. 벌에 입혀진 충돌 유형이 이상해서 집어들 수 없었던 거고, 그래서 그 부분만 수정했어요. 그렇게 되니 벌이 이제 다른 사물에 충돌할 수 있게 됐죠.

그렇다는 건, 벌이 움직일 수 없는 자연의 힘이 된 건데, 그 벌이 수레의 경로에 어쩌다가 끼어든 거죠. 수레는 길을 따라가고 싶었어요. 하지만 벌은 움직이고 싶지 않았죠. 그래서 수레가 벌을 올라탄 거예요!

게임 개발이 이렇게 고됩니다. 하나를 고치고 나면, 다른 뭔가가 망가질 수 있죠. 오픈 월드 게임일 경우에는 특히 더 그래요. 하지만 모든 시스템의 그런 상호작용이 모든 걸 훨씬 더 흥미롭게 만들어주죠.

모두 이 이야기를 즐겁게 들어주셨다니 기쁩니다! 제가 가장 좋아하는 이야기 중 하나에요.

더 궁금한 게 있으시면 저를 팔로우해주세요. 저는 혼자서 언리얼 엔진으로 인디 게임을 만들고 있어요. 오픈 월드 호러 메탈 게임이랍니다. 🙂

저 혼자만 있어요. 그냥 퍼키 게임즈예요.

여우를 쫓다 보면 보물이 나온다고?

좋습니다. 어제 퍼키의 벌 관련 글에 영감을 받아서, 제가 좋아하는 스카이림 구전 설화를 하나 풀어볼게요. 보물 여우의 신화입니다.

이전에 발표 자리 같은 곳에서 이 얘기를 한 적 있는데, 트위터에는 안 했던 것 같아요. 시작해봅니다.

스카이림 플레이어들 사이에선 이런 팁이 떠돌곤 합니다. ‘야생의 여우를 발견하면, 여우를 따라가. 그럼 보물이 나온대.’

출시하고 얼마 안 되어서, 이런 얘기가 온라인에 돌고 있다는 걸 저희도 알게 됐어요. 그래서 비공식적인 조사를 시작해봤죠. 누가 여우가 이런 짓을 하게 만든 거야?!

유력 용의자들이 조사를 받았습니다. 저, @jean_simonet, @Jonahlobe, @Markiepo0, 그리고 그 외의 사람들이요. 하지만 누구도 자백하지 않았습니다.

궁금해진 저는 스크립트를 뒤져보기 시작했어요. 아무것도 안 나와요.

누구도 이런 행동을 만든 게 아니라면, 대체 뭐지?

쟝이 알아냈어요. (늘 그렇듯)

스카이림은 AI 내비게이션에 ‘내브메쉬’라는 걸 써요.

개발에 덜 익숙한 분들을 위해 설명하면, 내브메쉬는 겉으로는 안 보이지만 세계를 뒤덮고 있는 폴리곤 3D 시트에요. AI에게 어디는 갈 수 있고, 어디는 갈 수 없다고 알려주는 역할을 해요.

아래 그림에서 빨간색이 내브메쉬에요. 더 궁금하신 분들은 ‘이 링크’를 참고하세요.

이미지

대부분의 상황에서, AI는 뭘 할지 결정하고(플레이어에게 달려든다, 엄폐물 뒤로 숨는다 등등), 내브메쉬를 이용해서 이동 경로를 만들고, 그 경로를 따라 이동해요.

여우도 다르지 않아요. 하지만 여우의 AI는 아주 단순했어요. 기본적으로 여우는 도망칠 수만 있어요.

여우를 놀라게 하면, 여우는 도망쳐요.

그래요. 여우가 도망쳐요. 그런데 왜 보물 쪽으로 도망칠까요?

여기부터 재미있어집니다.

AI에 가까이 다가가면, 해당 AI는 “하이 프로세스” 모드가 됩니다. 가장 멋드러지고 CPU 많이 쓰는 패스파인딩 모드죠. 이 모드는 전체 내브메쉬를 쓰고 시선이나 거리 체크 같은 걸 해요.

반대로 “로우 프로세스”도 있죠. 세계 곳곳의 무역 경로를 따라 걷는 NPC 같은 것에 쓰는 거고요. 이 모드는 몇 분 단위로만 업데이트되고 그 위치도 굉장히 헐겁게 추적해요.

하지만 여러분의 얼굴을 찌르는 강도는 내브 쪽을 초당 여러 번 실행하죠.

그래서 쟝이 (항상 그렇듯) 제가 모르던 뭔가를 알아냈어요.

말하자면 “미디엄 프로세스”라는 것도 있었던 거죠. 플레이어 부근에 있지만, 전투처럼 아주 복잡한 패스파인딩까지는 필요없는 캐릭터를 위한 모드죠.

여우 AI의 동작 방식(항상 도망!)때문에, 여우는 기본적으로 이 프로세스만 쓰게 됩니다.

여기부터는 스카이림이 내브메쉬를 어떻게 활용하는지 이해해야 하는데요.

게임 세계의 야외에서는 단순한 내브메쉬를 써요. 기본적인 지형에 별로 복잡한 물체들도 없고 전투할 확률도 낮은 공간에는 디테일을 많이 넣을 필요가 없죠.

그래서 야생의 황무지 = 커다란 삼각형이 소수로 있어요.

하지만, 캠프처럼 뭔가 특별한 곳에서는 내브메쉬가 훨씬 디테일해져요. 시각적인 디테일이 추가되면 내브메쉬 디테일도 추가되는 거고, 어떤 종류든 NPC를 배치한다면 디테일을 좀 더 넣게 되죠.

그래서 관심 지점(Point of Interest) = 작은 삼각형이 다수로 있어요.

이제 어떻게 된 건지 아시겠어요?

여우는 도망칠 때 100미터만큼 도망치는 게 아니에요. 100개의 삼각형만큼 도망치려고 하죠.

100개의 삼각형을 쉽게 발견할 수 있는 곳이 어디일까요? 캠프/유적 등으로 우리가 세계를 잔뜩 어지럽혀 놓은 곳, 그리고 플레이어의 탐색을 보상하기 위해 보물로 가득 채워둔 곳이죠.

그러니까, 여우는 플레이어를 보물로 인도하는 게 아니에요. 하지만 여우의 행동 방식은 보물이 있을 법한 곳으로 향하는 거죠. 왜냐면 보물이 있는 관심 지점에는 여우가 목표하는 다른 특성(작은 내브메쉬 삼각형이 엄청 많음)이 있기 때문이죠.

하지만, 플레이어에게는 뭐, 그게 그거죠.

약간 너디한 이야기지만, 제가 사랑하는 이야기에요.

디자인된 랜덤성을 가리켜 ‘창발적인 게임 플레이’라고 부르곤 하지만, 이 경우는 아무도 디자인하지 않았지만 여러 개의 시스템이 겹쳐 부글거리는 가마솥에서 탄생한 실제 게임 플레이에요.

참 아름답다고 생각해요.

(끝)

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중