# 퇴근 후, 나는 다시 출근했다
### 선을 밟지 않는 게임을 만들며 내가 넘어온 것들

나는 미친 사람이 아니다.

다만 회사에서 퇴근한 뒤 집으로 돌아와 집PC로 다시 출근하고, 새벽 세 시에 캐릭터의 왼발 위치를 들여다봤을 뿐이다.

이것을 미쳤다고 부른다면 딱히 반박할 말은 없다.

예전에는 저녁 일곱 시나 여덟 시쯤 퇴근하면 OTT를 봤다. 게임도 했다. 술도 마셨다.

힘들게 일했으니 이 정도 보상은 받아야 한다고 생각했다.

지금도 보상을 받는다.

다만 보상이 대부분 게임버그다.

집에 돌아오면 유니티를 켠다.

회사에서 한 번 퇴근하고, 내 게임으로 다시 출근한다. 그렇게 새벽 세 시나 네 시까지 일한다. 다음 날 아침에는 다시는 이렇게 살지 않겠다고 결심한다.

결심은 대체로 저녁까지 간다.

밤이 되면 유니티를 켠다.

인간은 같은 실수를 반복한다.

개발자는 수정과 저장을 반복한다.

---

## 만들고 싶었던 게임과, 사람들이 하고 싶은 게임

‘선 밟지 마’를 만들기 전에도 여러 게임에 도전했다.

카페베이스볼을 만들었고, 츄르서바이벌을 건드렸다. 이세계전초기지에 병력을 세웠고, 박격포게임에서 포탄을 날렸다. 플래닛G에서는 낯선 행성에 터전을 만들었다.

게임의 장르는 제각각이었지만 공통점이 하나 있었다.

기획서가 장엄했다.

성장 시스템이 있고, 전투가 있고, 건설이 있었다. 캐릭터도 있었고, 세계관도 있었다. 아직 플레이어는 한 명도 없는데 확장 콘텐츠까지 고민했다.

왕국은 건국되지 않았지만 세금 제도부터 걱정하는 꼴이었다.

나는 기능을 만들면서 자주 감탄했다.

‘이 기능까지 들어가면 사람들이 놀라겠지.’

실제로 놀란 사람은 나였다.

‘이걸 언제 다 만들지?’

그래도 어려운 것을 구현하면 뿌듯했다. 기능이 많아지면 게임이 풍성해지는 것 같았다. 복잡한 시스템을 완성하면 게임의 가치도 함께 올라가는 기분이 들었다.

그런데 어느 순간 이상한 질문이 생겼다.

‘그래서 이걸 누가 재미있어하지?’

내가 구현하고 싶다는 것과 누군가 플레이하고 싶다는 것은 전혀 다른 문제였다.

개발자는 개발자의 고생에 감동한다.

플레이어는 모른다.

알 필요도 없다.

플레이어가 실행 버튼을 누른 뒤 “이 시스템을 구현하느라 고생했겠군”이라고 경건하게 묵념해주는 일은 없다.

재미없으면 끈다.

매우 냉정하다.

그러나 옳다.

플레이어는 개발자의 고생을 플레이하지 않는다.

플레이어는 재미를 플레이한다.

뻔히 알고 있던 사실이다.

그런데 1인 개발을 하다 보면 이 함정에 잘 빠진다. 구현하는 재미가 플레이하는 재미를 가려버린다. 만들기 어려운 기능이니 당연히 가치도 높을 것이라고 착각한다.

나도 여러 번 빠졌다.

입구에 ‘함정’이라고 쓰여 있어도 들어갔다.

개발자는 호기심이 많은 생물이다.

그 끝에서 ‘선 밟지 마’를 시작했다.

이번에는 복잡한 것을 만들기보다 한 가지를 지키기로 했다.

캐릭터가 앞으로 튀어나가는 느낌.

버튼을 눌렀을 때 즉시 돌아오는 반응.

액션감과 손맛.

기능을 열 개 넣어도 이것이 죽으면 실패였다. 기능이 하나뿐이어도 이것이 살아 있으면 계속해볼 수 있었다.

이번에는 내가 만들고 싶은 게임만 만들지 않기로 했다.

누군가 실제로 한 판 더 하고 싶은 게임을 만들어보기로 했다.

---

## 왼발과 오른발이 서로 남이었던 시절

처음 규칙은 단순했다.

한 칸을 가는 버튼과 두 칸을 가는 버튼.

왼발과 오른발을 번갈아 움직인다.

선을 밟으면 끝.

말로 하면 몇 줄 되지 않았다.

그래서 쉽게 만들 수 있을 줄 알았다.

개발을 해본 사람은 안다.

“간단한 게임이네요.” 이 말은 저주다.

정말 간단하다면 이미 누군가 만들었을 가능성이 높다. 아직 없다면 간단하지 않거나, 재미가 없거나, 둘 다일 가능성이 있다.

나는 그 사실을 모른 척하고 시작했다.

처음에는 왼발과 오른발의 전진 위치를 각각 따로 계산했다.

왼발로 두 칸을 가면 왼발만 두 칸 앞으로 갔다. 다음에 오른발로 한 칸을 가면 오른발은 자기 위치에서 한 칸을 갔다.

이론상으로는 완벽했다.

두 발이 각각 움직인다.

인체의 신비다.

그런데 프로토타입으로 실행해보니 인체가 아니라 괴생명체가 나타났다.

왼발은 저 앞에 있는데 오른발은 뒤에서 엉성하게 움직였다. 달리는 것이 아니라 양쪽 발이 서로 다른 목적지로 출장을 가는 것 같았다.

왼발과 오른발 사이에 내부 분쟁이 있었다.

서로 소통이 없었다.

상당히 현대적인 조직이었다.

플레이어도 계속 발의 위치를 계산해야 했다.

왼발이 지금 어디 있지?

오른발은 몇 칸 뒤지?

이번에 한 칸을 누르면 두 발의 간격은 어떻게 되지?

시원하게 달리는 게임을 만들려고 했는데, 머릿속을 더 복잡하게 만드는 게임이 되었다.

‘차변, 왼발 두 칸.’

‘대변, 오른발 한 칸.’

액션감은 없었다.

손맛도 없었다.

인지부조화만 풍성했다.

게임을 끝내고 나면 손가락이 아니라 뇌가 피곤했다.

나는 이 구조를 붙잡고 일주일을 고민했다.

두 발을 보폭이 다른 것이 더 현실적인 것 아닌가.

이 구조를 버리면 게임이 너무 단순해지는 것 아닌가.

처음 정한 규칙을 이렇게 바꿔도 되는가.

혼자 질문하고 혼자 대답했다.

대답이 마음에 들지 않으면 반대편에 앉아 다시 반박했다.

회의 참석자는 한 명인데 회의가 길었다.

그러다 테스트해보자는 심정으로 마음을 뒤집었다.

왼발이 앞으로 뛰고 나면 오른발은 이미 그 옆까지 따라와 있다고 해보자.

오른발이 두 칸을 뛰었다면 왼발도 자연스럽게 그 옆에 도착한 것이다. 두 발의 위치를 따로 기억하지 않는다.

플레이어는 오직 다음 보폭만 고른다.

한 칸이냐.

두 칸이냐.

그렇게 규칙을 바꾸고 다시 실행했다.

너무 단순하지 않을까 걱정되었다.

한 칸을 눌렀다.

캐릭터가 앞으로 나갔다.

두 칸을 눌렀다.

캐릭터가 힘차게 뛰었다.

두 발이 비로소 화해했다.

머리로 계산하던 게임이 손으로 반응하는 게임이 되었다. 착지하자마자 다음 발판이 눈에 들어왔다. 속도가 붙었고, 리듬이 생겼다.

나는 화면을 보면서 처음으로 생각했다.

‘이거 됐다.’

게임이 완성됐다는 뜻은 아니었다.

처음으로 심장이 조금 뛰었다.

그전까지 나는 기능을 만들고 있었다.

그 순간부터 게임을 만들기 시작했다.

---

## 사람들은 쫓기지 않아도 달렸다

핵심 규칙을 정한 뒤에는 노말모드를 계속 다듬었다.

한 칸은 얼마나 빠르게 나가야 하는지, 두 칸은 얼마나 힘차게 보여야 하는지 조정했다. 착지와 카메라, 효과음과 판정도 계속 손봤다.

플레이어는 좌표값을 모른다.

하지만 캐릭터가 0.1칸 어색하게 착지하는 것은 귀신같이 알아본다.

이상하다는 말은 한다.

어디가 이상한지는 모른다.

그것을 찾는 것은 개발자의 몫이다.

참으로 공평하다.

게임을 어느 정도 깎은 뒤에는 주변 사람들에게 보여주기 시작했다.

당시는 휴대폰 빌드도 제대로 되지 않던 시절이었다. 나는 노트북을 들고 다니며 사람들에게 게임을 시켰다.

“이거 한번 해봐.”

시연이라는 이름의 인간 실험이었다.

초기 버전에는 플레이어를 따라오는 빨간 벽이 있었다.

너무 느리게 가면 벽에 잡힌다.

하지만 벽은 꽤 멀리 있었다. 급하게 달릴 이유는 없었다.

그런데 사람들은 서둘렀다.

빨간 벽이 저 뒤에 있는데도 버튼을 빠르게 눌렀다. 조금만 침착하면 되는데 굳이 속도를 냈다. 그러다 잘못된 칸을 밟고 죽었다.

나는 옆에서 말했다.

“천천히 해도 돼. 벽 멀리 있잖아.”

그러면 대답이 돌아왔다.

“빨리 가는 게 멋있잖아.”

누군가는 캐릭터가 질주하는 모습이 시원하다고 했다. 누군가는 그냥 빠른 것이 좋다고 했다.

나는 안전하게 하라고 만들었다.

사람들은 멋있게 죽었다.

개발자의 의도와 플레이어의 욕망이 충돌했다.

대체로 플레이어가 이긴다.

그제야 알았다.

사람들은 빨간 벽에 쫓겨서 달리는 것이 아니었다.

달리는 것이 좋아서 달리고 있었다.

빨간 벽은 아무 잘못이 없었다.

내가 플레이어를 오해했다.

그렇다면 정식으로 빨리 달리게 해주면 된다.

같은 코스를 누가 더 빠르게 완주하는지 재보자. 망설이는 시간도 기록에 들어가게 만들자. 정확함뿐 아니라 과감함도 실력이 되게 하자.

스피드모드가 태어났다.

내가 만든 것은 빨간 벽이었다.

모드를 만든 것은 사람들의 조급함이었다.

가끔 플레이어는 개발자보다 좋은 기획자다.

월급을 주지 않아도 아이디어를 준다.

고마운 일이다.

---

## 테스트를 수천 번 하면 깨닫는 것

게임을 만들면서 같은 플레이를 수천 번 반복했다.

한 칸.

두 칸.

한 칸.

실패.

다시 시작.

카메라를 수정하면 다시 뛰었다.

애니메이션을 고치면 다시 뛰었다.

효과음을 바꾸면 또 뛰었다.

걷는 게임이 아니어서 다행이었다.

내가 대신 걸었다면 지구를 한 바퀴 돌았을 것이다.

어느 순간부터 테스트가 지겨워졌다.

1인 개발자라면 대부분 겪는 시기일 것이다.

내 게임이 싫어진 것은 아니었다.

다만 너무 많이 했다.

좋아하는 음식도 하루 세 끼씩 먹으면 잠시 헤어져야 한다.

게임과 나는 거리를 둘 수 없었다.

버그가 우리 사이를 계속 이어주었다.

노말모드는 쉽지만 은근히 헷갈렸다.

스피드모드는 기록을 줄이는 재미가 있었다.

그런데 이것만으로 계속 돌아올 이유가 충분할까?

내 최고기록을 한 번 깼다.

그다음에는?

또 깼다.

그다음에는?

그다음에도 나 자신과 싸우라고 하면 지칠 수 있었다.

나도 나와 싸우는 것이 지겨운데, 플레이어에게 평생 자기 자신과 싸우라고 시킬 수는 없었다.

새로운 콘텐츠를 끝없이 추가할 수도 없었다. 혼자 만드는 사람이 매주 새로운 게임을 하나씩 낳을 수는 없다.

낳더라도 양육이 어렵다.

그렇다면 같은 게임 안에서 새로운 이유를 만들어야 했다.

내 기록 옆에 다른 사람의 기록을 놓자.

누군가 한 칸 더 갔다면 다시 달릴 이유가 생긴다. 누군가 0.1초 빠르다면 플레이 버튼을 한 번 더 누르게 된다.

콘텐츠를 계속 만들어 공급하는 대신, 플레이어들이 서로 목표가 되게 하자.

그렇게 랭킹 메뉴를 넣었다.

혼자 달리던 게임에 다른 사람의 그림자가 생겼다.

경쟁은 훌륭한 재활용 시스템이다.

같은 스테이지를 다시 뛰게 해준다.

---

## 게임이 너무 쉽다는 인간이 나타났다

어느 날 지인에게 게임을 시켰다.

대부분은 처음 몇 판 동안 헷갈려 했다. 한 칸과 두 칸을 잘못 누르거나, 속도를 내다가 죽었다.

나는 그 반응에 익숙해져 있었다.

속으로 생각했다.

‘그렇지. 쉽지만은 않지.’

그런데 이 사람은 달랐다.

몇 번 하더니 말했다.

“이거 너무 쉬운데?”

처음 듣는 말이었다.

약간 기분이 상했다.

정확히는 많이 상했지만, 개발자는 피드백을 겸허하게 받아들여야 하므로 약간이라고 하겠다.

그러나 기분이 상한 것과 상대가 틀린 것은 별개의 문제다.

게임을 많이 하던 사람에게 두 버튼은 단순했다. 규칙을 파악하고 나면 긴장감이 빠르게 사라질 수 있었다.

그렇다고 버튼을 늘리고 싶지는 않았다.

두 버튼은 이 게임의 근본이었다.

세 번째 버튼을 넣는 순간 게임 이름도 바꿔야 할 것 같았다.

‘선도 밟지 말고 버튼도 세 개 누르지 마.’

제목이 길어졌다.

조작을 복잡하게 하지 않으면서 상황만 복잡하게 만들 방법이 필요했다.

그 생각을 하며 운전하던 날이었다.

건널목 신호를 하마터면 놓칠 뻔했다.

다행히 아무 일도 일어나지 않았다. 큰 민폐를 끼칠 뻔했다는 생각에 정신이 번쩍 들었다.

‘게임에 민폐 캐릭터를 넣으면 되겠는데?’

반성은 했다.

기획도 했다.

순서는 반성이 먼저였다고 주장하고 싶다.

운전 중에는 게임 생각을 하지 말자는 교훈이 먼저였다. 하지만 길을 갑자기 막는 차량이나 장애물이 등장하면 두 버튼을 그대로 유지하면서 판단할 정보가 늘어날 수 있었다.

한 칸이냐, 두 칸이냐는 그대로다.

대신 언제 뛰고, 무엇을 피하고, 어느 공간에 착지할 것인지까지 봐야 한다.

조작은 단순하게.

상황은 복잡하게.

하드모드가 태어났다.

현실에서는 민폐를 끼치지 않아 다행이었고, 게임에서는 민폐를 끼치는 것들이 정식으로 취직했다.

복지 없이 즉시 투입했다.

---

## 다섯 개 마을이 스무 개가 되기까지

노말, 스피드, 하드모드가 생겼다.

기록을 세우고, 랭킹에서 경쟁할 수도 있었다.

하지만 세 모드 모두 결국 기록 경쟁이었다.

더 멀리.

더 빠르게.

더 어렵게.

그것을 좋아하는 사람도 있겠지만, 모든 사람이 매일 자신의 한계와 싸우고 싶어 하지는 않는다.

어떤 날은 편하게 한 스테이지만 깨고 싶을 수 있다.

신기록 대신 진행도를 쌓고 싶을 수도 있다.

나는 더 많은 사람이 다시 찾아오는 게임을 만들고 싶었다.

그렇다면 매번 처음부터 시작하는 모드만으로는 부족했다.

조금씩 차곡차곡 앞으로 나아가는 콘텐츠가 필요했다.

동네여행을 만들기 시작했다.

처음에는 다섯 개 마을이면 충분할 줄 알았다.

1인 개발 게임이다.

다섯 개나 만들면 성의가 넘치는 것 아닌가.

내 기준으로는 대륙 하나였다.

테스터들이 플레이하는 것을 보기 전까지는 그렇게 생각했다.

사람들은 생각보다 빨랐다.

잘하는 사람은 스테이지를 순식간에 밀었다.

나는 며칠 동안 만든 마을을 누군가는 점심시간에 지나갔다.

도시계획자의 마음이 무너졌다.

‘이러다 한 시간 만에 전부 끝나는 것 아닌가?’

불안해졌다.

다섯 개를 열 개로 늘렸다.

열 개를 만들고 보니 조금 부족해 보였다.

열다섯 개로 늘렸다.

여기까지 왔으면 스무 개가 숫자도 예뻐 보였다.

개발에서 가장 위험한 생각이다.

‘이왕 하는 김에.’

그렇게 출시할 때는 스무 개 마을이 되었다.

마을은 숫자만 늘린다고 생기지 않았다.

각 동네의 분위기를 정하고, 건물과 구조물을 배치하고, 발판이 배경에 묻히지 않는지 확인해야 했다.

학교 앞과 간식 골목은 달라야 했다.

비 내리는 동네와 눈 덮인 마을도 달라야 했다.

황야와 폐허, 네온 거리와 사이버도시에도 각자의 얼굴이 필요했다.

보도블록 위를 달리는 작은 게임을 만들다가 스무 개 동네의 도시계획 담당자가 되었다.

주민은 캐릭터들이었고, 민원인은 나였다.

작업량은 진작에 1인 개발의 선을 넘었다.

AI 도구들이 없었다면 이 구간에서 멈췄을지도 모른다. AI가 게임을 대신 만든 것은 아니다. 하지만 막힌 생각을 정리하고, 반복 작업을 줄이고, 혼자 고민하는 시간을 견딜 수 있게 도와줬다.

클로드, 지피티 내 절친들의 이름이다.

처음 동네여행은 랭킹에 넣지 않을 생각이었다.

혼자 조용히 풀어가는 퍼즐 같은 모드로 남겨두고 싶었다. 경쟁하지 않고 자기 속도로 마을을 돌아다니는 공간.

그런데 비공개 테스트를 해보니 대부분의 테스터가 동네여행을 중심으로 플레이했다.

내가 중심이라고 생각한 모드보다, 보조라고 생각한 모드에서 더 오래 놀았다.

나는 잠시 고민했다.

그리고 랭킹에 넣었다.

사람들이 거기서 제일 많이 노는데 무슨 수로 막겠는가.

개발자의 철학은 잠시 접었다.

내 철학보다 플레이어의 행동이 더 정확하다고 믿는다.

---

## 콘텐츠보다 오래 남는 것

동네여행까지 만들고도 리텐션에 대한 고민은 끝나지 않았다.

마을을 스무 개 만들 수는 있다.

캐릭터도 계속 추가할 수 있다.

하지만 모든 콘텐츠는 언젠가 소모된다.

플레이어는 스테이지를 끝내고, 캐릭터를 모으고, 보상을 받아간다.

그다음에는 무엇이 남을까.

신규 마을을 계속 추가하면 된다.

말은 쉽다.

하지만 혼자 만들 수 있는 양에는 한계가 있었다.

나는 게임이 친구들과 노는 공간이 되면 좋겠다고 생각했다.

처음 출시 계획에는 친구추가 기능도, 친구와 대결하는 기능도 없었다. 이미 해야 할 일이 산처럼 쌓여 있었다.

산 위에 산을 얹고 싶지는 않았다.

그런데 계속 생각할수록 친구 기능은 부가 콘텐츠가 아니었다.

게임이 오래 남기 위한 이유에 가까웠다.

친구의 기록을 보고 다시 도전한다.

같은 게임을 두고 누가 더 잘하는지 놀린다.

같이 플레이하고, 작은 승부를 하고, 결과 화면을 공유한다.

그렇게 만들어진 기억은 신규 스테이지보다 오래갈 수 있었다.

콘텐츠는 개발자가 공급한다.

추억은 플레이어들이 만든다.

그래서 친구추가와 친구 대결, PVP 같은 기능을 계획 안으로 끌어들였다.

해야 할 일이 늘었다.

늘 그렇듯 범인은 나였다.

하지만 단순히 접속일을 하루 더 늘리기 위해서는 아니었다.

내 게임이 잠깐 소비되고 끝나는 앱이 아니라, 친구들이 한 번쯤 같이 웃었던 놀이터가 되기를 바랐다.

거대한 메타버스를 만들겠다는 말은 아니다.

그 정도로 정신을 놓지는 않았다.

다만 누군가 친구에게 말했으면 했다.

“야, 이거 해봐. 내가 너보다 빠름.”

그리고 다른 친구가 대답했으면 했다.

“개못하네. 비켜봐.”

그 한마디면 충분했다.

어릴 적 골목놀이도 콘텐츠가 많아서 오래한 것이 아니었다.

같이 놀 사람이 있어서 오래했다.

---

## 아재개그는 현지화하지 않았다

캐릭터를 만들면서 이름에 조금씩 아재의 기운을 넣었다.

그리고 그 시작에는 좀비 캐릭터가 있었다.

이름은 **좀비켜봐**.

나는 이 이름을 지은 뒤 잠시 화면을 바라봤다.

완벽했다.

누가 뭐라고 해도 내가 만든 캐릭터 이름 중 최고라고 자부한다.

세계관과 캐릭터성이 한 문장에 들어 있다.

좀비다.

그리고 비켜달라고 한다.

문학이다.

그 뒤로 이름의 문이 열렸다.

개굴개근.

런자오밍.

돈키호텔.

방금렉인듯.

처음에는 이름에서만 살짝 내비칠 생각이었다.

절제된 아재미.

은은한 아재 향.

하지만 아재는 한 번 선을 넘기 시작하면 멈추지 않는다.

결국 로비에 아재개그를 제대로 구현했다.

캐릭터들이 가끔 문제를 내고, 썰렁한 말을 던진다. 플레이어가 게임을 시작하기도 전에 정신적인 피해를 입을 수 있도록 준비했다.

게임은 여덟 개 언어를 지원한다.

그러나 아재개그만큼은 한국어로만 제공한다.

한국 유저들을 위한 특별 혜택이다.

이것은 지역 한정 콘텐츠다.

해외 유저에게 제공하지 못해 미안한 마음은 없다.

번역해서 수출하기에는 국가 이미지가 걱정됐다.


---

## 출시 뒤에 나타난 진짜 보스

2026년 7월 11일, 안드로이드 버전이 출시됐다.

7월 13일에는 아이폰 버전도 나왔다.

어릴 적 골목에서 하던 놀이가 구글플레이와 앱스토어에 올라갔다.

출시 화면을 오래 바라봤다.

“진짜 나왔네.”

그 말밖에는 나오지 않았다.

게임을 만들 때는 출시가 끝인 줄 알았다.

역시 순진했다.

출시하고 나니 사업자등록과 통신판매업 신고, 광고 계정과 결제 정보가 기다리고 있었다.

게임 속 보스는 움직임이라도 예측할 수 있다.

현실의 보스는 세무서에서 전화를 건다.

애플 광고를 준비하려니 사업자 정보가 필요했고, 광고를 돌리려니 결제와 계정 설정을 확인해야 했다. 인스타그램과 페이스북, 구글과 애플의 화면을 오가다 보면 내가 게임을 만든 것인지 설정 메뉴에 갇힌 것인지 알 수 없었다.

게임의 조작 버튼은 두 개다.

출시 이후 내가 눌러야 할 버튼은 백 개가 넘었다.

게임 안에서는 선만 피하면 됐다.

게임 밖에서는 세금과 약관과 광고 정책을 피해야 했다.

난도가 올랐다.

그래도 사업자등록번호가 나왔다.

광고도 준비하기 시작했다.

게임을 만든 사람에서 게임을 책임지는 사람이 되어가고 있었다.

명함에 모든 역할을 적는다면 글씨 크기를 줄여야 한다.

개발자.

기획자.

디자이너.

QA.

서버 관리자.

고객센터.

마케터.

대표.

그리고 새벽에 혼자 캐릭터 발을 쳐다보는 사람.

마지막 직함이 가장 정확하다.

---

## 소비하던 사람에서 만드는 사람으로

게임을 만들며 가장 크게 변한 것은 게임이 아니었다.

나였다.

예전에는 좋은 것을 소비하는 것이 나를 보여주는 방법이라고 생각했다.

남들이 만든 게임을 하고, 좋은 옷을 사고, 좋은 술을 마셨다. 더 좋은 것을 알고, 더 비싼 것을 경험하고, 그것을 고르는 안목이 나의 자랑이라고 여겼다.

소비에도 취향은 있다.

그 취향이 나쁘다는 것은 아니다.

하지만 내 손으로 무언가를 만들어본 뒤에는 세상을 보는 방식이 달라졌다.

작은 버튼 하나에도 누군가의 고민이 들어간다는 것을 알게 됐다. 자연스럽게 움직이는 캐릭터 뒤에 수많은 실패가 숨어 있다는 것도 알게 됐다.

완성된 것만 보던 사람이 만드는 과정을 보기 시작했다.

무언가를 소비했을 때의 만족은 빠르게 찾아왔다가 빠르게 사라졌다.

반면 내가 만든 것이 어제보다 조금 나아졌을 때의 기쁨은 이상하게 오래 남았다.

아무도 몰라줘도 됐다.

내가 알았다.

오늘 고치려던 버그를 고쳤는지.

계획했던 기능을 끝냈는지.

어제보다 한 칸이라도 나갔는지.

남들이 나를 어떻게 보는가보다 내가 나를 어떻게 보는지가 중요해졌다.

가끔 마음속에서 누군가 묻는다.

‘오늘 목표한 코딩은 끝났나, 닝겐?’

대체로 대답은 이렇다.

‘아직이오.’

그러면 다시 앉는다.

게임을 만들면서 삶이 편해진 것은 아니다.

수면 시간은 줄었다.

해야 할 일은 늘었다.

몸은 피곤하다.

그런데 삶에 대한 만족도는 오히려 올라갔다.

내가 좋아하는 것을 할 때 가장 행복하다는 단순한 사실을, 너무 늦게 알았다.

예전에는 퇴근 뒤 시간을 죽였다.

지금은 그 시간으로 무언가를 살린다.

---

## 선을 밟지 않으려고 시작했지만

돌이켜보면 이 게임은 계획대로 만들어진 적이 별로 없다.

왼발과 오른발을 각각 움직이려다 머리만 아픈 게임이 되었다. 그 실패에서 지금의 핵심 규칙이 나왔다.

빨간 벽을 피하게 만들었더니 사람들은 벽과 상관없이 달렸다. 그 조급함에서 스피드모드가 나왔다.

수천 번 테스트하다 내가 먼저 지쳤다. 그 권태에서 랭킹이 나왔다.

게임이 너무 쉽다는 말을 들었다. 그 한마디와 건널목에서의 아찔함이 하드모드가 되었다.

기록 경쟁만으로는 피곤할 것 같아 다섯 개 마을을 만들었다. 불안해서 늘리다 보니 스무 개가 되었다.

혼자 조용히 즐기라고 만든 동네여행은 사람들이 가장 많이 찾는 모드가 됐다.

콘텐츠가 언젠가 끝난다는 걱정은 친구와 함께 노는 게임을 꿈꾸게 했다.

좀비 캐릭터 하나의 이름을 고민하다 **좀비켜봐**가 나왔고, 이름에만 넣으려던 아재개그는 결국 로비를 점령했다.

실패는 기능이 되었다.

걱정은 모드가 되었다.

지겨움은 새로운 이유가 되었다.

생각해보면 개발은 처음부터 정답을 알고 가는 일이 아니었다.

틀린 발판을 밟고, 왜 틀렸는지 확인한 다음, 다시 발을 내딛는 일이었다.

게임의 이름은 ‘선 밟지 마’다.

그런데 이 게임을 만들며 나는 수많은 선을 넘었다.

취미와 일의 선을 넘었다.

개발자와 사업자의 선을 넘었다.

소비하는 사람과 만드는 사람 사이의 선도 넘었다.

직장에서 퇴근한 뒤 다시 유니티로 출근한다.

새벽이 되면 피곤하다.

그래도 전보다 행복하다.

거창한 성공담은 아직 아니다.

실패담도 아니다.

그저 아직 달리고 있는 사람의 이야기다.

나는 여전히 다음 발판을 찾는다.

한 칸을 갈지.

두 칸을 뛸지.

정답은 모른다.

다만 오늘도 버튼을 누른다.

어제보다는 한 칸 더 나아가기 위해서.
