갈등은 악역이 만드는 게 아니다

 


캐릭터를 설계했다. 행동과 내면이 다른, 입체적인 인물. 이제 이 캐릭터들 사이에 갈등을 만들어야 한다. 갈등 없는 이야기에는 감정이 없으니까.

미연시에서 흔한 갈등 패턴은 이거다. 라이벌 캐릭터가 방해한다. 오해가 생긴다. 외부 사건이 둘을 갈라놓는다. 이것들이 나쁜 건 아니지만, 더 강한 갈등이 있다.

두 사람 모두 선의인데, 그 선의가 충돌하는 갈등.

AI에게 물었다. "악역 없이 감정적으로 강한 갈등을 만드는 패턴이 뭐야?" 그리고 여기서 나온 것들이 이 프로젝트의 시나리오를 결정짓는 핵심이 됐다.

사랑 방식의 충돌

가장 현실적이고 강력한 갈등은 이거다. 둘 다 상대를 좋아하는데, 좋아하는 방식이 다르다.

한 사람은 표현한다. 직진한다. 좋으면 좋다고 말하고, 싫으면 싫다고 말한다. 솔직함이 사랑의 방식이다.

다른 사람은 지킨다. 조용히 챙긴다. 말하지 않아도 알아줄 거라고 기대한다. 행동이 사랑의 방식이다.

이 두 방식이 만나면 이런 일이 벌어진다. 솔직한 사람은 "왜 말을 안 해?"라고 느끼고, 조용한 사람은 "왜 자꾸 말하라고 해?"라고 느낀다. 둘 다 상대를 위하는 건데, 방식이 달라서 상처가 된다.

이건 악역이 없다. 잘못한 사람이 없다. 그래서 해결이 어렵고, 그래서 감정이 깊다.

AI와 이 패턴을 구체적으로 발전시켰다. "표현형 캐릭터와 행동형 캐릭터가 만나면 어떤 오해가 생겨?" 이렇게 물었더니, 놀라울 정도로 구체적인 시나리오가 나왔다. 표현형이 "오늘 힘들었어"라고 말하면, 행동형은 조용히 음료를 사다 놓는다. 표현형은 "내 얘기를 왜 안 들어줘?"라고 느끼고, 행동형은 "내가 이렇게 챙겨주는데 왜 몰라줘?"라고 느낀다. 같은 순간에 두 사람 다 상처받는다.

Part 13에서 다뤘던 행동과 내면의 불일치가 여기서 갈등의 엔진이 된다. expression_skill이 높은 캐릭터와 낮은 캐릭터가 만나면, 그 차이 자체가 자연스러운 충돌 지점이다. 시스템적으로 설계할 필요도 없다. 캐릭터를 제대로 만들어 놓으면 갈등은 자동으로 발생한다.

배려가 관계를 망치는 구조

기억 시스템에서 다뤘던 "좋은 선택이 비극이 되는" 패턴의 확장이다.

상대가 힘들어 보인다. 묻고 싶다. 하지만 부담 줄까 봐 묻지 않는다. 배려다. 그런데 이게 반복되면 상대에게는 "이 사람은 나에게 관심이 없다"로 읽힌다.

반대로, 상대를 걱정해서 자꾸 물어본다. 챙긴다. 이것도 배려다. 하지만 이게 반복되면 상대에게는 "이 사람은 나를 못 믿는다"로 읽힌다.

배려의 방식이 상대가 원하는 것과 다를 때, 배려가 상처가 된다. 이건 현실의 관계에서도 아주 흔한 일이다. 그리고 이걸 게임에서 경험하게 하면, 플레이어는 "아, 나도 이런 실수를 하고 있었을 수 있겠다"고 느끼게 된다. 이 자기 인식이 미연시가 줄 수 있는 가장 깊은 감정 경험이다.

Part 12에서 만든 기억 시스템이 여기서 위력을 발휘한다. 배려의 선택이 즉시 부정적 결과를 만들지 않는다. 대신 플래그가 쌓인다. "did_not_ask" 카운터가 올라간다. 그리고 세 번, 네 번 쌓인 뒤에야 캐릭터가 "너는 내가 힘들 때 한 번도 물어본 적 없잖아"라고 말한다. 그 순간 플레이어는 깨닫는다. 내가 매번 배려라고 생각한 선택이, 상대에게는 무관심이었다는 걸.

타이밍의 불일치

두 사람이 서로를 좋아하는데, 준비된 시기가 다른 갈등.

한 사람이 고백하려는 순간, 상대는 다른 문제로 여유가 없다. 한 사람이 관계를 진전시키고 싶을 때, 상대는 아직 준비가 안 됐다. 한 사람이 정리할 때, 상대가 비로소 깨닫는다.

이건 "거의 될 뻔했다"는 감정을 만든다. 완전 절망보다 "조금만 달랐으면" 이 더 오래 남는다는 원리. 타이밍이 맞았으면 이어졌을 관계가, 반박자씩 어긋나서 결국 못 이어지는 구조. 이건 플레이어에게 가장 큰 아쉬움을 남긴다.

AI에게 "타이밍 불일치 갈등을 가장 잘 보여주는 구체적 장면을 만들어줘"라고 요청했다. 나온 장면 중 하나가 이거다. 고백하려고 마음을 먹고, 대사까지 준비했는데, 만나러 가는 길에 상대가 전화로 "오늘 좀 힘든 일이 있어서"라고 말하는 장면. 플레이어는 안다. 지금 말하면 부담이 된다는 걸. 그래서 "다음에 할게"라고 미룬다. 그 "다음"은 영원히 오지 않는다. 이런 장면이 타이밍 갈등의 본질이다. 거대한 사건이 막는 게 아니라, 지극히 일상적인 상황이 막는다.

시스템적으로는, 두 캐릭터의 감정 상태가 동시에 특정 조건을 충족해야 관계가 진전되게 설계하면 된다. 한쪽만 조건을 충족하면 "거의" 되는 장면이 나오지만, 실제로는 안 되는 구조. Part 9의 3계층 감정 모델에서 설계한 관계층(relationship layer)이 여기서 핵심 역할을 한다. 두 캐릭터의 관계층 변수가 동시에 임계점을 넘어야 하는데, 한쪽이 넘을 때 다른 쪽은 아직 못 넘은 상태. 이 비동기적 감정 진행이 "거의 될 뻔했다"를 시스템적으로 만든다.

외부 갈등이 아닌 내부 갈등

많은 미연시가 갈등을 외부에서 가져온다. 부모의 반대, 전학, 사고, 질병. 이것들은 강제적이다. 캐릭터의 선택과 무관하게 갈등이 발생한다.

내부 갈등은 다르다. 캐릭터의 성격, 가치관, 과거 경험에서 갈등이 나온다. 이 사람의 자존심 때문에, 이 사람의 두려움 때문에, 이 사람의 과거 상처 때문에 관계가 어려워지는 구조.

내부 갈등이 더 강한 이유는, 해결이 "상황의 변화"가 아니라 "사람의 변화"를 요구하기 때문이다. 부모가 허락하면 끝나는 갈등보다, 자기 두려움을 극복해야 하는 갈등이 더 깊다. 그리고 그 극복은 플레이어의 선택이 도와주거나 방해할 수 있다.

AI에게 "외부 갈등과 내부 갈등이 플레이어에게 주는 감정의 차이가 뭐야?"라고 물었다. 답이 명확했다. 외부 갈등이 해결되면 플레이어는 "다행이다"를 느낀다. 내부 갈등이 해결되면 "성장했다"를 느낀다. 전자는 안도이고, 후자는 감동이다. 미연시에서 울고 싶은 건, 캐릭터가 자기 약점을 인정하는 순간이다. 상황이 바뀌는 순간이 아니라, 사람이 바뀌는 순간. Part 11의 컨텍스트 시스템으로 이 순간을 강화할 수 있다. 조용한 장소, 늦은 시간, 단둘이 있는 상황에서 캐릭터가 비로소 진심을 말하는 장면. 장면의 조건이 감정의 무게를 밀어올린다.

AI와 갈등 시나리오를 짤 때

AI에게 "이 두 캐릭터 사이에 갈등을 만들어줘"라고 하면, 대부분 외부 갈등을 제안한다. 오해, 라이벌, 사건. 이건 AI가 구조적으로 쉬운 쪽을 택하기 때문이다.

내부 갈등을 만들려면 질문을 다르게 해야 한다. "이 두 캐릭터의 성격에서 자연스럽게 충돌하는 지점은 어디야?" "이 캐릭터의 장점이 이 관계에서는 왜 단점이 돼?" "이 두 사람이 서로를 좋아하면서도 상처 주는 구조가 가능해?"

이렇게 물으면 AI가 훨씬 깊은 갈등 구조를 내놓는다. 질문의 질이 결과의 질을 결정한다.

이 과정에서 한 가지 더 발견한 게 있다. AI에게 "현실에서 가장 흔한 관계 갈등 유형 10가지를 정리해줘"라고 요청하면, 대부분 선의의 충돌 구조가 나온다. "다른 삶의 속도", "사랑의 언어 차이", "성장 방향의 불일치". 이것들은 전부 잘못한 사람이 없는 갈등이다. AI가 현실의 관계 데이터를 학습한 결과, 진짜 관계가 무너지는 이유는 악의가 아니라 불일치라는 걸 패턴으로 보여주는 셈이다.

정리하면, 좋은 갈등에는 세 가지 특징이 있다. 잘못한 사람이 없다. 해결이 쉽지 않다. 그리고 플레이어가 "나라면 어떻게 했을까"를 생각하게 만든다. 악역이 만드는 갈등은 "저 사람이 나빠"로 끝나지만, 선의의 충돌은 "나라면?"을 남긴다. 이 차이가 감정의 깊이를 결정한다.

다음 편에서는 시간 구조를 다룬다. 같은 설렘도 시기마다 다르게 느껴지는 이유, 반복이 아닌 변주로 이야기를 설계하는 법.


다음 편: 시간 구조 — 반복이 아닌 변주

댓글

이 블로그의 인기 게시물

사랑을 직접 올리지 않는 설계

감정을 변수로 옮기다 — 3계층 감정 모델

시작의 충동 — "타로 웹앱을 만들어볼까?"