행동과 내면이 다른 캐릭터를 만드는 법
시스템은 갖춰졌다. 감정 3계층, 장면 컨텍스트, 기억 시스템. 이제 이 시스템 위에서 살아갈 존재가 필요하다. 캐릭터.
미연시의 캐릭터 설계에서 가장 흔한 함정이 있다. 아키타입에 의존하는 것. 츤데레, 쿨데레, 얀데레. 이런 분류는 편리하지만 위험하다. 레이블을 먼저 붙이면 캐릭터가 그 레이블 안에 갇힌다. 행동이 예측 가능해지고, 예측 가능한 캐릭터에게는 감정이 붙지 않는다.
AI에게 물었다. "클리셰에 빠지지 않으면서 복잡한 캐릭터를 만들려면 어떻게 해야 해?"
핵심: 행동과 내면의 불일치
AI의 답변 중 가장 핵심적인 건 이거였다.
사람이 매력적으로 느껴지는 건, 행동과 내면이 다를 때다.
겉으로는 차갑지만 속으로는 신경 쓰고 있는 사람. 밝게 웃지만 실은 불안한 사람. 무관심해 보이지만 누구보다 관찰하고 있는 사람. 이 간극이 캐릭터를 입체적으로 만든다.
그리고 이 간극을 만드는 핵심 요소가 **표현 능력(expression_skill)**이다.
감정은 큰데 표현 못하는 사람이 있다. 감정이 작지만 솔직한 사람이 있다. 이 조합이 캐릭터의 기본 성격을 결정한다.
# 캐릭터 A: 감정 크지만 표현 못함
character_a = {
"affection_capacity": "high",
"expression_skill": "low",
"defense_mechanism": "tease" # 놀림/회피로 표현
}
# 캐릭터 B: 감정 작지만 솔직함
character_b = {
"affection_capacity": "moderate",
"expression_skill": "high",
"defense_mechanism": "none" # 직진
}
A는 좋아하면 할수록 오히려 차갑게 군다. 직접 표현이 어려우니까 장난, 놀림, 반대로 말하기로 우회한다. B는 좋아하면 그냥 말한다. 복잡한 전략 없이 다가간다.
이 두 사람이 만나면 충돌이 생긴다. B는 A가 왜 그러는지 모른다. A는 B의 솔직함이 부담스럽다. 이 충돌이 이야기를 만든다.
"표현 실패한 애정"이라는 패턴
AI와 깊이 파고든 패턴 중 하나가 이거다. 겉으로 보면 괴롭힘인데, 실제 내부는 전혀 다른 경우.
관심이 있다. 끌림이 있다. 하지만 불안하다. 거절당할까 두렵다. 그래서 정면 표현을 회피한다. 대신 장난, 놀림, 일부러 건드리기, 반대로 말하기로 나온다.
이건 클리셰에서 "츤데레"라고 부르는 패턴이지만, 깊이 들어가면 훨씬 복잡하다. 중요한 건 레이블이 아니라 왜 그렇게 행동하는가의 내적 논리다.
시스템으로 표현하면 이렇다.
if affection >= 5 and expression_skill < 2:
# 좋아하지만 표현 못함 → 우회 행동
jump tease_behavior
elif affection >= 5 and expression_skill >= 2:
# 좋아하고 표현도 가능 → 솔직한 행동
jump honest_behavior
그리고 핵심은 이 "우회 행동"의 이면을 나중에 보여주는 것이다.
if hidden_care and affection >= 8:
"…그거, 다칠까 봐서 그런 거야."
초반에는 불편한 캐릭터. 중반에 이해되기 시작하는 캐릭터. 후반에 감정이 납득되는 캐릭터. 이 곡선이 플레이어의 감정을 만든다.
단순 괴롭힘과의 차이
비슷해 보이지만 실제로는 다른 두 가지를 AI와 정리했다.
단순 괴롭힘 — 상대 반응에 관심 없음. 통제/우월감이 목적. 자기만 즐거움.
왜곡된 애정 — 상대 반응에 민감함. 과하게 의식함. 혼자 후회함. 다른 사람이 상대와 가까워지면 불편함.
게임에서 표현해야 하는 건 이 "불일치"다. 행동은 모순적인데, 그 뒤에 일관된 감정이 있다.
놀린다. 근데 다른 사람이 건드리면 싫어한다.
일부러 밀어낸다. 근데 멀어지면 불안하다.
말은 공격적인데 행동은 챙긴다.
이 모순이 플레이어에게 "이 사람을 이해하고 싶다"는 욕구를 만든다. 그리고 이해하는 과정이 곧 관계의 깊어짐이다.
캐릭터의 변화 곡선
좋은 캐릭터는 변한다. 하지만 급격히 변하면 부자연스럽다. AI와 정리한 변화의 원칙.
변화는 점진적이어야 한다. 10시간 플레이 중에 캐릭터가 갑자기 달라지면 어색하다. 작은 변화들이 쌓여서 어느 순간 "어, 이 사람 달라졌네"를 깨닫게 해야 한다.
변화의 원인이 플레이어의 선택이어야 한다. 시간이 지나서 자동으로 변하는 게 아니라, 플레이어가 한 선택들 때문에 변한 거여야 한다. 이래야 플레이어가 변화에 대한 소유감을 느낀다.
완전히 변하면 안 된다. 차가운 캐릭터가 갑자기 따뜻해지면 캐릭터가 죽는다. 기본 성향은 유지하되, 특정 상대에게만 다른 면을 보여주는 구조가 자연스럽다.
이걸 시스템으로 표현하면, A층(근본 성향)은 거의 안 바뀌고, B층(순간 감정)과 C층(관계 상태)이 점진적으로 바뀌는 구조다. 캐릭터의 "성격"은 그대로인데, 플레이어에 대한 "태도"가 변하는 거다.
AI와 캐릭터를 만들 때의 주의점
AI에게 "이런 성격의 캐릭터 만들어줘"라고 하면, 깔끔하고 일관된 캐릭터가 나온다. 하지만 너무 깔끔하다. 모순이 없다. 약점이 보이지 않는다. 현실의 사람은 모순덩어리인데, AI가 만든 캐릭터는 잘 정리된 프로필처럼 느껴진다.
그래서 AI에게 캐릭터를 만들 때는, 완성된 캐릭터를 한 번에 만들지 말고 질문으로 깎아가는 방식이 효과적이었다. "이 캐릭터가 거짓말할 때는 언제야?" "이 캐릭터가 가장 비합리적으로 행동하는 순간은?" "이 캐릭터가 자기도 모르게 하는 행동은?"
이런 질문을 던지면 AI가 의외의 답을 내놓기도 하고, 그 답에서 캐릭터의 입체감이 생긴다. 캐릭터를 설명하는 게 아니라, 캐릭터에 대해 질문하는 과정이 더 좋은 결과를 만든다.
결국 좋은 캐릭터란, 한 문장으로 설명할 수 없는 캐릭터다. "이 사람은 이런 사람이야"가 아니라, "이 사람은... 글쎄, 복잡해"가 더 좋은 캐릭터다. 그리고 그 복잡함을 플레이어가 하나씩 알아가는 과정이 미연시의 가장 강력한 경험이다.
AI는 이 과정에서 구조를 잡아주는 역할을 잘 한다. 성향 변수, 표현 패턴, 변화 곡선 같은 골격. 하지만 그 골격 안에 생명을 불어넣는 건 결국 사람의 일이다. "이 캐릭터가 비 오는 밤에 혼자 있으면 뭘 할까?" 같은 질문에 대한 답은 변수가 아니라 상상에서 나온다.
다음 편에서는 캐릭터 사이의 관계, 특히 갈등을 다룬다. 악역 없이 갈등을 만드는 법. 선의가 선의와 충돌하는 구조.
다음 편: 갈등은 악역이 만드는 게 아니다 — 선의의 충돌
댓글
댓글 쓰기