Rain World의 절차적 디자인 살펴보기: 관찰자

"큰 호랑이가 하늘에서 포로를 향해 들어오는데, 오로지 호랑이에 의해 망가진 채로 끌어들여 물이 흐르는 깊은 깊은 깊은 곳으로 핥는 채로 삼키게 된다. 스캐버너는 곤충에 유해한 스포르 푸프를 잡아 고기를 먹이는 사슴의 무리로 뛰어들어 동료를 구출합니다. 사슴은 산성 냄비에 사료를 넣어 죽은 상태를 확인하고 다시 굴에 넣습니다." - 앤드루 마레로, Akupara Games 개발 리드
레인 월드의 번거로운 생존 기반 게임플레이는 예기치 않은 시나리오에서 성공합니다. 이 모든 상황은 인게임 가능하지만, 상호 작용은 명시적으로 프로그래밍된 행동이나 이벤트가 아니며, 신중하게 설계된 동적 행동 시스템과 생명체 간 관계 시스템의 자연스러운 결과물입니다.
우리는 Videocult, Akupara Games 및 Rain World의 모딩 커뮤니티의 개발자들과 인터뷰를 통해 게임과 최신 DLC The Watcher의 생명체와 환경, 그리고 그들을 구현하는 절차적 디자인과 시스템에 대해 자세히 알아냈습니다.
핵심 설계 원칙 수립
레인 월드의 핵심 게임플레이 루프는 가족과 분리된 고양이처럼 복잡하고 위험한 생태계를 탐험하는 것입니다. 플레이어는 식량을 얻기 위해 더 약한 생명체를 사냥하고, 포식물을 피하고, 똑똑하게 대피하고, 정기적인 산산 비로부터 피난처를 찾아야 합니다.
Videocult의 크리에이터 컨설턴트 조아는 "처음부터 숨겨진 것과 가끔 치아와 손톱의 생존에 초점을 맞춘 낭비적이고 즉흥적인 게임플레이를 원했습니다. “게임은 시행착오를 사용하여 생명체와 생태계의 메커니즘을 배우고, 자신에게 도움이 되는 모든 것을 조작하는 방법에 대한 인식을 얻는 지식 기반 게임입니다.”

슬러그캣 애니메이션
이 과정을 통해 슬러그캣을 효과적으로 제어하는 방법을 배울 수 있습니다. 인게임 슬러그캣은 매끄럽고 액체적인 품질 / 퀄리티 움직이며 벽을 벗어나 땅 위로 미끄러지거나 좁은 터널을 통과할 수 있습니다. 처음에는 완전히 이해하기 어렵지만, 슬러그 고양이의 독특한 움직임 시스템은 레인 월드의 액션 시퀀스에 "절망적인 흔들림"의 느낌을 부여하고 "캐릭터가 축 정렬 상자라면 불가능한 몇 가지 흥미로운 상호 작용을 가능하게합니다."
시각적으로는 절차적 애니메이션을 통해 이 모든 작업이 가능합니다. 슬러그캣의 캐릭터 모델은 두 개의 구형 청크로 구성되어 있으며, 서로 고정된 거리에 고정되어 있어 흔들리고 회전할 수 있습니다. 팔다리와 꼬리는 플레이어의 입력을 기반으로 절차적으로 애니메이션화하여 이 베이스 위에 그려진 미적인 추가 요소입니다.
조아르는 "실제로 절차적 애니메이션을 할 생각은 없었습니다. “슬러그캣의 팔다리를 움직이게 만드는 문제에 직면했는데, 코드는 컴퓨터 게임에서 요소를 움직이게 만드는 방식이기 때문에 저는 그렇게 했습니다. 초기에 클래식 애니메이션과 절차적 애니메이션을 함께 사용했지만, 나중에는 절차적 애니메이션에 더 집중했습니다."
슬러그캣 애니메이션의 실제 사례
바이옴 구축
레인 월드의 동물은 외관, 행동, 서식지가 매우 다양하고 100개가 넘는 생물을 포함합니다. 몇 가지 기본 생명체 스크립트를 공통으로 공유하지만, 대부분은 새로운 프로젝트처럼 접근하고 처음부터 코딩됩니다. 그러면 더 많은 개발 작업이 필요하지만, 생물 다양성이 가능해 게임의 매력성을 높일 수 있습니다.
Videocult의 크리에이터 컨설턴트인 벤자민은 이렇게 말합니다. "어떤 생물은 작은 다리를 가지고 있고, 다른 생물에는 악몽 같은 거미 다리, 핀, 제트 추진력, 촉수, 날개가 있습니다. "크리처 디자인은 서로 매우 다르기 때문에 바디를 형성하고 고유한 움직임을 처리하려면 고유한 코드가 필요합니다."
이 이클렉티브한 디자인 접근 방식은 전통적이지 않은 에디터 설정에서 반영됩니다. "레인 월드은 Unity의 에디터를 사용하는 방식이 매우 이상합니다."라고 벤자민은 말합니다. "기본적으로 몇 개의 빈 게임 오브젝트에서 MonoBehaviour 스크립트를 입력/출력 처리할 수 있습니다. 주된 것은 스크린 패널, 사운드 풀 관리자, 컨트롤러 관리자입니다. 생명체는 크리처 그래픽스 스크립트를 통해 위치와 컬러를 지정한 스프라이트를 제외하고 거의 전적으로 스크립트로 제작됩니다. 각 생명체는 기본 생명체 스크립트로부터 상속받으며, 충돌과 체력 시스템, 보관된 아이템, 저장/로드 등 필요한 기타 일반적인 작업을 처리합니다."

생명체 동작 프로그래밍
각 생물의 특정 행동을 확립하기 위해 다른 생물, 객체 및 장소와의 관계를 카탈로그화하는 테이블이 제공되며, 이 정보는 레인 월드 생태계의 기반을 형성합니다. Akupara의 개발 리드 앤드루는 다음과 같이 설명합니다. "동작 수준에서 생명체는 AI 모듈 모음집을 사용하여 각 생명체에 연결하고 구성하여 가능한 행동과 우선 순위를 변경할 수 있습니다.
다음과 같은 모듈이 있습니다.
• PreyTracker 근처 사냥
• ThreatTracker 근처 포식자로부터 탈출
• FriendTracker 같은 생각의 다른 생명체와 협동 부대를 형성
• ItemTracker를 사용하여 픽업하고 운반할 수 있는 바닥에 유용한 아이템을 찾습니다.
• DenFinder 특정 작업 후에 돌아올 수있는 홈 베이스의 느낌을 주는 생명체
• DiscomfortTracker를 사용하면 생명체가 일반적으로 피하는 영역이나 오브젝트를 정의할 수 있습니다.
레인 월드 생태계의 신뢰성은 이러한 시스템이 가능하게 하는 새로운 행동에 크게 의존하며, 개발자들도 놀라울 수 있습니다. 벤자민은 이렇게 말합니다. “가슴과 유사한 독성 생명체를 만들고 있었고, 이 프로젝트에 참여한 개발자 중 한 명이 파라미스를 제거할 수 있는 방법으로 독을 만들어야 한다고 제안했습니다. "결국 독이 약으로 작동할 수 있게 되었습니다. 정말 멋졌어요."
캐러피 독이 항생제로 사용될 수 있음
새로운 상호 작용 육성
이 복잡한 시스템을 유지하려면 순수한 시스템 기반의 상호 작용과 개발자의 수동적인 개입 사이의 균형을 유지해야 합니다. "이러한 행동을 수행하는 프로그래머로서 설명할 수 없는 것을 본 적이 없었지만, 다양한 방식으로 서로 연결될 수 있다는 사실에 자주 놀랐습니다. 그는 한 인스턴스를 기억합니다. 큰 촉수로 된 적인 아버지 긴 다리는 큰 위협이 되어야 했습니다. 작은 벌레를 사냥하고 슬러그캣을 완전히 무시하는 데 집중했습니다. 이 문제는 약간의 코드 조정으로 해결되었습니다.
목적은 수작업으로 만든 상호 작용을 최대한 적게 만드는 것이었지만, 조어는 어떤 수준의 직접적인 입력을 통해 궁극적으로 레인 월드의 환경을 더 사실적으로 만듭니다. "대체로 시스템을 플레이어가 원하는 대로 플레이하도록 하려고 했지만, 결국 포기하고 특정 공간을 특정 생명체에게 더 매력적으로 할당할 수 있는 툴을 만들어 월드에 약간의 조화감을 더할 수 있었습니다."
수탉이 슬러그캣의 점심을 훔친 모습
새로운 종 소개
레인 월드의 최신 DLC인 더 워처(The Watcher)는 25개의 추가 생명체, 새로운 생물군, 독특한 능력을 갖춘 또 다른 플레이어블 슬러그캣을 소개합니다. "우리의 새로운 워처 슬러그 고양이는 대부분의 다른 생명체로부터 시각적 형태를 일시적으로 완전히 숨길 수 있습니다."라고 벤자민은 말합니다. 물론 이는 생존을 보장하지는 않습니다. "그러나 사운드로 사냥하거나 자연스럽게 만든 색상으로 슬러그캣을 페인팅하는 등의 방법으로 이를 피할 수 있는 생물도 있습니다."
Watcher Slugcat에는 플레이어가 발전함에 따라 새로운 힘을 발휘하는 스태킹 버프인 새로운 '리플' 기능도 포함되어 있습니다. Akupara Games의 테크니컬 아티스트인 Ongomato는 강도 마스크를 사용하여 환경의 일부를 왜곡, 재조정 또는 교체하여 '리플 이펙트'용 VFX를 제작한 방법을 설명합니다.
“이 마스크는 먼저 렌더링되고 캡처된 다음 프레임이 비워집니다. 커맨드 버퍼는 이 마스크를 기반으로 레벨 텍스처를 왜곡하거나 대체합니다. 실제 게임 씬은 이러한 변경된 텍스처를 사용하여 렌더링되므로 레벨 텍스처를 올바르게 샘플링하고 캐릭터가 효율 영향을 주지 않는 다른 효과도 유지할 수 있습니다"라고 Ongomato는 설명합니다. “플레이어의 왜곡 트레일은 다음과 같은 효과를 사용합니다. 이러한 실루엣은 프레임마다 텍스처에 추가되므로 강도가 느리게 왜곡되고 감소하여 잔물결 효과의 왜곡 원인으로 작용하는 유기적 트레일을 생성합니다."
인게임 렌더링된 '리플 효과'
아웃트로
절차적 시스템과 새로운 상호 작용에 뿌리를 두는 레인 월드의 디자인 철학은 각 런에서 새로운 경험을 제공하여 매력과 재생 가치를 강화합니다. 이는 Videocult가 모더에게 프로젝트를 열어 주었을 때 게임에 새로운 생명을 불어넣은 전담 플레이어 커뮤니티를 육성했습니다. 그 결과 플레이어 중심의 콘텐츠로 레인 월드에 더 많은 관심이 생성되었고, 가장 인기 있는 모드가 공식 확장 기능으로 프로젝트에 통합되었습니다. 2022년의 다운푸어와 오늘날의 워처
인터뷰를 마무리하면서, 우리는 레인 월드의 개발 팀에게 이 게임의 야심 찬 범위를 몇 년 동안 어떻게 확인했는지 물었습니다. 답변이 있으신가요? “전에는 없었습니다. 개발 과정에서 10,000개의 멋진 범위 크립을 만들고 게임에 모두 추가했습니다. 참고: 조언이 아닙니다."
레인 월드: Watcher는 데스크톱 및 콘솔 플랫폼에서 오늘 출시됩니다. Steam에서 확인하고 공식 Steam 큐레이터 페이지에서 더 많은 Made with Unity 게임을 찾아보세요. 유니티의 자원 페이지에서 Unity 커뮤니티의 개발자들의 이야기를 더 읽어 보세요.
