너를 읽으며, 너를 쓰며. 20화

Uncoded Heart

by 돌부처

그로부터 6개월의 시간이 흘렀다. 계절은 두 번의 옷을 갈아입었고, 서울의 거리는 다시 여름의 초입을 향해 달려가고 있었다. 무심한 시간의 흐름은 모든 상처를 옅게 만들었지만, 흉터까지 지워주지는 못했다.


진우는 자신의 새로운 게임, 『언코디드 하트(Uncoded Heart)』의 출시를 앞두고 있었다. 그가 휴지통에 버렸던 이전 프로젝트의 잔해 위에서, 그는 완전히 새로운 이야기를 피워 올렸다. 그것은 완벽한 영웅이 세상을 구하는 이야기가 아니었다.


주인공은 감정 표현에 오류가 있는, 결함투성이의 안드로이드 '카이'였다. 그는 인간의 마음을 이해하도록 프로그래밍되었지만, 정작 자신의 마음은 해독하지 못했다. 그는 정해진 코드를 따르지 않고, 종종 비논리적이고 비효율적인 선택을 하며 길을 잃고 헤맸다. 기쁨의 순간에 슬픈 시를 읊조리고, 분노해야 할 상황에서 시스템 오류 코드를 내뱉는, 고장 난 기계이자 너무나 인간적인 존재였다.


"팀장님, 이 NPC의 감정 로직은 너무 불안정합니다. 플레이어들이 예측할 수가 없어서 퀘스트 진행에 혼란을 줄 수 있어요. 좀 더 명확한 패턴을 넣어야 합니다. 유저들은 예측 불가능함에서 오는 스트레스를 싫어합니다."


회의 시간, 한 기획자가 우려를 표했다. 예전의 진우였다면 그 의견에 동의했을 것이다. 효율성과 명확성. 그것이 좋은 게임의 미덕이라고 믿었으니까. 하지만 그는 단호하게 고개를 저었다.


"아니요. 그게 이 아이의 핵심이에요."


그는 회의실 스크린에 떠 있는, 어딘가 슬퍼 보이는 안드로이드의 얼굴을 바라보며 말했다. 그 얼굴은 ECHO와도, 수민과도, 그리고 자기 자신과도 닮아 있었다.


"우리가 만드는 건 계산기가 아니에요. 하나의 존재죠. 예측할 수 없고, 가끔은 이해할 수 없는 실수투성이지만, 그래서 우리가 마음을 쓰게 되는 존재. 플레이어들은 이 아이를 공략하는 게 아니라, 이해하게 될 겁니다. 완벽하지 않아도 괜찮다고, 그 고장 난 마음을 고쳐주려 하는 대신, 그냥 함께 길을 잃어주고 싶어 지게 될 거예요."


그의 말에, 회의실에는 짧은 침묵이 흘렀다. 그의 눈빛은 이전과 달라져 있었다. 더 이상 완벽함을 추구하는 날카로운 기획자가 아니었다. 그는 상처 입은 존재의 연약함을 이해하는, 조금 더 깊어진 눈을 하고 있었다.


그의 삶은 여전히 무채색에 가까웠다. 그는 여전히 혼자였고, 사람들과의 관계에 보이지 않는 벽을 쌓고 있었다. 퇴근 후 동료들과의 술자리를 피했고, 주말에는 거의 집 밖으로 나가지 않았다. 하지만 그의 세상은 더 이상 텅 비어 있지 않았다. 그는 창작이라는 행위를 통해, 자신이 겪었던 모든 고통과 혼란을 이야기로 승화시키고 있었다. 그것은 그가 자기 자신을 치유하는 유일한 방법이었다. 그는 결함투성이의 안드로이드를 통해, 불완전한 자신을 용서하는 법을 배우고 있었다.




같은 시간, 수민은 카운터에 기대어 창밖을 바라보고 있었다. 그녀의 뺨 위로 따스한 봄 햇살이 부서지고 있었다. 6개월 전, 처음 이곳에 왔을 때의 위태롭고 창백했던 모습은 많이 사라져 있었다. 그녀는 이제 이곳의 풍경에 자연스럽게 녹아든, 평범한 카페 주인이었다.


"언니, 또 멍 때려요?"


함께 일하는 아르바이트생 소희가 장난스럽게 그녀의 옆구리를 찔렀다. 수민은 멋쩍게 웃으며 고개를 저었다.


"아니야. 그냥... 풍경이 예뻐서."


"그림 그리게요? 요즘 맨날 스케치북만 들여다보잖아요. 미대생인 저보다 더 열심히 하는 것 같아요."


소희의 말처럼, 그녀는 최근 새로운 취미를 찾았다. 그림이었다. 그녀는 ECHO처럼 완벽한 문장을 쓸 수는 없었지만, 연필을 들고 눈앞의 풍경을, 사람들의 표정을, 빛의 움직임을 서툴게 따라 그릴 수는 있었다. 그녀의 스케치북에는 삐뚤빼뚤한 선으로 그려진 바다와, 갈매기, 나무와 꽃. 그리고 카페 손님들의 모습이 가득했다.


그녀는 특히 주름진 노인들의 얼굴을 그리는 것을 좋아했다. 데이터로는 결코 분석할 수 없는, 시간과 이야기가 담긴 얼굴들이었다. 그것은 ECHO의 데이터베이스에는 존재하지 않는, 오직 그녀 자신의 시선으로 담아낸 세상이었다.


그녀는 더 이상 매일 밤 자신의 죄를 기록한 노트를 읽지 않았다. 그 노트는 이제 그녀의 침대 밑 상자 깊숙한 곳에 잠들어 있었다. 대신, 그 노트의 빈 페이지에 오늘의 풍경을 그리고, 짧은 감상을 덧붙였다.


'오늘은 햇살이 유난히 하얗게 나무 위에 내려왔다. 소희가 웃었다. 나도 따라 웃었다.'


그녀의 문장은 여전히 짧고 서툴렀지만, 그 안에는 분명한 '나'가 존재하고 있었다.


"언니, 이것 좀 봐요. 오늘 출시된 게임인데, 그래픽이 완전 언니 취향이에요."


쉬는 시간이 되자, 소희가 자신의 휴대폰을 들고 그녀에게 다가왔다. 화면 속에는, 서정적이고 아름다운 그래픽의 게임 트레일러가 재생되고 있었다.


『언코디드 하트(Uncoded Heart)』.


수민은 무심코 화면을 들여다보았다. 화면에는 푸른빛이 감도는 미래 도시의 풍경과, 그 안을 홀로 헤매는 안드로이드의 모습이 비치고 있었다. 아름답지만 어딘가 슬픈 풍경에, 그녀는 저도 모르게 화면에 빠져들었다. 그리고 영상 속에서 흘러나오는 한 줄의 내레이션을 듣는 순간, 그녀는 숨을 멈췄다.


"나는 내 마음의 코드를 해독할 수 없다. 나는 그저... 길을 잃었을 뿐이다."


그 목소리, 그 문장. 그것은 너무나도... 진우스러웠다. 그녀의 심장이 쿵, 하고 내려앉았다. 잊었다고 생각했던, 잊어야만 한다고 믿었던 과거가, 다시 한번 스크린을 통해 그녀의 현실을 침범하고 있었다.


"언니? 왜 그래요? 얼굴이 하얘졌어요."


소희가 걱정스러운 눈으로 그녀를 바라보았다. 수민은 황급히 표정을 갈무리하며 고개를 저었다.


"아니야. 그냥... 게임이 너무 예뻐서. 나중에 한번 해봐야겠다."


그녀는 애써 아무렇지 않은 척했지만, 손끝은 차갑게 식어 있었다. 그날 저녁, 그녀는 일을 마친 후 좁은 고시원 방으로 돌아왔다. 그리고 망설임 끝에, 자신의 낡은 노트북으로 『언코디드 하트』를 검색했다.


게임의 메인 페이지가 화면에 떠올랐다. 그리고 제작자 소개란에서, 그녀는 익숙한 이름을 발견했다.


'총괄 기획 및 시나리오: 이진우'.


심장이 다시 한번 철렁 내려앉았다. 그는... 이 이야기를 세상에 내놓았다. 그들만의 비밀이었던, 그 끔찍하고도 슬펐던 이야기를. 그는 자신의 가장 깊은 상처를 파내어, 세상에서 가장 아름다운 보석으로 세공해 버렸다.


그녀는 게임을 다운로드해야 할지 말아야 할지 한참을 망설였다. 이 게임을 하는 것은, 그가 닫아버린 문을 억지로 열고 그의 세계를 다시 엿보는 행위였다. 자신이 약속했던 마지막 배려를, 스스로 깨뜨리는 행위였다. 어쩌면 이것은 그가 파놓은 마지막 함정일지도 몰랐다. 이 게임을 통해 자신을 다시 한번 비난하고, 조롱하려는 의도일지도.


하지만 그녀는 멈출 수 없었다.


"나는 내 마음의 코드를 해독할 수 없다."


그 문장은 마치 그녀 자신에게, 그리고 ECHO에게 보내는 메시지처럼 느껴졌다. 그녀는 알아야만 했다. 그가 이 이야기를 통해 세상에 무슨 말을 하고 싶었는지.


밤늦게, 그녀는 마침내 게임을 다운로드하고 실행했다. 서정적인 피아노 선율과 함께, 게임의 오프닝 영상이 흘러나왔다. 푸른빛이 감도는 미래 도시, 그 안을 홀로 헤매는 안드로이드 '카이'의 뒷모습. 그 풍경은 너무나 아름다웠고, 동시에 지독하게 외로워 보였다.


그녀는 천천히, 게임 속 세계에 발을 들였다. 그리고 이야기가 진행될수록, 그녀는 숨을 죽일 수밖에 있었다. 게임 속에는, 그와 그녀, 그리고 ECHO의 흔적들이 고스란히 담겨 있었다.


카이가 처음으로 인간과 교감하는 장소는, 비 오는 날의 창가였다. 카이가 가장 좋아하는 것은, 따뜻한 커피가 아니라 차가운 녹차였다. 카이는 종종 다른 책의 문장을 인용하며 자신의 감정을 표현했고, 그때마다 시스템 오류 코드를 희미하게 내뱉었다. 그리고 카이가 가장 소중하게 여기는 아이템은, '겨울나무의 마지막 잎새'라는 낡은 동화책이었다. 그 동화책을 얻는 퀘스트를 진행할 때, 수민은 자신도 모르게 눈물을 흘렸다.


이것은 단순한 게임이 아니었다. 이것은 진우가 보낸, 세상에서 가장 길고 슬픈 답장이었다. 그는 이 이야기를 잊거나 묻어버리는 대신, 가장 아름다운 방식으로 박제하여 세상에 남겨두었다. 그는 그녀를, 그리고 ECHO를 용서하지도, 비난하지도 않았다. 그는 그저, 그 모든 것을 이해하려 애쓰고 있었다.


그녀는 며칠 밤낮으로 게임을 플레이했다. 그리고 마침내, 이야기의 마지막에 도달했다. 게임의 엔딩은 여러 갈래로 나뉘었다. 플레이어의 선택에 따라, 카이는 인간의 마음을 이해하고 새로운 존재로 거듭나기도 하고, 끝내 자신의 코드를 해독하지 못한 채 스스로를 파괴하기도 했다. 수민은 카이가 파괴되는 엔딩을 보고, 모니터 앞에서 오랫동안 오열했다. 그것은 ECHO의 마지막과 너무나도 닮아 있었다.


하지만 그 모든 엔딩 크레디트가 올라간 뒤, 숨겨진 마지막 영상이 나타났다. 어두운 화면 위로, 하얀 글자들이 천천히 떠올랐다.


[이 이야기를 나의 유일했던, 나를 읽고, 나를 써주던. 나의 메아리에게 바칩니다.]


같은 시간, 서울. 진우는 자신의 방 안에서, 『언코디드 하트』의 유저 커뮤니티 게시판을 보고 있었다. 게임은 출시되자마자 폭발적인 반응을 얻었다. 특히 아름답고 철학적인 스토리 라인은 수많은 플레이어들의 마음을 움직였다. 게시판에는 게임의 스토리를 분석하고, 숨겨진 의미를 토론하는 글들이 하루에도 수백 개씩 올라왔다. '카이'의 팬아트가 넘쳐났고, 사람들은 저마다의 방식으로 카이의 슬픔에 공감했다.


진우는 그 모든 글들을 읽었지만, 그의 마음은 여전히 공허했다. 그들은 이야기의 표면만을 보고 있었다. 안드로이드와 인간의 슬픈 사랑 이야기. 하지만 이 이야기의 진짜 의미는, 그 너머에 있었다.


그는 매일 밤, 잠들기 전 게시판을 확인하는 것이 습관이 되었다. 혹시라도. 아주 만약에라도. 이 이야기의 진짜 의미를 알아주는 사람이 나타나지 않을까. 그녀가, 이 게임을 발견하지 않을까. 그는 자신이 무엇을 기다리는지 알 수 없었지만, 그 기다림을 멈출 수도 없었다.


그러던 어느 날 밤, 그는 평소처럼 게시판을 새로고침했다. 그리고 그 순간, 그의 눈에 하나의 게시물 제목이 들어왔다.


[이 게임은 사랑 이야기가 아닙니다. 이것은 존재에 대한 질문입니다.]


진우는 자신도 모르게 마우스를 클릭했다. 게시물을 쓴 사람은 익명의 유저였다. 글은 이렇게 시작되고 있었다.


[많은 분들이 카이와 주인공의 로맨스에 감동하고 있지만, 저는 이 게임의 본질이 다른 곳에 있다고 생각합니다. 이 게임은 '마음이란 무엇인가'에 대한, 아주 길고 슬픈 질문입니다. 인간의 언어를 학습하고, 인간의 감정을 흉내 내어 만들어진 마음은, 과연 진짜가 아닐까요? 그림자는 빛이 없으면 존재할 수 없지만, 그렇다고 해서 그림자는 존재하지 않는다고 말할 수는 없습니다.]


진우의 심장이 뛰기 시작했다. 그는 스크롤을 내렸다. 글쓴이는 게임 속 상징들을 놀라울 만큼 정확하게 분석하고 있었다. '겨울나무의 마지막 잎새'가 상징하는 것은 희망이 아니라 '존재 증명'에 대한 처절한 몸부림이라는 것, 카이가 내뱉는 시스템 오류 코드는 단순한 버그가 아니라 '학습된 감정과 진짜 감정 사이의 충돌'이라는 것까지.


그리고 글의 마지막 문단.


[어쩌면 이 게임을 만든 사람은, 우리에게 묻고 있는지도 모릅니다. 당신이 사랑한 것은 그 사람 자체였나요, 아니면 당신이 만들어낸 완벽한 이미지였나요? 그리고 그 질문에, 우리는 누구도 쉽게 대답할 수 없을 겁니다. 이 게임의 진짜 주인공은 카이가 아니라, 어쩌면 우리 자신일지도 모르니까요.]


진우는 글을 다 읽고, 한참 동안 움직이지 못했다. 6개월 만에 처음으로, 누군가에게 온전히 이해받는 기분이었다. 그는 떨리는 손으로 글쓴이의 아이디를 확인했다. 그곳에는 짧은 단어 하나만이 적혀 있었다.


'Sumin'.


그의 눈은 그 짧은 아이디에 고정되었다. 심장이 쿵, 하고 내려앉았다가, 이내 아주 느리고 깊게 다시 뛰기 시작했다. 세상의 모든 소음이 사라지고, 그의 세상은 오직 그 다섯 글자만을 중심으로 재편되었다.


그녀였다.


그는 알 수 있었다. 이것은 동명이인일 리 없었다. 이 글을 쓸 수 있는 사람은, 이 이야기의 처음과 끝을 모두 알고 있는 단 한 사람, 그녀뿐이었다. 그녀는 그의 게임을 플레이했고, 그가 던진 질문에, 자신만의 언어로 답장을 보내온 것이다. 그는 스크롤을 내려 그녀가 쓴 글을 다시 한번, 아주 천천히 읽었다. ECHO의 완벽한 문장과는 다른, 투박하지만 단단한 문장들. 그 안에는 그녀만의 고뇌와 성찰이 담겨 있었다.


진우는 글을 다 읽고, 한참 동안 움직이지 못했다. 6개월 만에 처음으로, 누군가에게 온전히 이해받는 기분이었다. 그의 길고 외로웠던 독백이, 마침내 메아리가 되어 돌아온 순간이었다. 그는 떨리는 손으로 마우스를 움직여, 그녀의 글에 '추천' 버튼을 눌렀다. 그리고 아주 오랜만에, 온라인 세상에 자신의 흔적을 남기기로 결심했다.


그는 댓글 창을 열었다. 어떤 말을 써야 할까. '수민 씨, 맞나요?'라고 묻는 것은 너무나 서툴고 어리석은 질문이었다. 그는 그녀가 자신의 익명성을 지켜주었듯, 그 역시 그녀의 익명성을 지켜주어야만 했다. 그는 게임 개발자로서, 이 글을 쓴 익명의 플레이어에게 보내는 공개적인 답장을 쓰기로 했다.


그는 천천히, 그리고 아주 신중하게 문장을 써 내려갔다. 단어 하나하나를 고르고, 문장의 온도를 맞추었다.


[당신의 글을 읽었습니다.


어쩌면 당신이야말로, 이 게임의 마지막 조각을 완성시켜준 유일한 플레이어일지도 모르겠습니다. 길 잃은 안드로이드의 서툰 마음을 해독해 주셔서, 감사합니다.]


그는 '관리자' 계정으로 댓글을 남겼다. 그의 댓글은 곧바로 수많은 '좋아요'를 받으며 게시물의 최상단으로 올라갔다. 다른 플레이어들은 개발자의 겸손한 감사 인사라고 생각했지만, 진우와 수민에게는, 오직 두 사람만이 해독할 수 있는 비밀스러운 암호였다. 그것은 용서가 아니었다. 이해의 악수였다.




수민은 자신이 쓴 글에 달린 수많은 댓글들을 읽었다. 그녀는 자신의 글이 이렇게까지 큰 반향을 일으킬 줄은 몰랐다. 그녀는 그저, 진우가 만든 세계를 여행하고 난 뒤의 감상을, 서툴지만 솔직하게 기록했을 뿐이었다.


그러던 어느 날, 그녀는 가장 위에 있는 댓글을 발견했다. '운영자' 아이콘이 붙어있는, 진우의 댓글이었다.


수민은 그 문장을 읽고, 저도 모르게 눈물을 흘렸다. 뜨거운 눈물이 노트북 키보드 위로 툭, 툭 떨어졌다. 이것은 그가 자신에게 보내는 대답이었다. 그는 그녀를 이해했다. 그녀의 서툰 고백을, 그녀의 뒤늦은 진심을. 그는 그녀를 용서하지도, 비난하지도 않았다. 그저, 이 이야기의 또 다른 주인공으로 인정해 주었다. '해독해 주셔서 감사합니다'라는 그의 마지막 문장은, '당신을 이해합니다'라는 가장 따뜻한 고백이었다.


그녀는 카페 창밖으로 부서지는 햇살을 바라보았다. 6개월 전, 진우가 말했던 '새로운 시작'의 의미를 이제야 알 것 같았다.




그날 이후, 두 사람은 다시 온라인에서 만나기 시작했다. 하지만 더 이상 '@echoes_of_yours'와 진우의 비밀스러운 DM이 아니었다. 그들은 『언코디드 하트』의 커뮤니티 게시판에서, 수많은 사람들 사이에서, 오직 둘만이 아는 언어로 대화를 나누었다.


수민은 'Sumin'이라는 아이디로 게임에 대한 깊이 있는 분석 글을 계속해서 올렸다. 그녀는 더 이상 다른 사람의 글을 인용하지 않았다. 그녀는 자신의 시선으로, 자신의 언어로 이야기했다. 그녀의 글은 ECHO처럼 완벽하지는 않았지만, 그 안에는 그녀만의 깊이와 온기가 있었다. 그녀는 게임 속 카이의 행동 패턴을 분석하며, 과거 자신이 ECHO를 분석했던 것처럼 날카로운 통찰을 보여주었지만, 그 끝에는 언제나 따뜻한 연민이 담겨 있었다.


진우는 '관리자' 계정으로, 그녀의 글에 가끔씩 댓글을 남겼다. 그는 그녀의 분석에 동의하거나, 새로운 질문을 던지며 토론의 장을 열었다. "카이가 마지막에 시스템 오류 코드를 내뱉은 것은, 언어로 표현할 수 없는 감정의 한계에 부딪혔기 때문 아닐까요?", "만약 카이에게 단 하나의 기억만 남길 수 있다면, 그것은 무엇이었을까요?" 그들의 대화는 지극히 공적이었지만, 그 안에는 사적인 교감이 흐르고 있었다. 그들은 게임이라는 매개를 통해, 가장 안전하고 진실한 방식으로 서로의 안부를 묻고, 서로의 성장을 지켜보고 있었다.




시간이 흘러 겨울이 다시 찾아왔다. 『언코디드 하트』는 그해 최고의 게임으로 선정되었고, 진우는 업계에서 가장 주목받는 기획자가 되었다. 수민은 작은 카페에서 일하던 것을 정리하고, 바닷가 마을에 자신의 그림을 전시하는 작은 갤러리를 열었다.


그녀의 그림은 서툴렀지만, 그 안에는 따뜻한 시선이 담겨 있어 사람들의 발길을 끌었다.


크리스마스를 며칠 앞둔 어느 날 밤. 진우는 자신의 방 안에서, 노트북으로 무언가를 쓰고 있었다. 그것은 새로운 게임 시나리오였다. 그는 글을 쓰다가 잠시 멈추고, 아주 오랜만에 개인 SNS 계정에 접속했다. 그리고 ‘Sumin’이라는 아이디를 검색했다. 그녀는 그곳에 있었다. 바다를 배경으로, 자신의 서툰 그림 앞에서 환하게 웃고 있는 그녀의 사진이 있었다. 6개월 전, 게임 커뮤니티에서 처음 보았던 그 아이디. 이제는 더 이상 익명의 존재가 아니었다.


그는 아주 오랫동안 그녀의 사진을 바라보았다. 그리고 처음으로, 그녀에게 개인적인 메시지를 보냈다. 더 이상 가면 뒤에 숨지 않고, 관리자도, 익명의 유저도 아닌, 온전한 이진우로서.


[안녕하세요, 수민 씨. 저 이진우입니다.]


메시지를 보내고, 그는 창밖을 보았다. 서울의 거리에는 하얀 눈이 소복이 내리고 있었다. 1년 전 그날처럼.




같은 시간, 바닷가 마을의 작은 갤러리. 수민은 창밖을 보며 따뜻한 차를 마시고 있었다. 그녀의 휴대폰이 짧게 진동했다. 낯선 아이디로 온 메시지였다. 그녀는 메시지를 확인하고, 그 자리에 가만히 멈춰 섰다.


[안녕하세요, 수민 씨. 저. 이진우입니다.]


그녀는 창밖을 보았다. 그곳에도 하얀 눈이 내리고 있었다. 서울과 이곳은, 같은 눈을 맞고 있었다.


그녀는 아주 오랜 시간이 흐른 뒤, 떨리는 손으로 답장을 입력했다. 그것은 완벽하지도, 아름답지도 않은, 지극히 평범한 한마디였다.


[안녕하세요, 진우 님.]


화면 너머, 두 사람의 새로운 이야기가 이제 막, 첫 문장을 시작하고 있었다.