텍스트 어드벤처의 결과 글이 중간에 끊겼을 때, 이어 읽기와 재전송을 어떻게 안내할까
결과 글이 끝까지 표시되지 않았다는 사실만으로 행동이 실패했다고 판단할 수는 없습니다. 가상의 소포 전달 사례를 통해 실행 확인, 미실행 확인, 실행 여부 불명의 세 상태로 복구 문구 표를 작성하고, 이어 읽기·재전송·결과 확인에 각각 어떤 전제가 필요한지 설명합니다.

들어가며
결과 글이 중간에 끊겼다면 먼저 확인할 수 있는 행동 상태를 알리고, 다음 조작이 무엇을 하는지 설명해야 합니다. 행동이 실제로 반영되었음이 확인되고 원래 결과 글을 다시 표시할 수 있을 때만 ‘계속 읽기’라고 안내합니다. 실행되지 않았음이 확인된 경우에만 ‘다시 전송’을 제공하고, 실행 여부가 불분명하다면 먼저 ‘결과 확인 대기 중’이라고 알립니다. 글이 전달되지 않았다고 해서 행동까지 일어나지 않은 것은 아닙니다.
아래에서는 소포 전달을 예로 들어 재사용할 수 있는 복구 문구 표를 작성합니다. 설명을 위한 가상 사례이며, 실제 사용자 경험이나 실측 결과, DramaFork의 제품 기능을 소개하는 내용이 아닙니다. 상태 기록, 원문 보관, 결과 조회 수단은 모두 이 사례에서 명시적으로 설정한 전제입니다. 실제 작품에서는 각각 따로 구현해야 합니다.
행동 상태와 글이 표시된 범위를 먼저 구분하기
플레이어가 ‘소포를 당직 직원에게 건넨다’를 선택합니다. 화면에 ‘직원은 소포를 받아 들고 기록부를 펼쳤다…’까지 표시된 뒤 글이 끊깁니다. 이 단편만 보면 전달이 완료되었다고 생각하기 쉽지만, 복구 안내는 서술의 어조만으로 상태를 판단해서는 안 됩니다.
작가는 먼저 두 가지를 확인합니다. 이번 소포 전달이 실제로 반영되었다고 확인할 수 있는지, 이번 결과 글이 어디까지 표시되었는지입니다. 첫 번째는 행동을 다시 시도해도 되는지를, 두 번째는 어디서부터 이어 읽을지를 결정합니다. 플레이어가 반 문장만 보았어도 행동은 이미 완료되었을 수 있습니다. 반대로 글에 ‘받아 들고’라고 쓰여 있어도 그것이 이번 행동의 확인 근거를 대신하지는 못합니다.
이 사례에서는 확인 기록이 이번 전송에 대응한다고 가정합니다. ‘전달 완료’란 소포를 건넸고 해당 행동의 결과도 실제로 반영되었다는 뜻입니다. 요청을 받았다는 사실만 확인할 수 있다면 전달 성공으로 표현해서는 안 됩니다. 실행되었는지, 실행되지 않았는지 입증할 수 없다면 언제나 확인 대기 분기로 보내야 합니다. 기다린 시간으로 추측해서는 안 됩니다.
표시된 범위도 사실대로 기록해야 합니다. 마지막으로 표시된 완전한 문장을 안다면 그 문장을 기록합니다. 일부 내용이 표시되었다는 사실만 안다면 ‘일부 글 표시, 중단 지점 불명’이라고 적습니다. 중단 지점을 몰라도 보관된 결과 전문을 보여 줄 수는 있지만, ‘정확히 끊긴 지점부터 이어집니다’라고 약속할 수는 없습니다.
다섯 열의 표로 각 복구 조작의 범위 정하기
표의 한 행을 한 묶음의 문구를 작성하는 근거로 삼습니다. 먼저 상태와 복구 가능한 내용을 채우고 마지막에 조작 이름을 정합니다. ‘재시도’부터 써 놓고 모든 오류에 같은 조작을 적용하는 일을 피하기 위해서입니다.
| 확인된 실행 상태 | 이미 표시된 범위 | 복구 가능한 내용 | 조작 문구 | 약속해서는 안 되는 내용 |
|---|---|---|---|---|
| 전달 확인 완료, 원래 결과 전문 보관 | 기록부 문장에서 멈춘 것으로 확인 | 같은 전달에서 남은 원문 | 전달 결과 계속 읽기 | 다시 전달하기, 인계 다시 완료하기 |
| 전달 확인 완료, 원문 미보관 | 일부 글 표시, 중단 지점 불명 | 확인된 전달 상태 | 확인된 상태 보기 | 원문 복구, 모든 세부 내용 복원 |
| 이번 전달이 실행되지 않았음을 확인 | 인계 장면의 도입부 표시 | 이번 행동이 반영된 결과가 없어 이어 읽을 내용 없음 | 전달 요청 다시 전송 | 전달 완료, 결과 계속 읽기 |
| 이번 전달의 실행 여부 불명 | 응답 일부 표시 | 끊긴 글만 남아 있으며 결과는 확인 필요 | 전달 결과 확인 | 전달 성공, 전달 실패, 안전한 재실행 |
마지막 행의 조작은 실제로 결과를 대조해 확인할 수 있다는 전제가 있어야 합니다. 작품에 조회 기능도 수동 확인 경로도 없다면 ‘전달 결과 확인 대기 중’이라고 표시하고, 현재는 복구할 수 없다고 설명해야 합니다. 실제로는 요청을 다시 전송하는 버튼에 ‘결과 확인’이라는 이름을 붙여서는 안 됩니다.
표에서는 약속을 줄이더라도 ‘확인된 상태’를 ‘완전한 이야기’로 포장하지 않는 편이 낫습니다. 읽는 흐름은 다소 끊길 수 있지만, 플레이어가 소포가 어떻게 되었는지 판단할 수는 있습니다.
전달이 확인되었다면 이어 읽기는 같은 행동에만 연결하기
첫 번째 분기의 전제는 전달이 확인되었고, 결과 전문이 보관되어 있으며, 표시가 끊긴 지점도 알고 있다는 것입니다. 복구 안내는 이렇게 씁니다. ‘이번 전달은 완료되었지만 결과 글이 끝까지 표시되지 않았습니다. 계속 읽기를 선택하면 같은 전달의 남은 글을 표시합니다. 전달 요청을 다시 전송하지는 않습니다.’ 조작 문구는 ‘전달 결과 계속 읽기’입니다.
그다음 ‘이전 전달 결과에 이어지는 내용입니다’라고 짧게 표시하고 원문을 보여 줍니다. ‘기록부에 당신의 이름이 추가되었다. 직원은 수령증을 당신 앞으로 밀어 놓고 잘 챙기라는 손짓을 했다.’ 이 내용은 원래 보관되어 있던 결과의 일부입니다. 이어 읽는 시점에 새로 한 번 더 등록한 것이 아닙니다.
이를 ‘당신이 소포를 다시 건네자 직원이 마침내 받아 들었다’로 고쳐서는 안 됩니다. ‘다시’와 ‘마침내’는 글 표시의 복구를 행동의 재실행으로 바꾸고, 앞선 시도는 성공하지 못했다는 인상까지 줍니다. 문장을 매끄럽게 하려는 의도였더라도 플레이어가 이해하는 사건의 발생 횟수가 달라집니다.
중단 지점을 신뢰할 수 없지만 전문이 남아 있다면 ‘이번 결과 전체 다시 읽기’로 바꾸고, 이미 읽은 부분도 포함된다고 미리 알릴 수 있습니다. 중요한 한 문장이 빠지는 것보다 같은 글을 다시 읽는 편이 알아차리기 쉽지만, 다시 읽는 것임은 명시해야 합니다. 원문이 사라지고 전달 완료를 확인할 근거만 남았다면 ‘이번 전달은 완료되었습니다. 원래 결과 글은 현재 복구할 수 없습니다’라고 씁니다. 수령증의 세부 내용을 즉석에서 만들어 원문인 것처럼 보여 주어서는 안 됩니다.
미실행과 실행 여부 불명에는 서로 다른 다음 단계 제시하기
두 번째 분기에서는 이번 전달이 실행되지 않았음을 확인했다고 가정합니다. 끊긴 글에 ‘소포를 받아 들고’라는 표현이 있더라도 명확히 바로잡아야 합니다. ‘이번 전달은 실행되지 않았습니다. 앞서 표시된 인계 장면은 행동이 실제로 반영되었다는 뜻이 아닙니다. 전달 요청을 다시 전송할 수 있습니다.’ 조작 문구는 ‘전달 요청 다시 전송’입니다.
다시 전송한다는 것은 행동을 새로 시작한다는 뜻이지, 다음 시도가 반드시 성공한다는 보장은 아닙니다. 전송 전에 조건을 다시 확인해야 한다면 먼저 확인 단계로 이동해야 하며, 끊긴 글에 나온 결말을 그대로 이어받아서는 안 됩니다. 새로운 확인 근거를 확보한 뒤에만 해당 결과를 표시할 수 있습니다. 문장을 끝맺기 위해 곧바로 ‘등록이 완료되었다’고 이어 붙여서는 안 됩니다.
세 번째 분기는 이번 전달이 실행되었는지 확인할 수 없는 경우입니다. 안내는 이렇게 씁니다. ‘전달 응답이 중단되었습니다. 현재는 이번 행동이 실제로 반영되었는지 확인할 수 없습니다. 중복 전달을 피하려면 먼저 결과를 확인해 주세요.’ 조작 문구는 ‘전달 결과 확인’이며, 원래 전송한 요청의 실행 결과를 확인하는 용도로만 사용합니다.
확인 결과 완료된 것으로 판명되면 이어 읽기나 상태 보기로 이동합니다. 실행되지 않았음이 확인된 경우에만 다시 전송을 허용하고, 여전히 알 수 없다면 ‘결과 확인 대기 중’을 유지합니다. ‘조회되지 않았으므로 전달에 실패했습니다’라고 쓰면 안 됩니다. 확인 근거가 없는 것과 실행되지 않았음을 확인한 것은 서로 다른 근거입니다.
상태가 불명확하면 진행이 일시적으로 멈춥니다. 이는 감수해야 할 대가입니다. 작가는 지금 할 수 있는 일을 설명할 수 있지만 ‘나중에 반드시 복구됩니다’라고 약속할 수는 없습니다. ‘한 번 더 누르면 계속할 수 있습니다’라는 말로 행동이 중복될 가능성을 가려서도 안 됩니다.
원고를 넘기기 전, 각 조작이 실제로 하는 일을 하나씩 점검하기
점검할 때는 안내, 조작 문구, 조작 후 첫 문단을 함께 읽습니다. 플레이어는 다음을 답할 수 있어야 합니다. 소포를 건넸다는 사실이 확인되었는가? 이 조작은 글을 표시하는가, 결과를 확인하는가, 아니면 전달을 새로 시작하는가? ‘계속’, ‘복구’, ‘재시도’가 무엇을 뜻하는지 추측해야 한다면 대상과 동작을 구체적으로 적습니다.
이어서 사례의 조건을 하나씩 없애 봅니다. 원문이 없는데도 전체 내용을 이어 읽을 수 있다고 약속하는가? 중단 지점을 모르는데도 중복 없이 이어진다고 약속하는가? 실행 여부가 불명확한데도 성공한 듯한 어조를 쓰는가? 확인해도 결론이 나지 않았는데 잘못해서 재실행을 허용하는가? 이는 조건을 바꿔 가며 문구를 검토하는 작업이지, 이미 완료한 제품 테스트가 아닙니다.
특히 ‘다시 전송하지 않습니다’ 같은 보장이 실제 조작과 일치하는지 확인해야 합니다. 조작에 재실행이 포함되어 있다면 버튼 이름만 바꾼다고 이어 읽기가 되지 않습니다. 동작을 수정하거나 안내를 다시 써야 합니다. 복구 도중 다시 끊겼을 때도 새롭게 확인할 수 있는 상태에 따라 표의 행을 다시 선택해야 하며, 직전 단계가 완료되었다고 가정해서는 안 됩니다.
이 표는 단일 행동의 결과 글이 전달 도중 끊긴 상황에 적용됩니다. 이야기에서 소포 인수를 명확히 거절한 경우, 연속 명령 중 일부만 완료된 경우, 소포 전달이 아직 모두 확인되지 않은 여러 결과를 동시에 일으킨 경우에는 별도의 상태를 마련해야 합니다. 억지로 ‘성공 또는 실패’에 끼워 맞춰서는 안 됩니다. 원고를 넘길 때 표와 세 가지 안내, 각각이 성립하는 전제를 함께 남겨 두면 이후 수정에서도 모든 약속의 근거를 확인할 수 있습니다.






