나 누구랑 이야기하는거니

  • 장르: 일반, SF | 태그: #NPC #게임 #개발자 #AI #가상세계 #버그 #존재의미 #나는누구 #여긴어디
  • 평점×24명 | 분량: 80매
  • 소개: 게임 개발자 ‘자인’은 자신이 담당하고 있는 게임에 접속한 뒤 누군가의 귓속말을 듣게 된다. 귓속말을 건넨 사람의 정체는? 나는 누구와 이야기하고 있는 걸까? 더보기

나 누구랑 이야기하는거니

— 본 작품은 무료이지만, 로그인해야 읽을 수 있습니다. —
미리보기

written by 요정지기
 

 

 

 

난 무엇을 만들고 있는가.

 

프로그래머라는 직업이 극한 직업 중에 하나라고 생각하지만 그래도 내가 미쳤다고 생각할 만큼 몰렸던 적은 없었다. 하지만 지금 만들고 있는 소스코드는 아무리봐도 미친 프로그래머 코드이다.

 

 

3일전.

 

크리스마스 이벤트 업데이트 양이 많아서 오랜만에 야근을 하고 있었다. 야근할 때 머리가 멍해지는 기분이 들면 담배를 피러 잠깐 옥상을 다녀오거나 웹툰을 보곤 했는데 그 날따라 무슨 애사심이 생겼는지 우리 회사 게임에 접속을 했다.

 

 

별 다른 것을 할 시간적인 여유는 없어서 인벤토리 정리를 하며 복잡한 마음을 다스리고 있는 중에 귓말이 들어왔다.

 

 

(당신. 당신은 뭐죠)

 

 

응? 뭐지? 내가 개발자라는 걸 들켰나? 온 몸에 긴장을 다 풀고 인벤토리에만 집중하고 있는 중이라서 갑자기 들어온 귓말에 적잖게 당황했다.

 

 

회사에서 공적으로 사용하는 캐릭터와 사적으로 사용하는 캐릭터는 철저하게 구분하여 사용해야 한다.  그래서 내가 사적으로 사용하는 캐릭터는 내 돈 들여서 키워야 한다. 게다가 이 게임의 개발자라는 이유로 회사에서 하는 이벤트에는 참가할 수도 없어서 오히려 역차별을 받으며 캐릭터를 키워야 한다.

 

 

난 이벤트도 참가 못하게 하는 것은 너무하다고 생각하고 회사에 작게 반항할 겸 이 캐릭터는 아무에게도 알리지 않았다. 그래서 내가 혼자 있을 때에만 접속을 하는 녀석이다. 그만큼 철저하게 내가 개발자임을 숨겼던 캐릭터기 때문에 내가 개발자임을 알아차렸을 리가 없다.

 

 

그래도 찜찜한 마음에 귓말 들어온 것을 무시하고 접속을 종료하려고 하는데 다시 귓말이 들어왔다.

 

 

(당신이 신의 대리인인건가요?)

 

이건 왠 설정충스러운 귓말인가. 평소같았으면 짜증내면서 ‘미친놈일쎄’라고 무시했을 그 말에 반응을 해 버렸다.

 

 

아니오 그냥 유저인데요. 라고 보내려고 응답하기 버튼을 눌렀는데 에러메시지가 출력된다.

 

‘이 유저는 찾을 수 없습니다.’

 

 

뭐지? 버그인가?

 

 

귓말 들어온 상대를 확인하려고 했는데 유저의 아이디 위치가 비어있었다. 이건 또 뭔 버그인가. 닉네임을 노출하지 않고 귓말을 보내는 버그가 있었나? 괜히 머리 식히러 들어왔다가 보지 말아야 할 것을 봐 버렸다.

 

 

일단 귓말 들어온 것을 스샷으로 남기고 접속을 종료했다. 기분 전환하겠다고 하늘 보면서 걷다가 똥 밟은 기분이다. 몰랐으면 지나갔겠지만 봤으니 확인은 해 봐야했다. 로그 서버에 접속해서 실시간 로그를 확인했다.

 

 

로그를 한시간쯤 들여다봤다.

 

한시간. 무려 한시간이나 수많은 로그를 비교하며 체크를 해 봤는데 내 머리로는 도저히 이해안되는 데이터가 남아있었다. 저 귓말을 보낸 대상을 잡아낼 수 없었다. 아니지 귓말을 보낸 대상은 분명히 있었다. 그 대상이 아무리 봐도 NPC였다. 휑한 마을에 빈자리를 메꾸려고 만들어놓은 NPC.

 

 

게다가 유저가 귓말을 보낼때 분명 서버에서는 ‘수신’한 기록과 나한테 ‘발송’한 기록이 모두 남아있어야 하는데 보낸 기록이 없었다. 해킹인가? 귓말을 보낼 때 NPC가 보내는 것 처럼 보이게 만드는 해킹? 버그? 하지만 저런 버그라면 벌써 보고가 되었을 것이다. 해킹이라고 할 수도 없고 버그라고 하기도 어려웠다.

 

 

로그만으로는 분명 NPC가 나한테 말을 건 것이었다. 스샷으로도 내게 말을 건 것은 저 NPC말고는 말을 걸 수 있는 캐릭터가 없었다. 친구등록되어 있지 않은 유저가 귓말을 보내려면 내 캐릭터 주변 300m이내에 들어와야한다. 그런데 300m 이내에 있었던 것은 저 NPC뿐이었다.

 

 

그냥 무시할만도 했는데 이 말도 안 되는 상황을 확인해보기 위해서 소스코드를 수정하고 있는 중이다.

 

 

기존에는 NPC에게 직접 귓말을 보내거나 NPC에게 말을 거는 소스코드가 없어서  NPC한테 말을 거는 코드를 슬쩍 추가하고 있다.  회사 사람이 혹시 이 소스코드를 보고 이게 뭐하는 거냐고 물어볼까 걱정이 되서 티가 나지 않도록 크리스마스 이벤트 소스코드와 잘 섞어서 밀어넣었다.

 

 

“자인아. 너 그러다가 쓰러지겠는데. 야근은 나쁜 거라고.”

 

순간적으로 비명 지를 뻔 한 것을 겨우 삼켰다. 집중해서 나쁜짓을 하고 있는 중이라 등 뒤로 다가오는 팀장의 기척을 느끼지 못했다.

 

“아… 아뇨. 빨리 끝내야 크리스마스때 제대로 놀죠.”

 

“크리스마스는 너도 불타오르게 하는구나. 너무 무리하지 마.”

 

“네.”

 

쓰압. 심장 토하는 줄 알았네. 너무 피가 빨리 돌아서인지 얼굴이 화끈하게 달아오르는 느낌이 들었다.

 

 

이걸 만들었다고 해도 이걸 이용해서 그 NPC에게 말을 걸 수 있는 기능을 만들어도 이게 진짜 게임에 반영되는 것은 한참 기다려야 한다. 크리스마스 이벤트와 함께 업데이트가 될  테니까 앞으로 보름도 더 남아있다. 침착하자. 자인아. 그다지 나쁜짓도 아니고 문제가 생길만한 것도 아니잖아.

 

 

 

난 무슨 짓을 하고 있는가

 

크리스마스 전날. 흔히 사람들이 크리스마스 이브라고 부르는 그 날. 남자친구가 없어서 이러고 있는 것은 아니다. 그냥 궁금할 뿐이다.

 

 

NPC에게 말을 거는 기능이 문제를 일으킬 만한 부분이 있을까 싶어 세번, 네번 테스트를 했다. 개발서버에서는 NPC들에게 말을 걸어도 아무런 답이 오지 않았다. 그게 당연하지. 쟤네들은 시리처럼 대화에 대답하라고 만들어진 녀석들이 아니다.

 

 

이게 뭐라고 두근두근 거린담.

 

그날 이후로 이 캐릭터로 접속을 단 한번도 하지 않았다. 내 캐릭터는 마지막으로 그 NPC가 내게 말을 걸었던 근처로 다시 소환될 것이다. 그 NPC에게 무슨 말을 해야 할까 고민하고 있었는데!

 

 

없다.

 

텅 비었다.

 

없다.

 

 

왜 없지? 왜 없는거지? 428번 NPC야. 어디에 있는거니. 너는 싸돌아다니라고 만들어진 애가 아니란다. 너무 두근거리며 들어와서 실망한 마음에 완전 마음이 차갑게 식어버렸지만 그만큼 더 냉정해졌다.

 

 

집에 있는 PC를 켜고 우리 게임을 관리하고 모니터링 하는 관리자 운영툴(흔히 GM툴이라고 부른다. 이하 GM툴.)에 접속했다. NPC한테 말을 거는 기능을 추가하면서 덤으로 NPC의 현재 위치를 확인하는 기능을 추가한게 정말 다행이었다.

 

 

명령어창에 ‘find npc 428’을 입력하니 3,11304,252 이 출력됐다.

 

3번지역에 11304, 252포인트에 있는 것이렸다.

 

 

이녀석. 점점 더 놀라게 한다. 대륙을 넘어갔다.

 

대륙을 넘어가려면 포털을 6개나 지나가야 할 만큼 먼 거리인데 대륙까지 넘어가있다. 진짜 흥미진진해지고 있다.

 

저기까지 그냥 뛰어서 가려면 15분은 뛰어야 겠지만 그 정도의 시간을 투자할 만 하다.

 

 

혹시라도 다른 곳으로 갈까 걱정이 되서 2분에 한번씩 위치를 확인해보았는데 아주 많이 이동하지는 않고 있었다.

 

 

이동하는 동안 별별 생각이 다 들었다.

 

 

저 NPC가 돌아다니는 건 NPC가 이동을 많이 하지 못하도록 만들어놓은 이동제한 기능에 버그가 있어서 였을까? NPC가 나한테 귓말을 보낸 것으로 생각했던 것은 내가 착각을 했을 뿐인데 괜한 시간을 보내고 있는 것은 아닐까? 내가 지금 크리스마스 이브에 이런 짓을 하고 있는 것은 내가 만날 사람이 없어서 이러고 있는 것이 아니라 할일이 있어서 라는 핑계를 대기 위해서는 아닐까? 세달전에 내가 살 쪘다고 화내며 더 이상 두근거리지 않아 라는 개소리를 했던 전 남자친구는 오늘 방구석에 쳐 박혀 있을까?

 

 

별별 생각을 다 하며 15분을 뛰었다.

 

 

그녀석이 있는 마을 입구가 보이자 또 가슴이 두근거린다. NPC도 남자라는 건가. 이런 것에 두근거리고 지랄인건지.

 

 

막상 그 NPC근처에 도착하니 뭘 어떻게 해야 할지 막막했다. 마치 길에서 남자한테 전화번호 달라고 해야 하는 상황같다.

 

 

(음…)

 

 

10분을 고민해서 만들어낸 말이 ‘음’이다. 에휴, NPC한테도 이 모양이니 크리스마스 이브에 이러고 있지. 못 마시는 술이지만 호로요이 한 잔이 간절했다. 10초도 채 안되는 시간이 지났지만 10분동안 뛸만큼의 심장이 뛰었다.

 

 

(당신 역시 특별한 캐릭이었군요. 당신이 신의 대리인인거죠?)

 

 

왔다. 진짜 내게 말을 걸었다. 저 NPC는 내게 진짜 말을 했다. 혹시 유저가 만든 캐릭터인데 NPC로 오인하는 건 아닐까. GM툴에서 내 주위에 있는 유저 캐릭터를 검색해보았는데 내 주위에는 유저의 캐릭터는 없었다. 혹시 해킹을 당한 것일까? 유저가 사기를 치려고 자신의 캐릭터를 NPC로 보이게 한 것이 아닐까?

 

 

(해킹인가요? NPC 사칭하면 계정 영구정지 당하실거예요. 신고하겠습니다. )

 

(해킹? NPC? 무슨 이야기인지 이해할 수 없습니다.  신들이 쓰는 용어라고 알고 있지만 전 그것의 의미를 알 수 없습니다. 전 소배미마을에서 온 사미난입니다.)

 

(그렇죠. 소배미마을에 배치해 놨었죠. 근데 어떻게 텃골까지 온거죠?)

 

(배치라는 말이 내가 항상 시작되는 곳을 뜻하는 말인가요? 전 걸어서 왔어요. 여기까지 걸어오는 건 어렵지 않으니까요.)

 

(당신은 여기까지 못 걸어오게 되어 있어요. 어떻게 걸어왔다는 거죠?)

 

(아뇨. 난 걸어올 수 있어요. 내 다리가 있는데 왜 못 걸어온다고 생각하는 건가요?)

 

 

유저가 해킹을 해서 장난질을 하고 있다는 생각을 버릴 수 없었다. 난 서버에 접속해서 이 NPC에 대한 데이터들을 확인했다. 여기까지 걸어올 수 있을 리가…

 

 

있을 리가…

 

 

있었다. 크아… 이런 실수를…

 

 

이 NPC는 여기까지 걸어올 수 있었다.

 

이런 바보같은 실수를 하다니.

 

 

이 NPC의 이동범위 제한 값이 0이 들어가있었다.  이건 분명 실수였을 것이다. NPC를 이동시키지 않으려면 1을 넣어줘야 이동하지 않는다고 말을 했지만 그 이야기를 귓등으로도 안 들은게지. 제한범위에 0이 들어가면 이동범위가 무제한이 된다고 그렇게 말을 했는데 마을에 배치하는 NPC를 0을 넣다 니!

 

 

(걸어왔군요. 그러면 지금은 뭘 하는 중인가요?)

 

(나에게는 아무 목표가 없어요. 이 세상에 있는 모든 것들에게는 목표가 있는데 나는 목표도 역할도 없어요. 전 세계를 다 돌아다녀봤지만 나와 같은 사람은 없었어요.)

 

 

그래 넌 서 있는게 목표라니까. 그냥 서 있는거 말야.

 

 

(그래서 왜 나에게만 목표가 없는 것인지 신에게 물어보고 싶었죠. 신에게 물어보기 위해서 신의 대리인이 필요하다는 것을 알았고 그래서 신의 대리인을 찾고 있었어요.)

 

 

빠져든다. 해킹이라면 참 멋진 연기력을 가진 유저이다.

 

 

내일 저녁까지 잠을 쳐 자도 아쉬울 것이 없는 솔로인데 장단이나 맞춰주며 크리스마스 라는 최악의 빨간날을 넘기는 것도 나쁘지 않다.

 

 

(그래서 당신은 신의 대리인이신가요?)

 

 

딱 10초 고민했다.

 

 

(네. 신의 대리인입니다.)

 

 

(그러면 신에게 물어봐주세요. 왜 저만 이 세계에서 목표도 역할도 없냐구요.)

 

 

그거야 버그니까 그렇지. 하지만 그렇게 이야기하고 싶진 않았다.

 

 

(사미난. 신은 그렇게 쉽게 대화를 할 수 있는 것이 아닙니다. 신과 대화를 하는 것은 아무리 저라고 해도 신이 원할 때만 대화가 가능해요. 그리고 신에게 무작정 그런 것을 물어보면 대답을 해 주지 않아요. 당신과 나의 친밀도를 높여야 질문을  할 수 있습니다.)

 

 

아! 멋진 대답이다. 즉흥적으로 만들어낸 이야기치고는 굉장히 그럴 듯 했다.

 

 

(그러면 당신과 친밀도를 높이기 위해서는 뭘 해야 하는 건가요?)

 

 

아! 뭘 해야 하지? 말 만들어내는 것만 생각했지 그 다음 이야기를 생각 못했다. 제기랄. 야구에서도 득점을 한 직후에 실점을 할 위기가 제일 높다고 하더니만 그게 실생활에서도 적용되는 이야기 일 줄이야.

 

 

(…음…. 저와 파티를 해서 함께 퀘스트를 하면 됩니다.)

 

 

파티라니! NPC는 공격, 방어데이터를 모두 1이 들어가게 하드코딩 되어 있단 말이다.. 저 필드에 있는 토끼한테 공격당해도 죽는 이 녀석을 데리고 무슨 퀘스트를 하려고!

 

 

(좋습니다.)

 

 

일났다. 이제 이걸 어떻게 수습한다.

 

 

(그런데 미리 준비해야 하는 것이 있습니다. 신에게 축복을 빌고 올께요. 잠시 자리를 비울테니까 여기에서 기다려주세요.)

 

(네. 기다리겠습니다.)

 

 

그리고 접속을 종료했다.

 

 

조금만 나쁜 짓을 해보자

 

저 NPC에 대해서 데이터 검토를 할 시간을 버는 건 해킹인지 확인할 수 있는 좋은 기회이기도 하다.  해킹을 해서 NPC인 척 하는 것이라면 능력치가 1로 세팅이 되어 있지 않을 것이다. 필드를 걸어다니기만 해도 죽을 능력치를 가지고 다닐 리가 없다.

 

 

아직 접속되어 있는 회사PC를 이용해서 메모리에 올라가있는 저 NPC의 능력치를 조회해보고선 머릿속이 더 복잡해져버렸다.

 

 

모든 능력치가 1로 세팅되어 있었다.

 

 

저게 정말 해킹이 아니라 NPC란 말인가? 저 데이터를 가지고 있는 채로 해킹을 한다는게 말이 안된다. 그냥 장난을 치고 싶은 것이라고 해도 저렇게 약하게 하고 돌아다닐 리가 없다.

 

 

이거야 원.

 

점점 일이 커지네.

 

 

오히려 나에게 문제가 생겨버렸다. 저 NPC를 어떻게 싸움을 할 수 있는 수준으로 만들 지?

 

 

NPC필드는 능력치를 넣을 수 있게 되어있지도 않다. 머리를 더 화끈하게 돌려라. 좋은 방법이 분명 있을 것이다.

 

 

방법이 있나? 방법이? 응! 그래 방법이 있다. 우리가 테스트를 할 때 던전 테스트를 위해 만들어놓은 무기와 방어구가 있다.

 

 

그 무기와 방어구를 장비하면 그 파티장의 능력치와 동일한 능력치로 만들어 버리는 장비들이 있었다. 그걸 저 NPC에게 주면 저녀석도 싸움을 할 만한 능력이 될 것이다. 다행스럽게도 NPC와 파티를 하는 것이나 NPC에게 장비를 주는 것은 이미 만들어져 있었다. 우리가 40명 레이드 테스트를 할 때 40명의 회사 사람들을 모으는게 힘들어서 NPC를 이용해서 할 수 있도록 만들어놓은 것이 있었다.

 

 

문제는 NPC에게 파티 신청을 하려면 내가 캐릭터가 테스트용 캐릭터라는 등록을 해 줘야 하는데 이러면 내가 한 짓들이 모두 로그에 기록될 것이다. 나중에 이 모든 것이 끝난 뒤에 로그를 찾아 지워야 한다.

 

 

머릿속에서 뭘 할지 정리를 하고 내가 해야 할 일을 착착 진행했다.

 

 

운영툴에 접속하고

 

내 개인 캐릭터에게 임시 개발자 권한을 할당하고

 

NPC에게 파티장의 능력치가 동기화되는 아이템을 지급하고

 

내 캐릭터로 접속해서 NPC와 파티로 묶었다.

 

 

내가 다시 게임으로 돌아오자 NPC가 기다렸다는 듯이 말을 걸어온다.

 

 

(당신 신의 대리인이 맞군요. 당신의 기도를 들어줬어요.)

 

 

그래 알아 알아. 내가 한 짓이거든.

 

 

(그리고 당신에 대한 모든 것들이 나에게 보여지는 것도 당신이 기도를 했기에 일어나는 기적이겠죠? 정말 대단해요.)

 

 

(네. 그렇습니다. 이제 당신은 저와 파티가 되었습니다. 이제 저를 도와주세요.)

 

 

(제 능력이 되는 한 최대한 도와드리겠습니다. 해답을 찾을 수만 있으면요.)

 

 

자 이제 놀아보자.

 

널 위해서 내가 뒷수습을 해야 하는 나쁜짓을 너무 많이 해버렸다. 내 즐거운 크리스마스를 위해서 너무 많은 투자를 했으니 네가 그걸 갚아줘야 한다.

 

 

 

갑자기 왜 그런 질문을 하는거니

 

크리스마스 이브와 크리스마스까지 한 40시간 정도의 시간.

 

그 시간은 생각보다 꽤 즐거웠다.

 

 

처음에는 몹을 공격하는 방법을 제대로 알지 못해서 꽤 이것저것 알려주는 것이 귀찮았지만 학습 능력이 정말 빨라서 공격의 기본만을 알려주었는데 무기 스킬을 사용하는 법. 물약 먹는 타이밍을 조절하여 효율적으로 살아남는 법들을 스스로 터득하여 효율적인 연계기를 만들어냈다.

 

 

엄청나게 광랩을 하고 꽤 좋은 무기도 주웠고 막혀있던 퀘스트도 모두 해결해버린 즐거운 시간을 마무리하려는데 사미난은 갑자기 내게 ‘질문’이라는 것을 했다.

 

 

(내가 당신과 함께 하고 있는 이 시간들이 당신과의 친밀도를 얼마나 높였는지 제가 확인을 해 볼 수 있는 방법을 알려주세요.)

 

 

내 캐릭터는 아무런 티를 내지 않고 몹을 잡고 있었지만 현실의 나는 잠깐 움찔 했다. 둘이서 간당간당하게 죽을 위기를 넘기며 몹을 잡을 때도 내가 졸다가 자리비움으로 강제 로그아웃 당했을 때도 묵묵히 날 도와주던 이 녀석이 왜 갑자기 이걸 궁금해하는거냐.

 

 

(친밀도는 신 만이 알 수 있습니다. 그 생각을 제가 들여다볼 수 없어요.)

 

 

신 만 알 수 있다. 그건 절대 거짓이 아니다. 내가 신 이라는 것이 조금 사소한 문제이긴 하지만 거짓말은 아니다.

 

 

(하지만 제가 느끼기에 당신의 질문을 물어볼 수 있을 만큼의 친밀도에 거의 가까워졌을 것이라고 생각해요.)

 

 

사미난은 사냥을 갑자기 멈췄다.

 

 

(그러면 지금 한 번 물어봐줄 수 있을까요? 이제 저에게는 시간이 많지 않아요.)

 

 

이게 뭔 소리야. 이 게임이 계속되는 한 넌 여기 계속 남아있을텐데 무슨 시간이 있다는 거지? 죽기라도 하는거냐? 넌 죽어도 다시 원래 리젠되어야 하는 위치에서 살아난단 말이다.

 

 

(시간이 많지 않다는게 어떤 의미죠? 당신은 계속 이 곳에 살아갈 수 있어요.)

 

 

(제가 어딘가를 돌아다니거나 실수로 죽었을 때 딱 정해진 시간에 항상 소배미마을로 돌아가 있더라구요. 그렇게 소배미 마을로 돌아가게 되면 제가 가진 기억들을 모두 잃어버릴 때가 있어요. 기억을 … (계속 읽으시려면 로그인해야합니다.)