아이가 게임을 만들고 싶다고 했다

 


취미로 게임을 만들기 시작했다.

이전에 타로 프로젝트를 AI와 함께 완성한 적이 있다. 사주명리 프로젝트도 했다. 둘 다 20편짜리 개발기를 쓸 만큼 배운 게 많은 프로젝트였고, AI 협업 개발이라는 방식에 대한 확신도 생겼다. 다음 프로젝트로 뭘 할까 고민하다가, 게임이라는 영역이 눈에 들어왔다. 만들어본 적은 없지만 해본 적은 많은 분야. 개발자로서의 궁금증이 생겼다.

그래서 아이에게 물어봤다. "아빠가 요즘 취미로 게임을 만들고 있는데, 혹시 너도 만들고 싶은 게임 있어? 같이 만들어볼까?"

아이의 눈이 커졌다. "진짜? 나도 할 수 있어?"

"응. 어떤 장르 게임이 좋아?"

잠깐 생각하더니 아이가 대답했다. "미연시."

순간 당황했다. 슈팅이나 퍼즐, 아니면 마인크래프트 같은 걸 말할 줄 알았다. 미연시라니. 어디서 접한 건지, 친구들 사이에서 유행하는 건지 모르겠지만, 아이는 꽤 진지한 표정이었다.

그런데 이상하게 그 대답이 머릿속에서 떠나지 않았다. 중2 여자아이의 취향에 놀란 것도 있지만, 그보다는 내 안에서 뭔가 반응한 느낌이었다.

개발자의 직업병

나는 개발자다. 뭔가를 만드는 일을 직업으로 하고 있다. 그래서 "만들 수 있어?"라는 질문에는 늘 조건반사적으로 반응한다. 만들 수 있냐고? 기술적으로야 대부분 만들 수 있다. 문제는 항상 다른 데 있다. 시간, 기획, 완성도, 그리고 끝까지 갈 수 있느냐는 의지.

아이가 미연시를 말한 순간, 개발자의 뇌가 즉시 가능성을 따지기 시작했다. 미연시. 비주얼 노벨. 텍스트와 선택지로 이루어진 게임. 화려한 액션도 없고, 복잡한 물리 엔진도 필요 없다. 대신 이야기가 있고, 선택이 있고, 그 선택에 따라 관계가 달라진다.

사실 게임 개발과 인연이 아예 없는 건 아니다. DOS에서 Windows로 막 넘어가던 2000년대 초반, 게임 라이브러리를 직접 만들던 시절이 있었다. 비트맵, PCX 같은 이미지 포맷을 직접 파싱하고, 더블 버퍼링으로 화면 깜빡임을 잡던 그때. Unity도 Unreal도 없던 시절이다. 하지만 그건 20년도 더 전 이야기고, 지금의 게임 개발 생태계와는 완전히 다른 세상이다.

그런데 미연시라면? 핵심은 코드가 아니라 시나리오다. 분기 로직과 상태 관리만 되면 기본 골격은 완성이다. 그리고 시나리오 설계야말로 AI와 가장 잘 협업할 수 있는 영역이다.

이거라면 할 수 있겠다는 생각이 들었다.

비주얼 노벨. 연애 시뮬레이션. 텍스트와 선택지로 이루어진 게임. 화려한 액션도 없고, 복잡한 물리 엔진도 필요 없다. 대신 이야기가 있고, 선택이 있고, 그 선택에 따라 관계가 달라진다.

개발자 관점에서 보면 이건 꽤 매력적인 구조였다. 핵심은 코드가 아니라 시나리오다. 분기 로직과 상태 관리만 되면 기본 골격은 완성이다. 그리고 시나리오 설계야말로 AI와 가장 잘 협업할 수 있는 영역이다.

왜 하필 미연시인가

아이가 미연시를 골랐다는 건, 솔직히 나에게도 흥미로운 지점이었다.

미연시라는 장르에는 개인적인 궁금증이 있었다. 관심이라기보다는, 의문에 가까웠다. 게임이라는 매체로 사람의 감정을 건드릴 수 있는가? 선택지 몇 개와 텍스트만으로 진짜 감정이 만들어질 수 있는가? 이건 기술적 질문이 아니라 설계적 질문이다.

대부분의 게임은 감정보다는 성취에 초점이 맞춰져 있다. 레벨업, 클리어, 점수, 랭킹. 미연시는 다르다. 목적 자체가 감정이다. 누군가를 좋아하게 되는 과정, 관계가 틀어지는 순간, 이미 늦었다는 깨달음. 이런 걸 플레이어가 직접 경험하게 만드는 구조.

이게 정말 되는 건지, 된다면 어떻게 설계해야 하는 건지. 아이의 한마디가 그 궁금증에 불을 붙였다.

그리고 한 가지 더. 이 프로젝트는 타로나 사주와는 성격이 다르다. 타로는 데이터를 구조화하는 작업이었고, 사주는 복잡한 도메인 로직을 코드로 옮기는 작업이었다. 미연시는 감정을 설계하는 작업이다. AI와 함께 감정이라는 영역에서 뭘 할 수 있는지, 그 한계와 가능성이 궁금했다.

AI에게 첫 질문을 던지다

프로젝트를 시작할 때 항상 하는 일이 있다. AI에게 가장 기본적인 질문을 던지는 것이다.

"미연시 게임을 만들고 싶어. 어디서부터 시작해야 할까?"

Claude에게 이 한 문장을 보냈다. 그리고 돌아온 답변에서 Ren'Py라는 이름을 처음 봤다.

Ren'Py. Python 기반의 비주얼 노벨 제작 엔진. 게임 엔진이라기보다는 미연시 제작 도구에 가까운 물건이다. 이미 대화 시스템, 선택지, 분기, UI가 완성되어 있어서 script.rpy라는 파일 하나만 수정하면 바로 동작하는 미연시가 나온다.

AI가 보여준 최소 코드는 이랬다.

define e = Character("Eileen")

label start:
    scene black
    e "안녕하세요."
    e "첫 미연시 테스트입니다."

    menu:
        "선택지 A":
            jump route_a
        "선택지 B":
            jump route_b

label route_a:
    e "A를 선택했네요."
    return

label route_b:
    e "B를 선택했네요."
    return

이게 전부다. label로 장면을 정의하고, menu로 선택지를 만들고, jump로 분기한다. 10줄이면 작동하는 미연시가 나온다. 설치 후 이 파일만 수정하면 되니까, 30분이면 "엔진 이해 완료" 상태까지 갈 수 있다.

이 순간 확신이 생겼다. 이거라면 할 수 있겠다. 복잡한 렌더링 파이프라인도, 물리 엔진도 필요 없다. 이야기와 선택지, 그리고 그것을 엮는 로직. 그게 전부다.

AI는 여기서 한 발 더 나갔다. 프로젝트 초반에 꼭 잡아야 할 세 가지를 짚어줬다. 스크립트 구조, 에셋 폴더 정리, 그리고 루트 설계. 특히 세 번째, 루트 설계를 먼저 하지 않으면 나중에 분기가 통제 불능이 된다는 경고가 인상적이었다. AI가 경험자처럼 이야기하는 순간이 가끔 있는데, 이때가 그랬다.

진짜 문제는 코드가 아니다

Ren'Py의 기술적 진입장벽은 낮다. Python을 아는 개발자라면 하루면 엔진 구조를 파악할 수 있다. 변수 선언, 조건문, 분기. 다 아는 것들이다.

그런데 AI와 대화를 이어가면서 점점 다른 것이 보이기 시작했다. 코드 구조가 아니라 시나리오 구조. 기술적 문제가 아니라 설계적 문제.

AI에게 "감정 시스템을 어떻게 만들면 좋겠느냐"고 물었을 때, 돌아온 대답은 예상과 달랐다. 호감도를 올리고 내리는 단순한 시스템을 제안할 줄 알았다. 그런데 AI는 감정을 계층으로 나누자고 했다. 성향, 순간 감정, 관계 상태를 분리하자고. 사랑이라는 감정을 단일 변수로 두지 말고, 신뢰와 친밀감과 상실 공포의 조합으로 보자고.

이건 코딩 문제가 아니었다. 사람의 감정을 어떻게 이해하고, 그걸 어떤 구조로 추상화할 것인가의 문제였다.

그리고 깨달았다. 이 프로젝트의 진짜 여정은 코드 작성이 아니라 시나리오 설계에 있다는 것을. 미연시를 만드는 건 기술적으로는 어렵지 않다. 하지만 플레이어의 감정을 진짜로 움직이는 미연시를 만드는 건 완전히 다른 문제다.

아이에게 다시 말했다

며칠 뒤, 아이에게 말했다. "미연시 만들어보자. 이야기가 있는 게임. 네가 선택하면 이야기가 달라지는 거."

"내가 고르는 거야?"

"응. 뭘 고르느냐에 따라 이야기가 달라져."

"그러면 나쁜 걸 고르면 어떻게 돼?"

"슬퍼질 수도 있지."

"왜?"

그 질문에 바로 대답하지 못했다. 왜 슬퍼지는 걸까. 가상의 캐릭터, 가상의 이야기인데. 왜 사람은 거기서 진짜 감정을 느끼는 걸까. 아이가 던진 이 단순한 질문이 사실은 이 프로젝트의 핵심이었다.

프로젝트의 방향

이 시리즈는 미연시 하나를 완성하는 과정을 기록한 것이 아니다. 미연시의 시나리오를 설계하는 과정을 기록한 것이다.

어떻게 하면 짧은 시간 안에 사람의 감정을 끌어낼 수 있는가. 선택지라는 도구로 어떤 감정적 경험을 만들 수 있는가. AI는 이 과정에서 어떤 역할을 할 수 있고, 어디서 한계를 보이는가.

코드는 나중이다. 먼저 시나리오를 설계해야 한다. 감정의 구조를 이해해야 한다. 그래야 코드가 의미를 갖는다.

아이의 질문에서 시작해서, 개발자의 궁금증을 거쳐, AI와 함께 감정을 설계하는 여정. 지금부터 그 이야기를 시작한다.


다음 편: 미연시란 무엇인가 — 장르의 구조를 AI와 함께 해부하다

댓글

이 블로그의 인기 게시물

사랑을 직접 올리지 않는 설계

시작의 충동 — "타로 웹앱을 만들어볼까?"

감정을 변수로 옮기다 — 3계층 감정 모델