비주얼 노벨에서 대화창을 숨겼다가 다시 열어도 대사를 놓치지 않으려면
대화창을 숨기기 전에 현재 대사와 텍스트 표시 진행도를 고정하고, 음성·연출·자동 읽기의 처리 규칙을 따로 정하세요. 천문대 장면으로 채운 복귀 규칙표와 조작 과정을 통해 그림을 보는 동안 무엇을 계속해도 되는지, 대화창을 다시 여는 클릭이 왜 이야기를 동시에 진행시켜서는 안 되는지 살펴봅니다.

들어가며
그림을 보려고 대화창을 숨길 때는 대사를 하나씩 읽어 나가는 흐름도 함께 멈추는 것이 좋습니다. 현재 대사와 이미 표시된 텍스트를 유지하고 자동 진행을 중단하며, 복귀 입력은 대화창을 다시 표시하는 역할만 맡도록 합니다. 음성과 배경 연출은 별도의 규칙을 정해야 합니다. 글자가 보이지 않는다고 그대로 진행하게 두어서는 안 됩니다. 대화창이 돌아오면 독자가 먼저 원래 대사를 확인하고, 자동 읽기를 다시 시작할지는 명시적으로 선택하게 합니다.
아래 천문대 장면은 설명을 위해 창작한 가상의 예시입니다. 실제 사용자 사례나 실측 결과, DramaFork의 제품 기능 설명이 아닙니다. 버튼과 상태, 처리 방식은 모두 아직 구현되지 않은 설계상의 약속입니다.
1. 숨기기, 일시 정지, 다시 표시하기를 따로 결정하기
숨기기는 그림을 가리는 요소를 치우고, 일시 정지는 읽던 위치를 지키며, 복귀 입력은 다음 행동을 결정합니다. “빈 곳을 클릭하면 숨겨지고, 한 번 더 클릭하면 돌아온다”는 설명만으로는 그동안 이야기가 계속되는지 알 수 없습니다.
이 예시에서 인물은 “구름이 걷히면 망원경 옆에서 가장 밝게 빛나는 별이 보일 거야.”라고 말하고 있습니다. 텍스트가 “구름이 걷히면”까지 표시된 순간, 독자는 밤하늘 전체를 보고 싶어 합니다. 숨기기 직전에는 자동 읽기가 켜져 있고 음성이 재생 중이며, 얇은 구름이 천천히 움직입니다. 인물은 아직 손을 들어 별을 가리키지 않았습니다.
먼저 지켜야 할 기준을 정합니다. 그림을 보는 동안 다음 대사로 넘어가거나, 현재 대사에서 아직 보여 주지 않은 핵심 서사 행동을 지나쳐서는 안 됩니다. 같은 텍스트로 돌아오더라도 인물이 이미 별을 가리킨 뒤 카메라까지 다른 곳으로 이동했다면, 독자는 그 대사를 이해할 근거를 놓친 셈입니다.
그림 감상 모드에 들어갈 때는 우선 진행을 막고, 대사 위치와 텍스트 표시 진행도, 재생 상태를 함께 기록한 뒤 마지막으로 대화창을 숨깁니다. 자동 진행과 숨기기 요청이 동시에 도착하면 이 설계에서는 숨기기를 우선합니다. 이미 대사 전환이 끝난 뒤 숨기기 요청을 받았다면 새 대사를 기록합니다. 저장된 대사 위치와 화면의 텍스트가 서로 다른 대사를 가리키지 않도록 해야 합니다.
2. 대화창 숨김·복귀 규칙표 작성하기
대사 위치는 챕터와 분기, 개별 대사를 구분할 수 있어야 합니다. 서로 다른 위치에서 같은 말이 나올 수 있으므로 대사 텍스트만 저장해서는 안 됩니다. 텍스트 표시 진행도는 어디까지 나타났는지를 기록하며, “대사를 끝까지 읽었는가”와는 별개로 관리합니다.
| 규칙표 항목 | 천문대 장면에 적용한 규칙 |
|---|---|
| 숨기기 전 대사 위치 | 천문대의 첫 관측 구간에서 별을 가리키는 대사. 복귀 시 반드시 이 위치로 돌아옴 |
| 텍스트 표시 진행도 | “구름이 걷히면”까지 표시됨. 숨긴 동안 글자 출력을 멈추고, 복귀 직후에도 같은 진행도를 유지함 |
| 자동 읽기 | 이전에 켜져 있었다는 사실을 기록함. 숨길 때 일시 정지하고 현재 대사의 기존 진행 카운트다운을 무효화함 |
| 음성 처리 | 숨길 때 일시 정지하고 재생 위치를 기록함. 대화창을 다시 표시한 뒤에도 일시 정지 상태를 유지하며 계속하기 명령을 기다림 |
| 연출 처리 | 서사 정보를 담지 않은 별빛의 반짝임은 계속함. 얇은 구름의 이동과 손을 들어 별을 가리키는 동작은 일시 정지함 |
| 복귀 입력 | 이번 누르기, 떼기, 길게 누르기로 발생한 반복 입력은 모두 이야기를 진행시키지 않음. 버튼이나 화면에서 손을 뗀 뒤에야 새 입력을 받음 |
| 복귀 후 선택 | “현재 대사 계속 읽기”는 수동 상태를 유지함. “자동 읽기 재개”는 자동 읽기를 명시적으로 다시 켬 |
여기서 얇은 구름의 이동을 서사 연출로 분류한 이유는 구름이 걷혔는지가 대사 내용과 연결되기 때문입니다. 단지 배경에 속한다는 이유만으로 계속 움직이게 해서는 안 됩니다. 다른 장면에서 구름이 줄거리와 무관한 반복 장식에 불과하다면 다른 규칙을 적용할 수 있습니다.
이 규칙표를 재사용할 때는 각 항목에 숨기기 전 무엇을 기록하는지, 숨긴 동안 변해도 되는지, 복귀 후 언제 다시 시작하는지를 명시하세요. 표에 없는 시간제한 선택, 카메라 전환, 새 대사 발생도 반드시 분류해야 합니다. 이 설계에서는 미분류 이벤트를 우선 멈추고, 규칙을 보완한 뒤 처리 방식을 결정합니다.
3. 음성과 연출은 전달하는 정보에 따라 처리하기
음성을 일시 정지하면 듣던 위치를 보존할 수 있지만, 단어 중간부터 이어지면 어색할 수 있습니다. 원래 위치에서 안정적으로 이어 재생할 수 없는 프로젝트라면 음성을 정지하고, 복귀 후 “현재 대사 다시 듣기”를 제공하는 방법도 있습니다. 이때 텍스트 표시 진행도는 그대로 유지합니다. 앞부분을 다시 들어야 한다는 단점이 있으므로 복귀 안내에서 이를 설명해야 합니다.
현재 대사의 음성은 끝까지 재생하되 대사 위치는 고정하는 방법도 있습니다. 그림을 보면서 음성을 듣도록 명시적으로 허용하는 모드에 적합합니다. 다만 음성이 숨기기 전 위치에 머무른다는 보장은 없어집니다. 복귀 시 현재 대사의 음성이 끝났음을 표시하고 다시 들을 수 있게 해야 합니다. 음성 재생이 끝났다는 사실을 숨김 상태에서 다음 대사로 넘어가도 된다는 조건으로 사용해서는 안 됩니다.
배경 음악이나 새로운 정보를 전달하지 않는 별빛 반복 연출은 감상 분위기를 유지하도록 계속할 수 있습니다. 반면 인물의 퇴장, 소품의 등장, 표정 변화, 단서로 시선을 이끄는 카메라 이동은 멈춰야 합니다. 판단 기준은 독자가 나중에 최종 상태만 보고도 방금 무슨 일이 있었는지 이해할 수 있는가입니다.
음성과 입 모양, 카메라가 같은 타임라인에 맞춰 재생되어야 한다면 함께 멈추거나 함께 다시 재생하세요. 따로 멈추면 목소리는 계속 나오는데 인물은 정지한 상태가 될 수 있습니다. 분리할 수 없는 연속 연출이라면 해당 구간이 끝날 때까지 그림 감상 모드를 제공하지 않는 방법도 있습니다. 다만 진입 지점에서 구간이 끝날 때까지 기다려야 한다고 설명해야 합니다.
4. 전체 조작 과정을 따라가며 대사를 놓치지 않는지 확인하기
첫째, “구름이 걷히면”이 나타난 뒤 독자가 대화창을 숨깁니다. 규칙표에 따라 별을 가리키는 대사에 위치를 고정하고, 글자 출력과 음성, 얇은 구름을 멈추되 별빛은 계속 반짝이게 합니다. 자동 읽기가 켜져 있었다는 사실은 기록되어 있지만, 지금은 진행할 권한이 없습니다.
둘째, 독자가 머물며 그림을 봅니다. 얼마나 오래 머물든 복귀 직후 실행할 대사 전환 작업을 쌓아 두어서는 안 됩니다. 숨긴 동안의 진행을 복귀 시 몰아서 처리한다면 일시 정지는 겉모습에 불과해집니다.
셋째, 독자가 밤하늘을 클릭합니다. 대화창에는 원래의 “구름이 걷히면”이 표시되고, “읽기가 일시 정지되었습니다”라는 안내가 나타납니다. 이 클릭으로 텍스트를 전부 표시하거나 음성을 시작하거나 다음 대사로 넘어가서는 안 됩니다. 계속 누르고 있더라도 뒤따르는 반복 입력이 복귀 처리를 넘어 다른 동작을 일으키지 않아야 합니다.
넷째, 독자가 버튼이나 화면에서 손을 뗀 뒤 “현재 대사 계속 읽기”를 선택합니다. 텍스트는 원래 위치부터 이어서 나타나고, 음성과 얇은 구름은 이 예시의 규칙에 따라 재개됩니다. 손을 드는 동작은 원래 예정된 시점에 이르러야 일어납니다. 자동 읽기는 꺼진 상태를 유지합니다. 현재 대사가 모두 표시된 뒤, 독자는 새로운 진행 입력으로 다음 대사로 넘어갑니다.
넷째 단계에서 “자동 읽기 재개”를 선택해도 우선 현재 대사부터 이어 갑니다. 원래의 읽기 완료 조건을 충족한 뒤 대기 시간을 처음부터 다시 시작해야 합니다. 숨기기 전에 거의 끝나 가던 카운트다운을 재사용해서는 안 됩니다. 명시적인 선택이 한 번 늘어나지만, 독자는 진행 제어권을 언제 다시 넘기는지 확인할 수 있습니다.
5. 실패 사례로 검수하고 적용 범위 정하기
검수에서는 최소한 세 시점에 대화창을 숨겨 봐야 합니다. 텍스트가 다 나오기 전, 텍스트는 다 나왔지만 음성은 끝나지 않았을 때, 자동 읽기가 다음 대사로 넘어가기 직전입니다. 매번 복귀 후 대사 위치와 텍스트 표시 진행도, 음성 상태, 복귀 후 처음 받는 새 입력의 작용을 확인합니다. 이는 문서상의 예상 동작이며 실제 구현 후 검증해야 합니다. 이미 테스트를 통과한 결과로 간주해서는 안 됩니다.
숨기기와 복귀를 연속으로 두 번 수행하는 확인도 필요합니다. 두 번째 숨기기에서는 첫 번째의 오래된 기록이 아니라 그때의 새로운 진행도를 저장해야 합니다. 이어 클릭, 단축키, 터치로 각각 조작해 보고, 복귀 동작이 텍스트 전체 표시를 잘못 실행하거나 아래에 가려진 선택지를 잘못 선택하지 않는지 확인합니다. 마우스로만 안전하게 복귀할 수 있다면 입력 규칙이 아직 모든 방식을 다루지 못한 것입니다.
흔한 실패는 세 가지입니다. 겉으로만 숨긴 채 대사는 계속 넘어가는 경우, 다시 표시하자마자 카운트다운을 몰아서 처리하는 경우, 한 번의 클릭이 복귀와 진행을 동시에 수행하는 경우입니다. 각각 대사 위치 고정, 일시 정지된 작업 처리, 복귀 입력 분리로 해결해야 하며 안내 문구 하나를 추가하는 것만으로는 충분하지 않습니다.
이 규칙표는 대사를 하나씩 읽는 흐름이 중심이며 그림을 보기 위해 잠시 멈출 수 있는 장면에 적합합니다. 실시간으로 제한 시간이 흐르는 이야기나 일시 정지할 수 없는 연속 영상은 시간이 계속 흐를지를 별도로 정해야 하며, 원래 진행도로 돌아갈 수 있다고 곧바로 약속해서는 안 됩니다. 작성한 규칙표와 위의 예상 조작 결과를 함께 전달하면, 기획자와 구현 담당자가 “읽던 대사를 이어 읽기”에 어떤 동작이 포함되는지 항목별로 대조할 수 있습니다.






