텍스트 어드벤처의 협상에서 조건 일관성을 유지하는 법: 약속, 제안, 번복을 어떻게 기록할까?
협상을 세 번째 라운드까지 쓰다 보면 가장 흔히 생기는 문제는 조건이 슬그머니 바뀌는 것입니다. 첫 라운드에서 상대가 "비행선을 3일 빌려주겠다"고 했다가 두 번째 라운드에서 "5일 빌려주겠다"로 바뀌고, 세 번째 라운드에서 또 "보증금이 필요하다"는 조건이 튀어나옵니다. 플레이어가 앞부분을 기억하고 있으면 세계가 믿을 수 없다고 느낍니다. 해결책은 작가가 다 외우는 것이 아니라, 매 발언을 세 가지 기록으로 나누는 것입니다: 제안, 약속, 철회. 제안은 "내가 무엇을 제시하는가", 약속은 "양측이 무엇을 확인했는가", 철회는 "누가 언제 어느 조항을 취소했는가"입니다. 세 가지를 따로 기록하면 조건이 섞이지 않습니다.

들어가며
협상을 세 번째 라운드까지 쓰다 보면 가장 흔히 생기는 문제는 조건이 슬그머니 바뀌는 것입니다. 첫 라운드에서 상대가 "비행선을 3일 빌려주겠다"고 했다가 두 번째 라운드에서 "5일 빌려주겠다"로 바뀌고, 세 번째 라운드에서 또 "보증금이 필요하다"는 조건이 튀어나옵니다. 플레이어가 앞부분을 기억하고 있으면 세계가 믿을 수 없다고 느낍니다. 해결책은 작가가 다 외우는 것이 아니라, 매 발언을 세 가지 기록으로 나누는 것입니다: 제안, 약속, 철회. 제안은 "내가 무엇을 제시하는가", 약속은 "양측이 무엇을 확인했는가", 철회는 "누가 언제 어느 조항을 취소했는가"입니다. 세 가지를 따로 기록하면 조건이 섞이지 않습니다.
먼저 협상 대장을 만든다
대장은 복잡할 필요 없이 표 하나면 충분합니다. 매 라운드 협상 전에 누가 말하는지, 그가 무엇을 원하는지, 그가 무엇을 내놓을 의향이 있는지, 그가 무엇을 명확히 거부하는지를 먼저 적습니다. 아래에는 가상의 교육용 예시로 설명하며, 예시 속 숫자와 대사는 모두 지어낸 것이지 실제 측정 자료가 아닙니다.
이야기 배경: 플레이어는 북쪽의 풍식곡으로 가기 위해 비행선을 빌리려 하고, 비행선은 "회색 송골매 상단"이라는 조직 소유이며, 관리인은 리엘라입니다. 비행선 사용권은 이야기 자원이며 현실 거래와는 무관합니다.
첫 번째 라운드 대화:
리엘라: "비행선은 빌려줄 수 있어, 3일. 연료는 너희가 채우고, 한 명은 여기 남아서 돛대 수리를 도와." 플레이어: "3일로는 부족해, 5일이 필요해. 연료는 우리가 대지만, 사람은 남길 수 없어." 리엘라: "5일은 안 돼. 4일, 사람은 안 남겨도 되지만, 돌아올 때 풍식곡의 크리스탈 샌드 한 상자를 가져와."
이 라운드가 끝나면 대장은 이렇게 기록해야 합니다:
| 라운드 | 발화자 | 유형 | 내용 | 상태 |
|---|---|---|---|---|
| 1 | 리엘라 | 제안 | 3일 대여, 플레이어가 연료를 채우고 한 명이 남아 돛대 수리 | 플레이어가 거부함 |
| 1 | 플레이어 | 반제안 | 5일 대여, 플레이어가 연료 부담, 사람 안 남김 | 리엘라가 거부함 |
| 1 | 리엘라 | 반제안 | 4일 대여, 사람 안 남김, 돌아올 때 크리스탈 샌드 한 상자 | 확인 대기 |
핵심: 리엘라가 처음 말한 "남아서 돛대 수리"는 이미 플레이어가 거부했으므로 이후 본문에서 자동으로 되살아날 수 없습니다. 만약 세 번째 라운드에서 리엘라가 다시 "사람 남기기로 약속하지 않았나"라고 말한다면, 중간에 어느 라운드에서 명확히 다시 제안하고 수락한 적이 없는 한 조건 불일치입니다.
"제시"와 "수락"을 구분한다
많은 작가가 캐릭터가 입 밖에 낸 말을 곧바로 성립된 조건으로 취급하고, 그 결과 뒤에서 캐릭터가 번복할 때 독자는 누구 말이 맞는지 알 수 없게 됩니다. 효과적인 방법은 각 조건에 상태 필드를 붙이는 것입니다: 제시, 수락, 거부, 철회, 만료.
두 번째 라운드 대화 계속:
플레이어: "4일은 괜찮아, 크리스탈 샌드도 괜찮아. 하지만 우리가 4일 안에 돌아오지 못하면 크리스탈 샌드는 면제야." 리엘라: "안 돼. 4일은 고정이고, 크리스탈 샌드도 고정이야. 하루 늦으면 크리스탈 샌드가 두 배야." 플레이어: "그럼 안 빌릴래." 리엘라: "잠깐. 하루 늦으면 한 상자 더, 두 배는 아니야. 이게 내 마지노선이야."
이 라운드가 끝난 뒤 대장 갱신:
| 라운드 | 발화자 | 유형 | 내용 | 상태 |
|---|---|---|---|---|
| 2 | 플레이어 | 반제안 | 4일, 크리스탈 샌드 지참, 단 초과 시 크리스탈 샌드 면제 | 리엘라가 거부함 |
| 2 | 리엘라 | 반제안 | 4일, 하루 늦으면 크리스탈 샌드 두 배 | 플레이어가 거부함 |
| 2 | 플레이어 | 철회 | 빌리지 않겠다고 함 | 협상 일시 중단 |
| 2 | 리엘라 | 반제안 | 4일, 하루 늦으면 한 상자 더, 두 배 아님 | 확인 대기 |
"안 빌릴래"는 철회이며, 플레이어가 이전에 제시한 모든 미확인 제안을 철회하지만 리엘라가 이미 제시한 조건을 자동으로 철회하지는 않습니다. 리엘라의 뒤이은 "한 상자 더, 두 배 아님"은 새 제안이지 옛 제안의 수정이 아닙니다. 작가가 여기서 "리엘라가 방금 두 배라고 했던 걸 떠올린다"고 쓰면 앞뒤가 모순됩니다.
세 번째 라운드: 수락, 약속, 번복의 결과
세 번째 라운드에서 양측이 확인하게 합니다:
플레이어: "4일, 우리가 연료를 대고, 사람은 안 남겨. 돌아올 때 크리스탈 샌드 한 상자. 하루 늦으면 한 상자 더, 두 배 아님. 이게 전부야?" 리엘라: "이게 전부야. 비행선은 내일 일출에 출발할 수 있어."
여기서야 첫 번째 "수락된 약속"이 생깁니다. 대장에서 이 항목을 따로 표시합니다:
| 약속 번호 | 내용 | 제안 라운드 | 수락 라운드 | 상태 |
|---|---|---|---|---|
| P1 | 비행선 4일 대여, 플레이어가 연료 부담, 사람 안 남김 | 1-2 | 3 | 유효 |
| P2 | 플레이어가 돌아올 때 크리스탈 샌드 한 상자 지참 | 1-2 | 3 | 유효 |
| P3 | 하루 늦으면 한 상자 더, 두 배 아님 | 2 | 3 | 유효 |
약속이 일단 성립하면 이후에 바꾸려면 반드시 "철회"나 "재제안"을 거쳐야 하며, 곧바로 덮어쓸 수 없습니다. 예를 들어 네 번째 라운드에서 리엘라가 조건을 추가하려 한다면:
리엘라: "생각해 보니, 너희가 한 명은 남는 게 좋겠어. 돛대에 사람이 정말 부족해."
이 말은 이야기 안에서 일어날 수 있지만 "상기"가 아니라 "번복"입니다. 작가는 그녀가 이미 수락된 P1을 뒤집고 있다는 점을 분명히 써야 합니다. 번복의 결과는 미리 표로 정리해 두면 집필 시 근거가 됩니다:
| 번복 주체 | 번복 내용 | 이야기 자원에 미치는 영향 | 상대의 가능한 반응 |
|---|---|---|---|
| 리엘라 | 사람을 남기라고 요구, P1 뒤집기 | 플레이어가 쓸 수 있는 캐릭터 하나 감소 | 플레이어는 거부하거나 보상을 요구할 수 있음 |
| 플레이어 | 크리스탈 샌드를 안 가져감, P2 뒤집기 | 상단이 크리스탈 샌드 한 상자 손해 | 리엘라는 다음 대여를 거부할 수 있음 |
| 리엘라 | 하루 늦으면 두 배, P3 뒤집기 | 플레이어가 한 상자 더 지불 | 플레이어는 협력을 중단할 수 있음 |
이 표는 규칙 엔진이 아니라 집필 힌트일 뿐입니다. 번복에 대가가 따르게 하고, 아무렇게나 조건을 바꾸지 않게 보장합니다.
매 라운드가 끝나기 전 완료 점검
협상 한 라운드를 다 쓴 뒤 다음 다섯 항목으로 확인합니다:
- 이번 라운드에서 누가 새 조건을 제시했는가? 새 조건이 이미 수락된 약속과 충돌하는가?
- 누군가 "제시"를 "이미 승낙한 것"으로 취급했는가?
- 거부와 철회가 분명히 쓰였는가? 거부된 조건이 이후 본문에서 되살아났는가?
- 번복이 일어났다면 어느 약속 번호를 번복한 것인가? 그 결과가 이야기 자원에 반영되었는가?
- 다음 라운드가 시작될 때 양측이 기억하는 조건이 대장과 일치하는가?
이 다섯 항목만 맞으면 협상은 라운드마다 허공에서 가격이 바뀌지 않습니다. 대장은 문서 한쪽에 적어 두면 되고 플레이어에게 보여줄 필요는 없지만, 작가에게는 반드시 한 부 있어야 합니다. AI 생성 대화를 다룰 때는 이미 수락된 약속을 맥락 요약으로 프롬프트에 넣을 수 있지만, 출력은 여전히 어긋날 수 있으므로 사람이 대장에 맞춰 확인해야 합니다.
마지막으로 작은 행동 하나를 해 봅시다: 지금 쓰고 있는 협상 장면을 열고, 최근 세 라운드 대화의 모든 조건문을 세 열 표에 옮겨 적으세요 — 누가 말했는가, 무슨 조건인가, 현재 상태는 무엇인가. 다 적은 뒤, 어떤 조건이 "철회"나 "재제안" 없이 내용이 바뀐 것이 있는지 확인하세요. 하나라도 찾았다면 왜 바뀌었는지 설명하는 캐릭터 대사를 한 줄 보충하세요.


