텍스트 어드벤처의 오타 안내: 플레이어 대신 명령을 바꾸지 않으려면
오타로 의심되는 입력이 들어오면 원문을 보존하고, 어떤 부분이 불확실한지 구체적으로 짚은 뒤 플레이어가 후보를 확인하거나 다시 입력하게 한다. 재사용할 수 있는 오타 수정 안내표로 문구 제안과 이야기 속 행동 실행을 구분하면, 수정 과정에서 플레이어 대신 행동이나 대상을 결정하는 일을 피할 수 있다.

들어가며
텍스트 어드벤처에서 오타로 의심되는 입력을 받으면, 먼저 원래 입력을 보존하고 해석이 불확실한 부분을 표시해야 한다. 그런 다음 확인할 수 있는 후보와 다시 입력할 수 있는 선택지를 제시한다. 수정으로 행동이나 대상이 달라질 가능성이 있다면 아무 말 없이 실행해서는 안 된다. 작가가 명확히 써야 할 것은 ‘정답이 무엇인가’가 아니라 ‘이번 입력을 어떻게 이해하려는가, 그리고 플레이어가 언제 그 해석에 동의하는가’다.
틀렸다고 단정하기 전에 불확실한 부분부터 찾기
다음은 전체가 허구로 구성된 교육용 사례다. 실제 사용자, 실측 결과, 실제 조작 테스트 또는 DramaFork의 제품 기능을 다루지 않는다. 이야기 속 탁자 위에 구리 종과 구리 목장식이 하나씩 있고, 장면에서 두 물건을 이미 플레이어에게 소개했다고 가정하자. 글자 사이의 관계를 유지하기 위해 아래 예시에서는 물건 이름을 중국어 원문의 ‘铜铃’(구리 종), ‘铜领饰’(구리 목장식)로 표기한다. 플레이어는 ‘铜玲 살펴보기’를 입력한다.
‘살펴보기’라는 행동은 분명하지만, ‘铜玲’이 가리키는 대상은 확정할 수 없다. ‘铜铃’을 잘못 입력했을 수도 있고, ‘铜领饰’의 이름을 불완전하게 기억했을 수도 있다. 따라서 의심되는 부분은 ‘铜玲’ 전체로 표시해야 한다. ‘玲’만 ‘铃’으로 바꾼 뒤 명령 전체를 고쳤다고 해서는 안 된다.
여기서는 편집 판단 기준을 하나 둔다. 수정 전후의 행동과 대상이 같다고 확정할 수 있는가? 그렇지 않다면 후보만 제안해야 한다. 글자 모양이 비슷하다는 점은 제안의 근거가 될 수 있지만 의도를 증명하지는 못한다. 해당 장면에서 그럴듯한 후보가 하나뿐이어도 플레이어가 동의한 것은 아니다.
반대로 입력이 이미 유효한 다른 이름이라면 같은 뜻의 표현을 처리하는 규칙으로 다뤄야 한다. 두 물건의 이름이 모두 ‘铜铃’이라면 문제는 대상 이름의 중복이다. 실행할 수 없는 입력을 모두 ‘오타’로 분류하지 말자.
안내표로 원문, 해석, 실행을 구분하기
먼저 같은 탁자 장면에 대해 세 가지 입력을 작성한다. 아래 표의 후보에는 플레이어가 이미 아는 물건만 사용한다. ‘타당한 후보 없음’은 작가에게 수정을 제안할 근거가 충분하지 않다는 뜻이지, 이야기 세계에 그 물건이 절대 존재하지 않는다는 뜻은 아니다.
| 원래 입력 | 오류가 의심되는 부분 | 해석 후보 | 확인 문구 | 실행 시점 |
|---|---|---|---|---|
| 铜玲 살펴보기 | 铜玲 | 铜铃 살펴보기; 铜领饰 살펴보기 | 铜铃과 铜领饰 중 무엇을 살펴보려 하나요? 전체 명령을 선택하거나 다시 입력해 주세요. | 플레이어가 둘 중 하나의 명령을 명시적으로 승인한 뒤 |
| 铜领式 살펴보기 | 铜领式 | 铜领饰 살펴보기 | ‘铜领饰 살펴보기’를 실행할까요? 다시 입력할 수도 있습니다. | 플레이어가 해당 전체 명령을 승인한 뒤 |
| 铜霖匣 살펴보기 | 铜霖匣 | 현재 타당한 후보 없음 | 현재 ‘铜霖匣’에 해당하는 물건을 특정할 수 없습니다. 살펴볼 대상의 이름을 다시 입력해 주세요. | 이번 입력은 실행하지 않고 새 명령을 기다림 |
이 표는 작가가 작성하는 수정 안내 초안이지, 자동 인식의 정확도를 보장하는 자료가 아니다. 첫째 행에는 두 가지 해석이 있고 둘째 행에는 하나만 있지만, 두 경우 모두 플레이어가 거절할 수 있다. 셋째 행에서는 후보 칸을 채우려고 임의의 물건을 고르기보다 대응하는 대상을 찾을 수 없다고 인정하는 편이 낫다.
실제 안내에 표 전체를 보여줄 필요는 없다. 다만 편집 초안에는 다섯 열이 모두 있어야 한다. 특히 실행 시점이 중요하다. 단순히 ‘확인’이라고만 쓰고 확인 대상이 문구인지 행동인지 밝히지 않으면, 이후 구현에서 후보를 선택한 것을 이미 실행한 것으로 잘못 처리할 수 있다.
‘铜玲 살펴보기’를 명확한 이야기 결과까지 이어 보기
이 사례에서는 한 번의 명시적 승인을 받은 뒤 실행한다. 플레이어가 원문을 제출하면 먼저 다음과 같이 안내한다. “입력한 내용은 ‘铜玲 살펴보기’입니다. ‘铜玲’이 어떤 물건을 가리키는지 아직 특정할 수 없습니다. 어떤 명령을 실행할까요? 이번 입력은 아직 실행되지 않았습니다.”
이어서 ‘실행: 铜铃 살펴보기’, ‘실행: 铜领饰 살펴보기’, ‘둘 다 아님, 다시 입력하기’라는 세 가지 선택지를 제공한다. 전체 명령을 유지하는 이유는 플레이어가 행동과 대상을 함께 확인하도록 하기 위해서다. ‘铜铃’, ‘铜领饰’만 보여주면 아직 단어를 고르는 단계이며, 이후 별도의 제출 단계가 있다고 생각하기 쉽다.
플레이어가 ‘실행: 铜领饰 살펴보기’를 선택했다고 가정하자. 그때야 이야기가 “구리 목장식에 시선을 돌리자 가장자리에 얕게 패인 자국이 눈에 들어왔다”로 이어진다. 이 문장은 허구의 행동 결과이므로 수정 안내에 미리 넣으면 안 된다. 그러면 플레이어가 승인하기도 전에 살펴본 뒤에야 얻을 정보를 받게 된다.
다시 입력하기를 선택하면 “이번 수정이 취소되었습니다. 아직 어떤 행동도 실행되지 않았습니다. 다시 입력해 주세요”라고 표시한다. 원문은 수정할 수 있도록 남겨 두어도 되지만, 후보는 더 이상 승인 대기 상태가 아니어야 한다. 이어서 플레이어가 ‘铜铃 살펴보기’를 입력하면 그 새 명령으로 처리한다. 앞선 단계의 목장식 후보까지 함께 실행해서는 안 된다.
후보가 하나여도 거절할 수 있어야 하며, 거절은 이야기 속 행동을 일으키지 않는다
‘铜领式 살펴보기’에 대한 타당한 제안이 ‘铜领饰 살펴보기’ 하나뿐이어도 여전히 질문하는 문구로 써야 한다. 확인 단계가 하나 늘면 읽는 흐름이 끊긴다. 하지만 바로 실행하면 플레이어 대신 대상을 결정하게 된다. 이 사례에서는 작가가 비슷한 글자만으로 의도를 증명할 수 없으므로 확인 단계를 유지한다.
타당한 후보가 없다면 다음에 할 일을 구체적으로 알려준다. ‘입력이 잘못되었습니다. 다시 시도해 주세요’보다 ‘살펴볼 대상의 이름을 다시 입력해 주세요’가 더 유용하다. 장면 속 물건의 이름을 나열해야 한다면 이미 보여준 구리 종과 구리 목장식만 제시한다. 오타를 고치는 과정에서 아직 발견하지 못한 물건을 드러내서는 안 된다.
후보를 거절했을 때의 결과도 명확해야 한다. 이번에 승인을 기다리던 명령을 취소하고 입력으로 돌아가되, 인물이 반응하거나 물건이 변하거나 살펴보기를 통해 얻는 단서가 제공되어서는 안 된다. 이 사례에서는 수정 과정이 이야기의 턴을 소모하지 않는다고 정한다. 작품에 별도의 시간 규칙이 있다면 대기 중 시간이 어떻게 흐르는지 따로 정의해야 한다. ‘아직 실행되지 않았다’는 한 문장으로 모호하게 넘길 수는 없다.
이전 확인이 잘못 적용되는 일도 막아야 한다. 승인을 기다리는 동안 플레이어가 새 명령을 제출하면 이전 후보는 무효가 되어야 한다. 그 뒤 ‘예’만 입력하더라도 과거 제안이 실행되어서는 안 된다. 승인은 지금 제시된 이번 전체 명령에 대응해야 한다.
반례로 안내가 글자 수정의 범위를 넘는지 점검하기
초안을 넘기기 전에 표를 따라 예상 동작을 하나씩 검토한다. 문서상으로 검토한 것을 테스트가 완료된 것처럼 써서는 안 된다. 후보가 여러 개인 입력은 선택 단계에서 멈춰야 하고, 후보가 하나면 거절할 수 있어야 하며, 후보가 없으면 다시 입력하도록 돌아가야 한다. 세 경로 모두에서 승인 전에 이야기 속 행동이 일어나지 않는지, 거절 후 실행 대기 명령이 남지 않는지 확인한다.
행동도 불분명한 반례를 하나 더 추가한다. 중국어 입력 ‘查砍铜铃’이다. ‘查砍’에는 살피는 것과 관련된 ‘查’와 베거나 찍는다는 뜻의 ‘砍’이 함께 들어 있다. 대상이 명확하다는 이유만으로 ‘铜铃 살펴보기’에 해당하는 ‘查看铜铃’으로 고쳐서는 안 된다. ‘查砍’은 전혀 다른 행동과 관련된 표현일 수도 있다. 안내에서는 해당 부분을 짚고 행동을 다시 입력하도록 요청해야 한다. 국소적인 오타 수정을 문장 전체의 의도 추측으로 확대하지 않기 위해서다.
‘铜铃 살펴보기로 수정했습니다’도 잘못된 문구다. 원문을 덮어쓰는 동시에 동의받지 않은 해석을 확정된 사실로 제시하기 때문이다. 대신 “‘铜玲’은 铜铃이나 铜领饰를 가리킬 수 있습니다. 대상을 지정해 주세요”라고 쓸 수 있다. 그 뒤에는 여전히 전체 명령과 다시 입력할 수 있는 선택지가 따라야 한다.
이 표는 행동 명령의 일부 문구를 글자 그대로 해석하기 어려울 때 적용한다. 비밀번호, 퍼즐의 답, 인물의 말을 그대로 옮긴 문장, 의도적으로 틀리게 쓴 텍스트는 입력된 글자 자체를 보존해야 할 수 있으므로 물건 후보를 그대로 적용해서는 안 된다. 작가는 작업물을 전달할 때 적용할 입력의 범위를 명시하고, 각 확인 문구와 실행 시점을 짝지어 검토해야 한다. 플레이어에게 보여준 약속은 다음에 이야기에서 실제로 일어나는 일과 일치해야 한다.






