통합 검색어 입력폼

코딩의 'ㅋ'도 모르는 덕후의 1인 동인게임 개발 도전기 ③

조회수 2017. 9. 1. 15:19 수정
번역beta Translated by kaka i
번역중 Now in translation
글자크기 설정 파란원을 좌우로 움직이시면 글자크기가 변경 됩니다.

이 글자크기로 변경됩니다.

(예시) 다양한 분야의 재밌고 유익한 콘텐츠를 카카오 플랫폼 곳곳에서 발견하고, 공감하고, 공유해보세요.

쌩초짜에게 GUI 코딩은 너무나 높은 산이었습니다

지난 글에서는 비주얼 노벨 게임의 필수 요소인 캐릭터 스탠딩 이미지와 배경 이미지를 만든 과정을 다뤘습니다. 글에서는 생략하고 넘어갔지만, 배경 이미지 작업은 스크립트 코딩과 동시에 진행했죠.

 

정확히는 스크립트에 대사와 나레이션 등의 '내용 텍스트'와 대사에 맞는 캐릭터 이미지를 넣으면서, 그때그때 필요한 배경을 실시간으로 제작해 스크립트에 바로 끼워 넣었습니다. 3D로 제작한 세트장 수는 55개로, 그 안쪽에서 카메라 앵글을 바꾸거나 낮과 밤을 바꾸거나 폭발, 피, 가속 등의 연출을 넣어 사용하다 보니 실제 완성된 배경 이미지 수는 300장이 넘네요.

 

기본적으로 스토리를 진행하는 데에 필요한 텍스트와 캐릭터, 배경이 완성됐으니 이제는 게임을 좀 더 꾸밀 차례죠. 이벤트 CG를 그리고, 게임의 GUI를 편집하는 일이 남았습니다.

 

 

# 3D 세트장을 만들고 나니 이벤트 CG 배경도 한방에 해결되더라

 

이벤트 CG 자체는 그동안 3D로 배경을 만들던 작업에 비하면 무척이나 쉬운 작업이었습니다. 원래 하던 대로 그림을 그리고, 완성된 3D 세트장에서 배경을 찍어 합성하면 끝이었으니까요.

 

단지 개인적으로 힘들었던 건, 평소라면 시도하지 않았을 앵글의 그림에 도전한다는 점 때문에 어려움을 느꼈습니다. 솔직히 말해서 취미로 그림을 그릴 땐 항상 '그리기 쉬운 자세와 앵글'만 그리다가 갑자기 게임 화면 사이즈에 맞춰서, 작 중 상황에 맞는 자세를 그려야 했으니까요.

 

이 부분에서 어려움을 느낀 건 순전히 필자의 그림 실력이 엉망이었다는 게 원인인지라... 몇 번씩 연습을 거치며 그릴 수밖에 없었습니다. 정말 그림을 본업으로 하는 분들은 대단한 분들이에요.

 

그나마 다행인 건 배경을 3D 세트장으로 완성해둔 덕분에 어떤 위치에 어떤 앵글의 그림이라도 배경 때문에 골머리를 썩일 일이 없다는 정도일까요?

 

약 1주일의 작업 끝에 이벤트 CG가 완성되어, 드디어 시작부터 엔딩까지 진행 가능한 버전이 완성됐습니다.​​ 

이렇게 생긴 배경을 3D로 만들어 놓고 나니까​.
캐릭터 그림을 그린 뒤 앵글에 맞게 카메라만 옮기면 배경이 뚝딱 완성!


# 스크립트 코딩할 땐 쉬운 줄 알았지? GUI의 세계에 온 걸 환영해!

 

게임의 스토리 진행과 관련된 이미지 작업이 완료됐으니 이제는 스토리 외적인 게임의 구성 요소를 손볼 차례입니다.

 

사실 게임의 기본적인 틀 자체는 처음부터 어느 정도 만들어져 있습니다. 렌파이 툴에서 새 게임을 생성하면 기본적인 메뉴 기능이 대부분 지원되는 상태로 프로젝트가 만들어지거든요. 물론 디자인적인 요소는 없는 거나 마찬가지지만요.

 

이번에 할 일은 그 기본 기능 부분의 디자인을 바꾸는 것이었습니다. 시스템 폰트로 표시되는 메뉴를 이미지 버튼으로 바꾼다든지, 메뉴의 배경을 바꾼다든지, 텍스트박스의 형태를 바꾸고 메뉴 항목을 변경하는 등의 커스터마이징 과정이죠. 

렌파이로 프로젝트를 생성하면 이런 형태의 기본 기능이 제공됩니다.
시스템 폰트로만 구성된, 문자 그대로 '기본 형태'죠.

...어... 솔직히 시작부터 막혔습니다. 국내 커뮤니티에 있는 대부분의 렌파이 강좌는 기초적인 부분 위주로 다루고 있고, 공식 홈페이지의 매뉴얼도 기본기 부분은 탄탄하지만 커스터마이징에 대해선 자세히 다루지 않거든요.

  

이미지를 불러올 수 없습니다.

 

렌파이 툴 자체가 파이썬 언어를 기반으로 만들어진 거긴 하지만 필자는 그 파이썬조차 제대로 모르는 프로그래밍 문외한... 제대로 프로그래밍 공부를 해본 적은 아예 없었습니다. 그나마 뭔가 만져볼 줄 아는 건 일 하면서 배운 html이 고작인데, 그조차도 기초적인 정도죠.​

그나마 대충 모양을 보니까 어떤 부분이 버튼인지 정도는 알 수 있겠더라고요.

이미 게임에 배치된 이미지(메뉴 배경, 스크롤 바, 세이브슬롯 선택 등)를 바꾸는 건 쉽게 진행됐습니다. 그건 크기만 맞춰서 새로 만든 이미지 파일을 덮어씌우면 그만이니까요.

 

하지만 게임 내 메뉴를 수정한다든지 기능을 추가한다든지 하는 건 해외 포럼 등의 제작 사례를 최대한 찾아볼 수밖에 없었습니다. 해외에서도 적어도 한 명은 나와 같은 고민을 하고 질문을 올리지 않았을까 하는 심정으로요.

 

결론부터 말하자면 '그렇게 운 좋게 나와 같은 질문을 하고 답변을 받은 사람' 따윈 없었습니다. 세상일이 다 그렇죠. 하지만 다른 부분에 대한 설명 등에서 힌트를 얻어 어찌어찌 길을 찾을 수는 있었습니다.​

해외 포럼에 올라온 제작 사례 등에서 필자에게 필요한 코딩 정보가 있는지 필사적으로 찾아봤습니다.
​그래도 기본적인 형태는 잡혀있다 보니, 하나씩 찬찬히 뜯어보면 기능을 알 수 있었습니다.
단지 기본 형태에 없는 내용을 넣어야 할 땐 '뭘 넣어야 하는지' 모를 뿐...

이미 있던 메뉴를 빼버린다든지, 텍스트 속도의 기본값을 설정한다든지 하는 건 비교적 쉽게 찾아서 해결할 수 있었습니다. 하지만 필자를 가장 괴롭힌 건 바로 '이미지 갤러리'와 '메뉴별 이미지 타이틀'이었습니다.

 

이미지 갤러리의 경우 대부분의 비주얼 노벨 게임에 필수적으로 들어가는 기능이죠. 스토리를 진행하면서 이벤트 CG를 하나씩 볼 때마다 갤러리에서 하나씩 열리는 그 기능이요.

 

하지만, 렌파이 툴에서 기본적으로 생성되는 프로젝트엔 그 기능이 없었습니다. 물론 공식 홈페이지의 매뉴얼에는 갤러리 기능을 넣는 설명이 있긴 했는데 너무 옛날 버전이라 현재의 렌파이 버전과 맞지 않기도 했고요.

 

게다가 그 옛날 버전 코딩을 머리 싸매고 하나씩 실험해가며 편집해서 넣어도 결과물은 참담한 상태. 필자가 만든 게임은 스토리 진행 외의 기능(세이브, 로드, 옵션 등등)을 열 땐 화면 왼쪽에 메인 메뉴가 뜨도록 디자인되어 있는데, 옛날 버전 갤러리를 넣으니 그 메뉴가 표시되지 않는 문제도 발생했습니다.

 

대체 왜 제대로 안 되는 걸까 고민도 많이 하고, 시험 삼아 다른 메뉴 스크린에 있는 코딩을 하나씩 복사해서 붙여넣기도 해보고, 스크립트를 하나씩 찬찬히 읽어보면서 이게 어떤 기능인지 연구했습니다. 일단 눈 앞에 펼쳐진 프로그램 언어가 무슨 뜻인지는 알아야 대처를 할 테니까요.

 

그 결과 며칠에 걸친 삽질 끝에 필자의 게임에 맞는 이미지 갤러리부터 해서 하나씩 문제를 해결해나갈 수 있었습니다. 물론 그런 자체 분석으로는 도저히 해결할 수 없어 이곳저곳에 물어보고 다니며 몇 주씩 걸려 방법을 찾은 부분도 있었지만요.​ 

렌파이 공식 홈페이지에 가이드가 있긴 하지만, 옛날 버전이라 내용이 완벽한 건 아니었습니다.
우여곡절 끝에 이미지 갤러리 완성! 직접 새로운 기능을 추가해 넣은 건 이것밖에 없네요.
렌파이에서 지원하는 기본 기능이 워낙 잘 돼있어서 '꾸미기'에 집중하는 식으로 GUI는 마무리!


# 드디어 프로젝트의 제목을 정했다!

 

스토리와 일러스트, 배경, GUI 세팅까지 모두 끝나면서 드디어 이 게임의 제목에 대해 깊게 생각하게 됐습니다.

 

뭔가 순서가 이상하긴 한데, 그전까진 프로젝트의 가칭만 붙여놓고 계속 작업해 왔거든요. 마치 유명 게임 회사에서 '프로젝트 ○○'라고 먼저 공개한 뒤 한참 개발이 마무리되고 나서 제목을 공개하는 것처럼요.

 

필자가 고민 끝에 결정한 제목은 <만다라화 ~뱀의 여왕~>이었습니다.​

메인 타이틀인 '만다라화'는 불교 용어로, 천계에만 피어난다는 신비한 꽃을 가리킵니다.

 

본편의 기본 테마는 '명계에서 벌어지는 전쟁을 바탕으로 한 소녀들의 이야기'로, 메인 히로인의 경우 꽃과 관련된 이름을 사용했거든요. 게다가 '만다라'라는 단어 자체가 종교적인 색채가 매우 강해, 처음 제목을 본 사람에게 조금이나마 신비한 이미지를 어필하고 싶었습니다.

 

이 '메인 히로인의 이름을 꽃과 관련된 이름으로 설정'과 '전쟁에 휘말린 소녀들의 이야기' 부분은 향후 후속작을 만들게 되더라도 유지할 기조이기도 했습니다.

 

단, 만다라화라는 단어 자체는 좋았는데 이걸 일본에 발매할 경우 발음이 '만다라게'가 됩니다. 유명 서점인 '만다라케'와 혼동될 우려가 있는 부분이죠. 그래서 타이틀 로고에서 '만다라게'라는 발음표기는 일부러 가타카나를 사용했습니다. 서점 만다라케는 히라가나 로고를 사용하니까요.

 

서브 타이틀인 '뱀의 여왕'은 많은 고민 끝에 나온 제목입니다.

 

메인 타이틀에서 게임의 '분위기'를 보여준다면, 서브 타이틀은 짧으면서도 게임의 내용을 확 와닿게 할 단어가 필요했죠.

 

처음엔 주인공의 이름에 이리 랑(狼)자가 들어간 걸 이용한 '꽃과 늑대의 이야기'라거나, 게임 내용을 직접적으로 나타낸 '영월국 탈출전' 등등 다양한 제목을 고민했습니다.

 

그리고 최종적으로 사인족(하반신이 뱀인 종족) 여성인 메인 히로인을 부각할 수 있는 '뱀의 여왕'으로 결정했습니다. 너무 추상적인 단어보다는 오히려 직설적인 단어가 나아 보였고, '뱀'과 '여왕'이라는 단어의 조합도 여러 가지 의미로 눈길을 끌기에 좋다고 생각했기 때문이죠.

 

일본어 무료 폰트 중에 붓글씨 거장의 글씨체로 만든 폰트(아오야기 폰트)가 상업 이용이 가능했기 때문에 타이틀 로고도 무사히 완성할 수 있었습니다. 이걸로 사운드 프리 버전의 한글판 테스트 버전이 완성됐네요.

 

하지만 진짜 고생길은 이제 막 시작됐을 뿐이었으니... ​

이 콘텐츠에 대해 어떻게 생각하시나요?