초단편소설
세상이 잠든 시간, 사무실의 공기는 서버의 미지근한 열기와 먼지, 그리고 식어빠진 커피 향으로 가득했다.
프로그래머 A는 홀로 깨어 자신의 창조물을 내려다보고 있었다.
모니터 속, 현실증강 시뮬레이션 도시의 시간은 현실의 50배 속도로 흐르고 있었다.
“어때요? 잘 돌아가요?”
등 뒤에서 들려온 목소리에 A는 순간 팀장인 줄 알고 자세를 고쳐 앉았다. 디자인과의 B 대리였다.
그녀는 호기심 가득한 눈으로 모니터를 들여다보고 있었다.
“예, 뭐. 문제없어요.”
“문제없다는 사람치고는 표정이 영 별로인데요?”
모니터 속 NPC ‘존’은 방금 승진했고, 연봉 인상분은 한 치의 오차도 없이 그의 자산 포트폴리오에 분배되었다. 그는 아내에게 이 소식을 알렸고, 그녀는 프로그래밍된 대로 ‘+5’의 기쁨 수치를 보인 뒤 저녁 메뉴를 결정했다. NPC들은 정해진 시간에 출근해 돈을 벌고, 결혼해 아이를 낳았다. 동료의 죽음에는 ‘-3’의 슬픔을 느꼈고, 주말에는 공원에서 산책을 즐겼다. 모든 것이 완벽했고, 모든 것이 지독하게 지루했다.
“잘 작동하는데요?” 옆에서 구경하던 B가 말했다. “버그도 없는 것 같고.”
그러자 A가 깊은 한숨과 함께 마른세수를 했다. “그게 문제죠.”
A가 모니터 속 NPC들을 손가락으로 가리키며 말을 이었다.
“하나같이 너무 안정적으로만 움직여요. 슬픔과 즐거움은 있지만, 그 어떤 변수도 만들지 않죠. 이건 신세계가 아니라, 잘 짜인 개미굴이에요. 재미가 없다고요.”
“음, 그럼 단순하게 가죠.” B가 턱을 괴며 말했다. “지금 NPC들은 슬픔과 즐거움, 아주 기본적인 감정만 있잖아요? 거기에 ‘분노’를 추가하는 거예요.” 그녀의 눈이 장난스럽게 빛났다. “예를 들면, 길에서 어깨를 부딪히거나 차 사고가 났을 때, 그냥 지나가는 게 아니라 화내고, 소리치고, 치고받고 싸우게 하는 거죠. 그런 돌발 상황이 재밌잖아요.”
A는 고개를 저었다. “그렇게 간단하지 않아요. 분노가 발현되려면 ‘사고’ 같은 트리거가 필요한데, 그러려면 NPC들이 의도적으로 서로에게 피해를 주는 코드를 새로 짜야 해요. 하지만 이 녀석들의 최상위 프로그래밍은 ‘자신에게 손해가 되는 행동을 절대 하지 않는다’-라서, 시스템 근간을 흔드는 일이라고요.”
“역시 디자인과는 별로 도움이 안 되네요.”
“아니에요. 이렇게 같이 고민해주는 것만으로도 감사하죠.”
“손해가 되는 행동을 하지 않는다라...” B는 그 말을 잠시 곱씹더니, 갑자기 무릎을 쳤다. “그 손해 보지 않으려는 핵심 코드를 스스로 무시하게 만드는 변수를 넣으면 되겠네요!”
B는 A의 메모장에 놓인 볼펜을 집어 들어 단어 하나를 휘갈겼다. “희생, 질투, 집착. 손해인 줄 알면서도 기꺼이 뛰어들게 만드는 비논리적인 모든 행동의 근원이잖아요? 어찌 보면 최고의 버그죠.”
A는 B가 적은 단어를 한동안 물끄러미 바라봤다. 그 네 글자 알파벳이 품고 있는 무한한 가능성을 가늠하는 듯했다. A는 수긍한 듯 고개를 끄덕인 뒤, 키보드에 손을 올렸다. 캐릭터 감정 매트릭스의 가장 깊숙한 곳, 모든 행동 알고리즘에 영향을 미치는 루트 디렉터리에 새로운 변수 [LOVE]를 추가했다.