메인 스토리 정보를 숨기지 않고 AI NPC 대화를 선택 사항으로 만드는 방법
선택적인 자유 텍스트 대화를 추가하려는 인디 내러티브 게임 디자이너라면 다음과 같은 간단한 규칙을 적용해 보세요. 플레이어가 메인 경로를 이해하거나 완료하는 데 필요한 모든 사실은 대화창 외부의 신뢰할 수 있는 공식 게임 콘텐츠에서 확립되어야 합니다. NPC 대화는 맥락, 개성, 분위기를 더해줄 수 있지만, 필수 단서나 이벤트가 존재하는 유일한 장소가 되어서는 안 됩니다. 이 규칙을 두 가지 플레이스루로 테스트해 보세요. 하나는 대화창을 전혀 열지 않는 플레이이고, 다른 하나는 대화를 깊이 탐색하는 플레이입니다. 두 플레이 모두 의도된 동일한 메인 경로 이해도와 결과에 도달해야 합니다.
플레이어가 반드시 알아야 할 내용 결정하기
플레이어의 다음 필수 행동에서 시작하여 역방향으로 작업하세요. 이를 선택하거나 수행하는 데 필요한 사실들을 정리합니다. 무슨 일이 일어나고 있는지, 목표가 무엇인지, 진행하는 데 필요한 조건이나 단서가 무엇인지 파악하세요. 이러한 사실들은 컷신, 조사 가능한 오브젝트, 저널 항목, 가시적인 환경 변화, 목표 알림 등 메인 경로에 배치해야 합니다. 한 줄의 대사로 이를 강조할 수는 있지만, 대화에만 온전히 의존해서는 안 됩니다.
그런 다음 다른 정보들을 그것이 무엇을 변화시키는지에 따라 분류하세요. 어떤 사실을 제거했을 때 메인 목표가 혼란스러워지거나, 불가능해지거나, AI가 무슨 말을 할지 추측해야 하는 상황이 된다면 이는 '핵심 정보'입니다. 그것을 제거해도 목표는 명확하지만 캐릭터, 장소 또는 이벤트의 입체감이 줄어드는 수준이라면 '선택적 깊이감'입니다. 주로 농담, 목소리의 톤, 혹은 사소한 디테일을 더하는 것이라면 '분위기 요소(flavor)'입니다.
이러한 구분은 형식이 아니라 기능에 관한 것입니다. 캐릭터의 개인적인 과거사는 이후 메인 플롯에서 플레이어가 이를 알고 있다고 전제한다면 핵심 정보가 될 수 있습니다. 반대로, 전문적으로 들리는 디테일이라도 스토리가 결코 그것에 의존하지 않는다면 선택 사항으로 남을 수 있습니다. 후속 장면이 선택적 대화에서 소개된 정보를 다시 참조할 때마다 이 분류를 재검토하세요.
하나의 스토리 비트를 위한 커버리지 표
이해를 돕기 위한 목표 예시를 살펴보겠습니다. 문이 닫히기 전에 천문대로 봉인된 지도를 전달하는 임무입니다. 아래 표는 정보 레이어를 어떻게 분리하는지 보여줍니다. 이 시나리오는 예시일 뿐이며 실제 게임 결과 보고는 아닙니다.
정보: 목적지는 천문대이다 — 플레이어가 진행하는 데 필요한가?: 예 — 메인 경로 커버리지: 목표 텍스트에 천문대 명시, 지도 마커 또는 명확한 경로로 길 찾기 지원 — 선택형 AI 대화 기여: 안내인이 천문대의 독특한 지붕 모양을 묘사할 수 있음
정보: 문은 황혼에 닫힌다 — 플레이어가 진행하는 데 필요한가?: 예(타이밍이 진행에 영향을 미치는 경우) — 메인 경로 커버리지: 장면이나 목표에서 마감 시간을 알리고 관련된 세계 상태 변화를 보여줌 — 선택형 AI 대화 기여: 안내인이 문이 닫히는 이유를 설명할 수 있음
정보: 봉인된 지도는 손상되지 않은 상태로 전달되어야 한다 — 플레이어가 진행하는 데 필요한가?: 예(취급 방식이 과제에 영향을 미치는 경우) — 메인 경로 커버리지: 메인 경로 안내에 전달 조건 명시, 게임플레이를 통해 모든 제한 사항 전달 — 선택형 AI 대화 기여: 안내인이 지도를 봉인한 사람에 대한 이야기를 들려줄 수 있음
정보: 안내인은 과거 천문대에서 일한 적이 있다 — 플레이어가 진행하는 데 필요한가?: 아니요(이후 플롯이 여기에 의존하지 않는 한) — 메인 경로 커버리지: 목표 완수에 필요하지 않음 — 선택형 AI 대화 기여: 후속 질문을 통해 안내인의 과거를 밝힐 수 있음
정보: 안내인은 시계탑을 싫어한다 — 플레이어가 진행하는 데 필요한가?: 아니요 — 메인 경로 커버리지: 필요하지 않음 — 선택형 AI 대화 기여: 짧은 여담을 통해 선호도를 표현할 수 있음
이 표를 정보 계약(information contract)으로 활용하세요. 왼쪽의 사실들은 기획자가 작성한 필수 요건이며, 대화 열은 이를 구체화할 수는 있지만 은근슬쩍 그 정보의 유일한 출처가 되어서는 안 됩니다. 이후 비트가 안내인의 과거에 의존한다면, 그 과거사 중 필요한 부분을 메인 경로 커버리지로 격상시키세요. 나머지는 선택 사항으로 유지합니다.
AI 대화를 공인된 게임 상태에 귀속시키기
모델을 허용된 대화를 표현하는 수단으로 다루어야 하며, 스토리에서 무슨 일이 일어났는지를 결정하는 권한을 주어서는 안 됩니다. 모델에게 활성화된 목표, 확립된 사실, 관련 캐릭터 지식, 허용된 대화 주제 등 정사(canonical) 상태에 대한 한정되고 최신인 뷰를 제공하세요. 이벤트가 발생했는지, 단서를 찾았는지, 목표가 변경되었는지는 게임 시스템이 결정해야 합니다. AI는 해당 상태를 바탕으로 답변을 표현할 수 있을 뿐, 필수 단서를 꾸며내거나 숨겨진 사실을 잠금 해제하거나 게임에 기록되지 않은 정사 이벤트를 선언해서는 안 됩니다.
예를 들어 플레이어가 문이 황혼에 닫힌다는 사실을 아직 발견하지 못했다면, NPC는 질문을 받았을 때 스포일러가 되지 않는 힌트로 답하거나 플레이어에게 게시된 공지사항을 확인해 보라고 유도할 수 있습니다. 마감 시간 자체는 여전히 목표나 게임 세계를 통해 직접 전달되어야 합니다. 플레이어가 예상치 못한 질문을 던질 경우, 캐릭터 지식의 한계를 인정하거나 이미 알려진 사실로 화제를 돌리는 것이 안전한 답변입니다. 시스템이 존재하지도 않는 필수 단서가 있는 것처럼 암시하거나, 게임 상태에 없는 사건을 NPC가 기억하는 것처럼 보이게 하지 마세요.
이러한 아키텍처는 선택적인 대화가 메인 경로의 규칙을 예측할 수 없게 바꾸는 것을 방지하는 데도 도움이 됩니다. 대화가 상태를 변경할 수 있도록 허용하는 경우, 게임이 허용하는 정확한 상태 변경 사항을 정의하고 생성된 문장 외부에서 이를 검증하세요. 자연스러운 문장이라고 해서 게임플레이 플래그가 변경되어야 한다는 증거가 되지는 않습니다.
대화가 진행을 막지 않으면서 장면에 깊이를 더하게 하기
유용한 선택형 대화는 플레이어가 원해서 파고들 수 있는 요소, 즉 캐릭터의 관점, 이전 장면과의 연결고리, 현지 풍습, 혹은 장소의 감정적 결을 바꾸는 디테일 등을 제공합니다. 대화창을 통해서만 설명할 수 있는 것처럼 목표를 반복해서 읊어서는 안 됩니다. 또한 단서를 얻기 위해 플레이어가 특정한 문구를 알아맞혀야만 메인 경로를 진행할 수 있게 해서도 안 됩니다.
분기점을 계획할 때만큼이나 대화 종료 지점도 신중하게 계획하세요. 플레이어는 필수 지침을 놓치지 않으면서 언제든 질문을 멈추고 메인 과제로 돌아갈 수 있어야 합니다. 답변에서 오직 선택적 콘텐츠에만 나중에 영향을 주는 정보가 소개된다면, 그것을 엔딩이나 목표의 전제 조건으로 은근슬쩍 만들어 버리기보다는 주변 디자인을 통해 그 관계를 라벨링하거나 신호로 알려주어야 합니다.
Tea-Powered Games의 작가 Florencia Minuzzi는 스튜디오의 게임 *Dialogue*를 위한 접근성 관련 결정에 대한 1인칭 기록을 남겼습니다. 이 글은 메인 스토리가 추가 디테일 때문에 진행이 막히지 않도록 하면서, 장면을 다시 볼 수 있는 기능과 선택적인 추가 정보를 어떻게 다루었는지 논의합니다. 이는 선택적 콘텐츠와 스토리 진행을 분리하기 위한 유용한 디자인 사례입니다. 이는 한 팀이 자신의 게임에 대해 기록한 경험담이며, AI 대화가 자동으로 동일한 결과를 낳는다는 증거는 아닙니다. [Accessibility in Dialogue: A Writer’s Story](https://www.gamedeveloper.com/design/accessibility-in-dialogue-a-writer-s-story)를 참고하세요.
두 유형의 플레이어 모두 테스트하기
동일한 스토리 비트를 의도적으로 두 가지 방식으로 플레이해 보세요. 첫 번째 패스에서는 NPC 대화를 절대 열지 않습니다. 메인 경로와 일반 인터페이스만 따라갑니다. 두 번째 패스에서는 목표와 관련된 그럴듯한 질문을 포함하여 대화를 적극적으로 탐색합니다. 각 플레이어가 무엇을 알 수 있는지, 무엇을 할 수 있는지, 그리고 게임이 어떤 일이 일어났다고 말하는지 기록하세요.
확인 사항: 현재 목표와 다음 행동을 파악할 수 있는가? — 대화를 건너뛰는 플레이어: 예, 메인 경로의 단서를 통해 가능 — 대화를 탐색하는 플레이어: 예, 대화가 단서를 대체하지 않고 맥락을 더해줄 수 있음
확인 사항: 모든 필수 단서를 찾고 그 중요성을 이해할 수 있는가? — 대화를 건너뛰는 플레이어: 예, 제작된 게임 세계나 인터페이스 콘텐츠를 통해 가능 — 대화를 탐색하는 플레이어: 예, 대화가 이미 알려진 사실을 강화할 수는 있지만 유일한 단서 출처가 되어서는 안 됨
확인 사항: 게임 상태가 일관되게 유지되는가? — 대화를 건너뛰는 플레이어: 필수 사실은 게임에 미리 작성된 이벤트에 의해 설정됨 — 대화를 탐색하는 플레이어: 생성된 응답이 동일한 공인 상태와 일치함
확인 사항: 대화를 자유롭게 계속하거나 중단할 수 있는가? — 대화를 건너뛰는 플레이어: 진행을 위해 대화가 필수가 아님 — 대화를 탐색하는 플레이어: 대화를 벗어나도 오도가도 못하게 되거나 메인 경로 지침이 사라지지 않음
확인 사항: 선택적 디테일이 계속 선택 사항으로 유지되는가? — 대화를 건너뛰는 플레이어: 메인 진행 과정에서 해당 디테일을 배웠다고 가정하지 않음 — 대화를 탐색하는 플레이어: 이후 메인 장면에서 대화로만 얻은 지식을 공유된 지식으로 취급하지 않음
어느 한쪽 패스에서라도 실패가 발생하면 구체적인 해결책이 무엇인지 알 수 있습니다. 대화를 하지 않은 플레이어가 행동할 수 없다면, 메인 경로에서 필요한 사실을 이동시키거나 반복해 제공하세요. 탐색을 진행한 플레이어가 모순된 정보를 받는다면, 모델에 제공되는 상태와 모델이 표현할 수 있는 주제나 주장을 더 엄격하게 제한하세요. 이후 대사에서 플레이어가 선택적인 답변을 들었다고 전제한다면, 해당 사실을 다른 곳에서 확립하거나 기록된 대화 상태에 따라 이후 대사가 조건부로 출력되도록 만드세요.
놓친 정보를 보완하기 위해 알림과 다시 보기 활용하기
메인 경로에 배치된 정보조차도 놓치거나 잊어버리거나 불편한 타이밍에 접할 수 있습니다. [Game Accessibility Guidelines 전체 목록](https://gameaccessibilityguidelines.com/full-list/)에는 서사와 지침을 다시 재생할 수 있게 하고, 플레이어에게 현재 목표를 상기시키며, 긴 호흡의 서사에서는 진행 상황을 요약해 주라는 권장 사항이 포함되어 있습니다. 이는 게임 접근성에 대한 일반적인 권장 사항이며 AI 대화에 대한 테스트는 아닙니다. 하지만 여기에 적용하면 유용한 복구 경로를 제안해 줍니다. 즉, 목표 로그, 다시 볼 수 있는 장면, 혹은 게임에서 이미 확립된 사실을 반영하는 간결한 진행 상황 요약 등이 그것입니다.
알림은 플레이어가 선택적 콘텐츠를 선택했다고 전제하지 않으면서 과제를 복기할 수 있도록 도와야 합니다. 예를 들어, 지도를 황혼 전에 천문대로 가져가야 한다고 안내할 수 있는데, 이는 기록된 목표 정보이기 때문입니다. 플레이어가 나눈 적도 없는 사적인 대화를 요약하거나, 생성된 추측을 바탕으로 NPC의 동기를 설명해서는 안 됩니다. 요약 내용은 목표 시스템에서 사용하는 것과 동일한 정사 상태에 연결해 두세요.
구현 전 실무 점검
기획된 모든 AI 대화 비트에 대해 그것이 다루는 메인 경로의 사실, 필수 여부, 대화 외부의 어디에서 확립되는지, 그리고 이 대화가 어떤 선택적 내용을 추가할 수 있는지를 기록하세요. 그런 다음 아래 질문에 답해 보세요.
대화가 비활성화되거나 무시되더라도 플레이어가 여전히 메인 과제를 이해하고 완료할 수 있는가?
대화를 탐색했을 때 모든 응답이 확립된 세계 상태 및 캐릭터 지식과 일치하는가?
이후의 메인 경로 장면에서 선택적 정보를 공유된 지식으로 실수로 취급할 가능성은 없는가?
플레이어가 생성된 답변에 의존하지 않고도 목표를 다시 확인하거나 목표에 대한 설명을 다시 볼 수 있는가?
첫 번째나 네 번째 질문에 대한 답이 '아니요'라면, 필수 정보에 대해 직접 제작된 경로를 추가하세요. 두 번째나 세 번째 질문에 대한 답이 '아니요'라면, 대화의 상태 입력값, 응답 범위 또는 이후 장면의 조건을 수정하세요. 이렇게 하면 대화를 전혀 이용하지 않는 플레이어에게도 메인 스토리가 명확하게 전달되는 동시에, 자유 텍스트 대화는 캐릭터성과 분위기를 마음껏 더해줄 수 있게 됩니다.
