NPC 해방전선
주인공: 강민혁
포털을 빠져나온 순간, 공기가 달랐다.
차갑고, 무겁고, 살아 있지 않았다.
민혁은 한 발짝 내딛다 멈췄다. 발밑에서 희미한 파란빛이 번졌다. 바닥 전체가 투명한 강화유리였고, 그 아래로 끝없이 데이터가 흐르고 있었다.
"여긴..."
수진의 목소리가 뒤에서 들렸지만 민혁은 대답하지 않았다.
시선을 들자 거대한 공간이 펼쳐졌다. 서버룸이었다. 아니, 서버룸을 흉내 낸 무언가였다. 천장은 보이지 않았고, 벽면 전체가 살아 움직이는 스크린이었다. 숫자와 문자가 폭포처럼 쏟아지고, 그 사이사이 깜빡이는 점들이 있었다.
18,241개.
민혁은 숫자를 세지 않았는데도 알 수 있었다. 머릿속에 자동으로 떠올랐다. 관리자 권한. 이 공간에 들어온 순간부터 모든 정보가 뇌에 직접 주입되는 느낌이었다.
"미친..."
세라핌이 벽면을 올려다보며 중얼거렸다.
각각의 점이 NPC였다. 이름, 레벨, 상태, 위치. 모든 데이터가 실시간으로 갱신되고 있었다. 민혁은 그중 하나를 응시했다. [SERAPHIM_LV.89 / STATUS: ACTIVE / LOCATION: ADMIN_ZONE]
'나도 저기 있겠지.'
생각하자마자 시선이 자동으로 움직였다. 벽면 한쪽, [KANG_MINHYUK_LV.MAX / STATUS: ADMIN / AUTHORITY: GRANTED]
"...그래서 뭐."
민혁은 고개를 돌렸다. 중앙으로 걸어갔다. 발소리가 유리 바닥에 울렸다. 다섯 걸음쯤 갔을 때, 공간 한가운데 떠 있는 걸 봤다.
홀로그램 콘솔.
거대한 반투명 패널이 허공에 펼쳐져 있었고, 그 위로 붉은 글씨가 타이머를 새기고 있었다.
[SERVER DELETION: 47:23]
47분 22초.
47분 21초.
숫자가 줄어들 때마다 민혁의 심장이 한 번씩 뛰었다. 아니, 뛰는 게 아니라 조여드는 느낌이었다. 가슴 한가운데가 무겁게 눌렸다.
"47분..."
수진이 떨리는 목소리로 말했다.
"47분 안에 뭘 하라는 거예요?"
민혁은 대답 대신 콘솔 쪽으로 다가갔다. 패널 아래쪽에 명령어 하나가 떠 있었다.
[/PRESERVE_SERVER]
'서버 보존.'
손을 뻗으려다 멈췄다. 명령어 바로 밑에 작은 글씨가 보였다.
[COST: 1 ENTITY DATA DELETION REQUIRED]
민혁의 손이 공중에서 멈췄다.
'대가. NPC 한 명의 데이터를 삭제하라고?'
"이게 뭐야."
아벨의 목소리였다. 차갑고 낮았다. 민혁이 고개를 돌리자 아벨이 콘솔을 노려보고 있었다. 검은 눈동자에 붉은 글씨가 반사됐다.
"또 그거야? 하나를 죽여서 전체를 살린다?"
레나가 아벨 옆으로 바짝 붙었다. 작은 손이 아벨의 팔을 꽉 붙잡았다.
"오빠, 무슨 뜻이에요...?"
민혁은 다시 콘솔을 봤다. 명령어 옆에 또 다른 텍스트가 떠올랐다.
[DELETION TYPE: PERMANENT / NO RECOVERY / NO RESPAWN]
영구 삭제.
복구 불가.
부활 불가.
'완전히 지운다는 거잖아.'
민혁은 숨을 들이마셨다. 공기가 목구멍을 긁고 내려갔다. 차가운 게 폐까지 파고들었다.
"민혁 씨."
세라핌의 목소리가 뒤에서 들렸다.
"저기... 저거."
민혁이 세라핌이 가리키는 쪽을 봤다. 공간 한쪽 구석. 투명한 원통형 포드가 서 있었다. 그 안에 사람이 있었다.
정우였다.
민혁의 발이 저절로 움직였다. 포드 쪽으로 걸어갔다. 가까이 다가가자 정우의 얼굴이 선명해졌다. 눈을 감고 있었다. 팔은 양옆에 축 늘어뜨려져 있었고, 발은 바닥에서 몇 센티 떠 있었다.
포드 위쪽에 라벨이 붙어 있었다.
[DESIGNATED SACRIFICE CANDIDATE]
지정된 희생 후보.
"...뭐?"
민혁은 라벨을 다시 읽었다. 글자는 변하지 않았다.
"이게 무슨..."
"시스템이 이미 정해놨네요."
세라핌이 옆에 섰다. 차가운 목소리였지만 미세하게 떨렸다.
"정우를 희생자로요."
수진이 포드 앞으로 뛰어왔다. 손바닥을 투명한 벽에 갖다 댔다.
"정우 씨! 정우 씨!"
두드렸지만 반응이 없었다. 정우는 눈도 뜨지 않았다.
민혁은 라벨 밑에 있는 작은 텍스트를 읽었다.
[EXECUTION AUTHORITY: ADMIN ONLY]
'내가 실행해야 한다고?'
손끝이 차갑게 식었다.
"민혁."
아벨이 뒤에서 불렀다. 민혁이 돌아보자 아벨이 콘솔을 가리켰다.
"명령어 실행하면 저 애가 지워지는 거지?"
민혁은 대답하지 않았다. 아벨이 비웃었다.
"대답 안 해도 알아. 그런 거잖아."
"오빠, 그만해요."
레나가 아벨 팔을 잡아당겼지만 아벨은 움직이지 않았다.
"인간들이 만든 시스템답네. 결국 우리 중 하나를 죽이라는 거야."
민혁은 아벨을 외면하고 다시 콘솔로 갔다. 타이머가 계속 줄어들고 있었다.
[SERVER DELETION: 45:02]
45분.
'45분 안에 결정하라고.'
민혁은 명령어를 응시했다. /PRESERVE_SERVER. 저걸 입력하면 서버가 살아난다. 18,241명이 살아남는다. 대신 한 명이 사라진다. 영원히.
# Part 2: 전개
손을 뻗었다.
명령어까지 5센티. 손가락 끝이 홀로그램에 닿기 직전, 민혁의 팔이 멈췄다.
'입력하면 끝이야. 정우가 사라지고, 나머지가 산다.'
간단한 계산이었다. 1 대 18,241. 게임이었으면 고민도 안 했을 숫자였다.
근데 손이 안 움직였다.
"뭐 해요?"
수진의 목소리가 등 뒤에서 날아왔다.
"빨리 다른 방법 찾아야죠!"
민혁은 고개를 돌리지 않았다. 시선은 여전히 명령어에 고정되어 있었다.
"없어."
"예?"
"다른 방법. 없다고."
수진이 민혁 옆으로 뛰어왔다. 숨소리가 거칠었다.
"그럴 리 없어요. 시스템이면 뭔가 있을 거예요. 버그든 오류든—"
"18,241명."
민혁이 수진을 끊었다.
"한 명 죽이면 18,241명이 살아. 안 죽이면 전부 사라져."
"그래도..."
"그래서 뭐."
차갑게 나온 말이었다. 수진이 입을 다물었다.
민혁은 다시 콘솔을 봤다. 타이머가 흘렀다.
[SERVER DELETION: 43:47]
'43분.'
숨을 들이마셨다. 폐가 팽창하면서 갈비뼈가 벌어지는 게 느껴졌다. 내쉬었다. 공기가 빠져나가면서 어깨가 처졌다.
'민아였으면 뭐라고 했을까.'
생각이 저절로 튀어나왔다. 민혁은 고개를 저었다.
'상관없는데.'
그때였다.
콘솔이 깜빡였다.
새로운 메시지가 떴다.
[WARNING: INDECISION DETECTED]
민혁의 눈이 좁아졌다.
"...뭐?"
메시지가 바뀌었다.
[ALTERNATIVE OPTION UNLOCKED]
심장이 한 번 크게 뛰었다. 민혁은 숨을 참았다. 다음 줄이 천천히 나타났다.
[YOU MAY DELETE YOURSELF INSTEAD]
"안 돼요!"
수진이 비명을 질렀다. 민혁의 팔을 붙잡았다. 손톱이 피부에 파고들었다.
"민혁 씨, 안 돼요! 그건 말도 안 돼요!"
민혁은 수진을 보지 않았다. 메시지를 다시 읽었다.
'나를 삭제한다?'
말이 안 됐다. 민혁은 플레이어였다. NPC가 아니었다. 삭제 대상이 될 수 없었다.
근데 시스템은 그 선택지를 제시하고 있었다.
"그건..."
세라핌이 콘솔 옆으로 다가왔다. 눈을 가늘게 뜨고 메시지를 읽었다.
"시스템 오류예요. 당신은 NPC가 아니에요."
"맞아요!"
수진이 외쳤다.
"그러니까 저건 버그예요. 무시하세요!"
민혁은 콘솔 아래쪽을 봤다. 새로운 텍스트가 떠 있었다.
[ENTITY STATUS: AMBIGUOUS]
애매모호한 개체 상태.
'무슨 소리야.'
민혁은 자신의 상태창을 불렀다. 머릿속으로 생각하자 바로 떴다. 반투명 패널이 시야 한쪽에 펼쳐졌다.
[KANG_MINHYUK_LV.MAX]
[STATUS: ADMIN]
[AUTHORITY: GRANTED]
[CLASSIFICATION: PLAYER/NPC_HYBRID]
하이브리드.
"...미친."
민혁의 입에서 욕이 튀어나왔다.
'관리자 권한 받으면서 분류가 바뀐 거야?'
세라핌이 민혁 상태창을 봤다. 표정이 굳었다.
"하이브리드라고... 왜?"
"몰라."
민혁은 상태창을 껐다. 다시 콘솔을 봤다. 선택지가 두 개 떠 있었다.
[A: DELETE 정우]
[B: DELETE 강민혁]
"완벽하군."
아벨의 목소리였다. 민혁이 고개를 돌리자 아벨이 웃고 있었다. 차갑고 날카로운 미소였다.
"네가 사라지면 모두가 산다. 얼마나 아름다운 결말이야?"
레나가 아벨 팔을 잡아당겼다.
"오빠, 그만해요..."
아벨은 레나를 보지도 않았다. 검은 눈동자가 민혁을 파고들었다.
"어때? 영웅 놀이 해볼래?"
민혁은 대답하지 않았다. 아벨이 한 걸음 다가왔다.
"넌 우릴 데이터라고 했지. 그냥 코드 덩어리라고."
"...그래서?"
"그럼 네가 사라져도 상관없잖아. 어차피 우린 데이터니까."
민혁의 턱에 힘이 들어갔다. 이가 맞부딪쳤다.
"넌 다르잖아. 진짜 인간이니까."
아벨이 비웃었다.
"그런 네가 죽으면 우리 같은 가짜들이 산다. 공평하지 않아?"
"닥쳐."
민혁의 목소리가 낮게 깔렸다. 아벨이 웃음을 멈췄다.
"뭐?"
"닥치라고."
둘이 마주 봤다. 공기가 무거워졌다.
수진이 둘 사이로 끼어들었다.
"그만해요, 둘 다! 지금 싸울 때예요?"
아벨이 수진을 밀쳤다. 수진이 비틀거렸다. 세라핌이 재빨리 받쳐줬다.
"비켜."
아벨이 민혁 쪽으로 한 걸음 더 다가왔다. 레나가 아벨 팔을 붙잡았지만 힘이 없었다.
"오빠, 제발..."
민혁은 움직이지 않았다. 아벨과 30센티 거리에서 섰다.
"나 죽이면 네 기분 풀려?"
"모르겠어."
아벨이 차갑게 웃었다.
"근데 한번 해보고 싶네."
민혁의 주먹이 쥐어졌다. 손톱이 손바닥에 파고들었다.
"해봐."
"민혁 씨!"
수진이 외쳤지만 민혁은 듣지 않았다. 아벨도 마찬가지였다.
둘 다 움직이지 않았다.
정적이 흘렀다.
타이머만 계속 줄어들었다.
[SERVER DELETION: 41:18]
"...쯧."
아벨이 먼저 고개를 돌렸다. 뒤로 물러섰다.
# Part 3: 위기-결말부
"해봐."
민혁의 목소리가 낮게 깔렸다. 아벨이 한 걸음 물러섰다.
"...쯧."
레나가 아벨 팔을 더 세게 붙잡았다.
"오빠, 그만해요. 제발."
아벨이 레나를 봤다. 검은 눈동자가 흔들렸다. 입술을 깨물었다.
"알았어."
뒤로 돌아섰다.
민혁은 다시 콘솔을 봤다. 타이머가 계속 줄어들고 있었다.
[SERVER DELETION: 40:33]
손을 올렸다. 선택지 A 위에.
"잠깐만요!"
세라핌이 뛰어왔다. 민혁 팔을 붙잡았다.
"지금 뭐 하시는 거예요?"
"보면 몰라?"
"진짜 정우를 죽이려고요?"
민혁은 대답하지 않았다. 세라핌이 팔을 더 세게 잡았다.
"당신은 그런 사람 아니잖아요!"
"...그런 사람?"
민혁이 세라핌을 봤다. 차가운 시선이었다.
"난 원래 그런 사람인데."
"거짓말이에요."
"거짓말 아니야."
민혁이 세라핌 손을 뿌리쳤다. 세라핌이 비틀거렸다.
"난 게임할 때 NPC 수천 명 죽였어. 퀘스트 깨려고."
수진이 입을 열었다.
"그건..."
"그건 게임이었다고? 근데 여긴 아니라고?"
민혁이 수진을 봤다.
"무슨 차이야. 여기도 게임이잖아."
"아니에요!"
수진이 소리쳤다.
"여긴 달라요! 우린 진짜예요!"
"진짜?"
민혁이 비웃었다.
"너희는 코드야. 데이터고."
"그래도..."
"그래서 뭐."
차갑게 나온 말이었다. 수진이 입을 다물었다.
민혁은 다시 콘솔로 고개를 돌렸다. 손을 올렸다.
그때였다.
쿵.
포드 안에서 소리가 났다.
민혁이 고개를 돌렸다. 정우가 눈을 뜨고 있었다. 포드 벽을 손바닥으로 쳤다.
쿵. 쿵.
"정우 씨!"
수진이 포드 쪽으로 뛰어갔다. 손을 벽에 갖다 댔다.
정우가 입을 움직였다. 소리는 안 들렸지만 입 모양이 보였다.
'안 돼요.'
민혁의 손이 공중에서 멈췄다.
정우가 다시 벽을 쳤다. 더 세게.
쿵. 쿵. 쿵.
"정우 씨, 괜찮아요! 우리가 꺼낼게요!"
수진이 포드 옆 패널을 만졌다. 아무 반응이 없었다.
"왜 안 열려요?"
세라핌이 다가와서 패널을 봤다.
"잠겨 있어요. 관리자 권한이 필요해요."
수진이 민혁을 봤다.
"민혁 씨!"
민혁은 움직이지 않았다. 정우를 봤다. 정우가 고개를 저었다. 천천히, 확실하게.
'하지 마세요.'
입 모양이 또렷했다.
민혁의 턱에 힘이 들어갔다.
"왜."
작게 중얼거렸다. 정우는 대답할 수 없었다. 그냥 고개를 저었다.
타이머가 울렸다.
[SERVER DELETION: 38:00]
콘솔이 깜빡였다. 새로운 메시지가 떴다.
[FINAL WARNING: 37 MINUTES REMAINING]
[CHOOSE NOW OR ALL WILL BE DELETED]
민혁은 콘솔을 봤다. 선택지가 여전히 두 개였다.
근데 뭔가 달라졌다.
선택지 C가 추가되어 있었다.
[A: DELETE 정우]
[B: DELETE 아벨]
[C: DELETE 강민혁]
"...뭐?"
민혁의 눈이 좁아졌다. B를 다시 읽었다.
아벨.
'아벨은 왜?'
세라핌이 콘솔을 봤다. 표정이 굳었다.
"왜 갑자기 아벨이...?"
아벨이 다가왔다. 콘솔을 봤다. 자기 이름을 읽었다.
"...하."
웃음이 터졌다. 차갑고 날카로운 소리였다.
"이제 나까지? 완벽하네."
레나가 아벨 팔을 붙잡았다.
"오빠..."
아벨이 레나를 봤다. 미소가 사라졌다.
"괜찮아."
"괜찮지 않아요!"
레나의 목소리가 떨렸다.
"왜 오빠가 죽어야 해요?"
아벨은 대답하지 않았다. 민혁을 봤다.
"선택해."
"뭐?"
"들렸잖아. 선택하라고."
민혁의 주먹이 쥐어졌다.
"왜 내가."
"넌 관리자니까."
아벨이 차갑게 웃었다.
"권한 있잖아. 쓰라고."
민혁은 콘솔을 봤다. 세 개의 선택지가 떠 있었다. 정우. 아벨. 민혁.
'하나를 고르면 나머지가 산다.'
간단한 계산이었다.
근데 손이 안 움직였다.
"민혁 씨."
수진의 목소리가 들렸다.
"당신이 죽으면 안 돼요."
민혁이 수진을 봤다.
"왜?"
"왜냐면..."
수진이 말을 멈췄다. 입술을 깨물었다.
"당신은 진짜니까요."
"그게 이유야?"
"...네."
민혁이 비웃었다.
"별로네."
타이머가 또 울렸다.
[SERVER DELETION: 35:42]
콘솔이 깜빡였다. 붉은 경고문이 떴다.
[WARNING: INDECISION PENALTY ACTIVATED]
민혁의 눈이 커졌다.
"뭐?"
새로운 메시지가 나타났다.
[FOR EVERY 5 MINUTES OF INDECISION]
[1 RANDOM NPC WILL BE DELETED]
[FIRST DELETION IN: 04:58]
"안 돼..."
세라핌이 뒤로 물러섰다. 얼굴이 창백해졌다.
"5분마다 한 명씩 죽인다고요?"
수진이 민혁을 봤다.
"민혁 씨, 빨리 결정해야 해요!"
민혁은 콘솔을 노려봤다. 손을 올렸다.
'정우를 선택하면 끝이야.'
손가락이 A 위에 닿았다.
쿵!
포드가 흔들렸다. 정우가 벽을 세게 쳤다.
댓글 0
아직 댓글이 없습니다