Play games
개발 일지

개발 일지: Parallel Me에서 답장을 직접 쓰게 한 이유

Parallel Me의 몇몇 중요한 순간에는 내가 정말 할 말을 직접 입력할 수 있습니다. AI가 분위기를 읽고, 나머지는 미리 쓴 대본이 받쳐 주며, 입력한 말은 절대 저장되지 않습니다.

글: Glowbox · · 업데이트 · 5분 분량

English中文Русский日本語한국어EspañolFrançais

Parallel Me는 대부분 버튼으로 플레이합니다. 한 주를 계획하고, 이벤트 카드를 뽑고, 채팅 앱에서 답장을 고르죠. 하지만 몇몇 중요한 순간에는 메시지 아래에 입력창이 열려서 최대 60자까지 내 말로 답할 수 있습니다. 이번 개발 일지는 왜 그렇게 만들었는지, 그리고 그 입력창 뒤에서 무슨 일이 일어나는지에 관한 이야기입니다.

일부러 고른 몇 개의 순간

첫 학기에 직접 입력하는 순간은 '전 남자친구가 돌아왔다' 스토리 라인에 있습니다. 이 라인은 판에 따라 뽑히기도 하고 안 뽑히기도 합니다. 첫 번째는 3주 차입니다. 밤 23:47, 휴대폰 화면이 켜지고 전 남자친구(원래 캐스트에서는 천위, 판마다 이름이 바뀝니다)에게서 짧은 한마디가 와 있습니다. 자? 두 번째는 6주 차, 밤 22:30 단짝과의 영상 통화에서 단짝이 대놓고 묻습니다. 아직도 그 사람 생각하냐고.

게임이 일생 모드로 커지면서 2학년 2학기 챕터에 두 순간이 더 생겼습니다. 연애 상태에 따라, 장거리 연애 중이라면 새벽 00:40의 메시지(7주 차), 막 누군가와 사귀기 시작했다면 밤 23:30의 대화(8주 차)입니다.

이 순간들을 고른 건, 버튼 네 개짜리 목록이 가장 어색하게 느껴지는 장면이기 때문입니다. 한밤중 전 남자친구의 메시지에 사람들은 정말 제각각으로 답합니다. 물음표 하나, 화난 한 줄, 조심스러운 "무슨 일이야", 아니면 읽고 씹기. 버튼은 그중 몇 개밖에 담지 못합니다. 직접 입력하면 내가 진짜 할 법한 말을 하고, 그 말이 어떻게 받아들여지는지 볼 수 있습니다.

입력하는 순간은 손에 꼽을 만큼만 두어 특별하게 남겼습니다. 메시지마다 입력하라고 하면 숙제가 되어 버리니까요.

내 말은 대본이 아니라 분위기가 된다

AI가 이야기를 쓰지는 않습니다. 각 순간에는 이야기가 이미 처리할 줄 아는 의도 목록이 짧게 있습니다. 예를 들어 다정함, 차가움, 화남, 그리움, 무응답 같은 것들입니다. 한 줄을 보내면 서버가 언어 모델에게 두 가지를 묻습니다. 내 말이 그중 어떤 의도에 맞는지, 그리고 상대 캐릭터가 한두 줄로 뭐라고 답할지.

다음에 무슨 일이 일어날지는 의도가 정합니다. 해당 버튼을 눌렀을 때와 똑같은 루트, 관계 변화, 스토리 플래그가 적용되고, 이것들은 AI가 아니라 미리 쓴 대본에서 나옵니다. 그래서 직접 입력한다고 숨은 분기가 열리거나 결과를 건너뛰는 일은 없습니다. 바뀌는 건 그 순간 대화의 느낌뿐이고, 어떤 루트로 가느냐는 내가 무슨 뜻으로 말했느냐에 달려 있습니다.

답장 버튼은 그대로 있습니다. 버튼을 눌러도 똑같은 루트로 갑니다.

미리 쓴 대본은 언제나 밑에 깔려 있다

이 순간들의 모든 루트에는 사람이 직접 쓴 답장이 있습니다. 그 답장이 대비책이고, 게임은 일부러 자주 그쪽으로 돌아갑니다.

서버에서는 다음 중 하나만 해당해도 대본으로 돌아갑니다. AI가 꺼져 있을 때, 일일 사용 한도에 닿았을 때, 응답이 느릴 때, 출력 형식이 잘못됐을 때, 목록에 없는 의도가 나왔을 때, 답장이 비어 있을 때, 답장이 안전 검사를 통과하지 못했을 때. 이런 경우 서버는 그냥 "대비책"이라고만 답하고, 게임은 계속 진행됩니다.

그러면 게임은 기기 안의 간단한 키워드 규칙으로 내 말을 읽어 가장 가까운 의도를 고르고, 그 루트에 쓰인 답장을 보여 줍니다. 어느 쪽이든 화면에는 상대가 잠깐 입력 중인 모습이 뜨기 때문에, 대비책으로 넘어가도 오류처럼 느껴지지 않습니다. 어느 쪽 답을 받았는지 끝내 모를 수도 있는데, 바로 그게 목적입니다. 이야기가 어떤 서비스의 가동 여부에 좌우돼서는 안 되니까요.

캐릭터 말투 지키기

직접 입력한 답장이 의미가 있으려면 전 남자친구가 여전히 그 사람답게 말해야 합니다. 그래서 몇 가지 규칙을 뒀습니다.

  • 프롬프트는 서버에만 있습니다. 게임이 보내는 건 순간의 이름, 입력한 한 줄, 내 캐릭터의 이름, 그리고 지금까지 이야기에 기록된 이번 학기의 사실 몇 가지뿐입니다. 모델에게는 그 캐릭터가 어떤 사람이고, 의도마다 그 사람이 어떻게 말해야 하는지 알려 줍니다.
  • 답장은 짧습니다. 정해진 길이로 자르고, 실제 채팅처럼 한두 줄만 남깁니다.
  • 괄호 속 지문뿐인 줄은 지워서, 캐릭터가 상황을 설명하지 않고 말을 하게 합니다.
  • 내 말을 그대로 되풀이하는 답장은 버리고, 실제 브랜드 이름이 들어간 답장도 버립니다.
  • 어떤 의도에는 나중에 이야기에 꼭 필요한 대사, 예를 들어 만나자는 제안이 따라붙습니다. AI가 이걸 빠뜨리면 미리 쓴 대사를 끝에 덧붙입니다.
  • 내 말은 쓰이기 전에 안전 모델의 검사를 받고, 답장도 쓰인 뒤에 다시 검사를 받습니다. 둘 중 하나라도 통과하지 못하면 대본이 넘겨받습니다.

게임 자체에도 검사가 하나 더 있습니다. 입력한 내용이 실제로 힘든 상황에 있다는 신호로 보이면, 게임은 그걸 스토리 선택으로 다루지 않습니다. 이야기 밖으로 나와 도움을 안내하는 메시지를 보여 줍니다.

내 말은 남기지 않는다

플레이어가 입력한 말을 모으지 않겠다는 건 일찍부터 정해 둔 원칙입니다. 입력한 한 줄은 서버로 가서 분위기와 답장을 고르는 데 쓰인 뒤 버려집니다. 데이터베이스에 기록되지 않습니다.

우리가 기록하는 건 아주 적습니다. 직접 입력한 답장이 있었다는 사실, 어느 순간이었는지, 어떤 의도로 읽혔는지, AI와 대본 중 어느 쪽이 답했는지. 이것만으로 기능이 잘 돌아가는지, 대비책이 얼마나 자주 필요한지 알 수 있고, 밤 23:47에 전 남자친구에게 뭐라고 했는지 누가 읽을 일은 없습니다. 사용 한도는 무작위 기기 ID로 하루 단위로 세고, IP 한도는 주소 자체가 아니라 해시한 키를 씁니다.

우리가 배운 것

대비책은 안 쓰이길 바라는 예비 계획이 아닙니다. 이 기능의 토대입니다. 모든 루트에 이미 미리 쓴 답장과 정해진 결과가 있기 때문에, AI는 순간을 더 개인적으로 만들 수만 있을 뿐 학기를 망가뜨릴 수는 없습니다. 그래서 안심하고 이 기능을 넣을 수 있었습니다.

Parallel Me를 플레이한다면, 한 번은 23:47에 직접 입력해 보고, 다음번엔 버튼을 눌러 보세요. 엔딩은 어떻게 말했느냐가 아니라 무슨 뜻으로 말했느냐에 달려 있습니다.

이제 AI가 등장하는 곳은 직접 입력한 답장만이 아닙니다. 등장인물의 메시지를 각자 말투로 다시 쓰고, 라운드마다 작은 이야기 장면을 새로 더하는 데도 AI를 씁니다. 규칙은 같습니다. AI는 무엇을 말하는지는 바꿀 수 있지만, 모든 결과는 미리 쓴 규칙에서 나오고, AI를 쓸 수 없으면 미리 쓴 이야기가 그대로 이어집니다.

_Parallel Me의 게임 속 텍스트는 중국어입니다._

자주 묻는 질문

꼭 직접 입력해야 하나요?

아니요. 직접 입력하는 순간마다 일반 답장 버튼도 있고, 버튼을 눌러도 같은 스토리 루트로 갑니다.

언제 답장을 직접 쓸 수 있나요?

첫 학기에는 전 남자친구 스토리 라인의 두 순간(그 라인이 뽑혔을 때)입니다. 2학년 2학기에는 연애 상태에 따라 한 순간이 있습니다.

입력한 내용이 저장되나요?

아니요. 입력한 말은 답장을 고르는 데 쓰인 뒤 버려집니다. 게임은 어떤 종류의 답장이었는지, AI와 대본 중 어느 쪽이 답했는지만 기록합니다.

AI를 쓸 수 없으면 어떻게 되나요?

게임이 간단한 로컬 규칙으로 내 말을 읽어 맞는 루트를 고르고, 그 루트에 쓰인 답장을 보여 줍니다. 어느 쪽이든 이야기는 계속됩니다.

devlogParallel MeAIdesign

Comments

개발 일지 더 보기