무리를 막을 수 없습니다.
관련 분야: 게임 기획, 클라우드, PC, 프로그래밍
작성자: Chris Kerr, News Editor
Cosmets. Bewls. Pipers. 글리브. 이 단어들은 미치광이의 중얼거림이 아니라 윌못의 창고와 아이 엠 데드 개발사 할로우 폰즈의 다음 타이틀인 플록에서 매력적이고 수집할 수 있는 소수의 생물체들입니다.
플록은 거대한 새를 타고 경이로운 세계를 탐험하는 오싹한 모험 게임입니다(아니면 그냥 아주 작은 새일 수도 있겠죠?). 여행하는 동안 무지개 빛깔로 소용돌이치며 지저귀는 새떼를 발견하고 육성할 수 있는 기회를 얻게 됩니다.
작년에 저희는 개발팀과 이야기를 나누며 Flock의 자연주의 세계를 어떻게 디자인했는지 알아봤습니다. 이제 7월 16일 플록 출시를 기념하여 Flock의 크리에이티브 디렉터 리키 해겟과 프로그래머 마이크 로빈슨을 만나 Flock의 Flock를 어떻게 구현했는지 알아봤습니다.
우리는 모두 떠 있습니다
해겟은 카메라 위치가 특정 풍수를 조성하는 데 핵심적인 역할을 했다고 설명합니다. 플레이어가 지각 있는 콩코드처럼 숲을 가로질러 양치식물 사이를 헤집고 다닐 때는 카메라의 시야를 가리지 않도록 무리가 뒤로 떨어집니다. 다른 동물을 유혹하는 등 좀 더 고요한 활동을 할 때는 세상 걱정 없이 근처에 모여듭니다.
"초기에는 카메라가 항상 무리 사이에 있는 것이 분명했습니다."라고 그는 말합니다. "멋지기도 했지만, 주변을 서성이는 느낌이 들기도 했죠. 지금은 무리 사이에 있는 멋진 순간을 포착할 수 있는 최적의 지점을 찾았지만, 그 순간만 잠깐이고 다시 무리가 뒤로 물러납니다."
로빈슨은 무리가 일반적으로 몇 가지 주요 규칙에 따라 뭉치는 방식을 결정한다고 말합니다. 그는 각 동물 무리가 플레이어가 조종하는 새를 따라 스플라인을 따라 움직인다고 말합니다. 플레이어가 멈추면 이 스플라인은 "구불구불하게" 떨어져서 은유적인 홀딩 펜을 만든 다음, 플레이어가 속담에 나오는 가스를 맞을 때가 되었다고 판단하면 다시 플레이어에게 붙습니다. 크리처의 위치를 결정하는 코드와 로직은 성능에 "너무 큰 걱정"이 되지 않도록 설계되었습니다.
그는 이 모든 것이 새를 따라가는 스플라인을 중심으로 펼쳐진 기본 위치의 포인트 클라우드를 구현하는 것에서 시작되었다고 말합니다. "새는 현재 상황과 주변에 무엇이 있는지 잘 인식하지 못하지만, 새가 수축할 수 있는 물체에 가까이 날아갈 때나 큰 커브를 돌 때 커브를 지나가는 포인트가 약간 옆으로 밀려나는 등의 작업을 수행합니다."라고 그는 설명합니다.
"어떤 생물체도 자신이 이동하는 속도나 그 밖의 다른 것들을 인식하지 못합니다. 그저 곡선의 끝과 다른 값을 기준으로 밀어내는 것이 아니라 이 스플라인에 매핑하는 것이죠."
플레이어는 플록의 세계를 탐험하면서 새로운 생명체를 발견하고 그들의 애정을 얻어 아찔한 글라이더 비행에 동참하도록 설득할 수 있습니다. 이 수집형 메커니즘을 구현하려면 할로우 폰드에서는 각 무리가 어떻게 움직여야 하는지뿐만 아니라 새로운 생물이 기존 무리에 어떻게 섞여야 하는지도 고려해야 했습니다.
로빈슨은 "현재로서는 새로운 생물이 앞쪽으로 이동하게 될 것입니다."라고 말합니다. "일부 주요 생물은 더 많은 노출을 위해 무리의 앞쪽으로 가려고 할 것입니다. 하지만 저희는 결국 무리에 있는 각 동물의 크기를 모두 확인하고, 각 [동물 유형]에 특정 영역을 확보할 가치가 있는지에 대해 질문했습니다."
날아다니는 소시지의 문제
대답은 '아니오'였습니다. 팀에서는 포지셔닝이 이미 '좋은 지점'에 도달했기 때문에 그 위에 추가적인 복잡성을 더할 필요가 없다고 생각했습니다. 해겟은 다양한 모양과 크기의 크리처가 서로 부딪힐 수 있지만, 플레이어의 움직임 특성상 거의 눈에 띄지 않는다는 점을 인정했습니다. 실제로 할로우 폰드가 무리를 미세 조정할 때 가장 큰 어려움은 긴 보(공식 이름이 아닌)를 분류하는 것이었습니다.
로빈슨은 "대부분의 생물은 물질을 이용해 몸을 구부립니다."라고 말합니다. "골격을 업데이트하지 않아도 되는 상당히 저렴한 재료 솔루션일 뿐입니다. 해겟은 커브 값에 따라 렌더링 시점에 버텍스를 이동하는 벤딩을 설명하기 위해 재빨리 여기에 끼어들었습니다. 문제는 이 솔루션을 길고 소시지처럼 생긴 크리처에 적용했을 때 끔찍하게 보인다는 것이었습니다.
로빈슨은 "결국 스플라인 메시 기술을 사용한 다음 [긴 크리처의] 앞쪽 머리에 스켈레탈 메시를 볼트로 고정하는 방법을 사용했습니다."라고 말합니다. "기본적으로 커브가 원하는 위치에 매핑되어 멋지게 나오도록 하는 것이 중요했습니다. 2점 스플라인이기 때문에 CPU 비용이 높아질 수 있기 때문에 여러 개로 나누고 싶지 않았습니다."
처음에 파이퍼라고 불리는 이 긴 크리처는 머리 메시와 몸체 메시가 두세 개씩 분리되어 있었습니다. 하지만 로빈슨은 파이퍼에 바디 메시 하나만 필요하도록 2점 스플라인을 매핑하는 데 많은 공을 들였습니다. "이 2점 스플라인을 매핑하는 방법을 연구하는 데 많은 시간을 투자하여 탄젠트를 조정함으로써 4점을 통과할 수 있도록 했습니다."라고 그는 덧붙입니다.
해겟은 성능 측면에서 "엄청나게 비싼" 비용이 들지 않기 때문에 큰 성과를 거뒀다고 말합니다. "여러 개의 점으로 골격을 만든 다음 그 골격을 중심으로 메시를 변형할 수 있습니다. 하지만 이는 특히 이 게임의 특성을 생각하면 너무 비쌉니다."라고 그는 설명합니다.
"이런 것들을 30개나 배치할 수 있습니다. 플레이어가 4명이면 저사양 콘솔에서 120대가 함께 날아다닐 수 있습니다. 그럴 수는 없죠."
플레이어가 30마리 이상의 생물을 무리로 맞이하지 못하도록 한 것은 부분적으로는 안정성을 위한 것이었지만, 해겟은 화면에서 보기에 '딱' 적당한 숫자였기 때문이기도 하다고 말합니다. "최적화 작업도 있었지만, 실제로 게임을 플레이하고 물건을 수집하여 무리에 넣기 시작하면 무리에 넣을 수 있는 물건의 수가 의미 있게 많아지고 실제로 신경을 쓰게 됩니다."라고 그는 말합니다.
"멋진 물건이 쌓여 있는 선반이 바로 무인데, 그 숫자를 늘린다고 해서 반드시 기분이 좋아지지 않는 데에는 이유가 있습니다. 또한 시각적으로만 보면 30마리의 크리처와 함께 날아다니는 느낌과 50마리의 크리처와 함께 날아다니는 느낌은 크게 다르지 않았습니다. 특히 크리처의 종류를 다양화하고 크기와 색상이 다양해지면서 이상하게도 30마리만 있어도 큰 무리를 이룬 것 같은 느낌을 받게 됩니다."
물론 게임 제작의 마법 중 하나는 플레이어가 절대 하지 못할 방식으로 실험할 수 있다는 점입니다. 그래서 해겟은 군집의 한계를 어디까지 확장할 수 있는지 알아보기 위해 3,000마리의 생물이 어떻게 나타날 수 있는지 실험해 보았습니다. 그 결과, 아래와 같이 아름답고 시끌벅적하며 소란스러운 무리가 탄생했습니다.
* 원문:
* 게임 사이트: https://store.steampowered.com/app/1472930/Flock/
'게임개발 > 가마수트라' 카테고리의 다른 글
심층 분석: '알파 프로토콜'의 재출시로 불완전한 부분을 보완한 GOG의 방법 (1) | 2024.07.21 |
---|---|
모든 게임이 어떻게 '휴가'처럼 느껴질 수 있는지 보여주는 '힌터베르그의 던전' (0) | 2024.07.21 |
나이트메어 카트로 블러드본 카트 레이서를 현실로 만들기 (0) | 2024.07.21 |
심층 분석: Fruitbus에서 맛깔스러운 음식 준비 경험 만들기 (1) | 2024.07.14 |
현대적인 감성을 담은 올드 스쿨 CRPG 'SKALD: Against the Black Priory' (1) | 2024.07.12 |
댓글