본문 바로가기

렌파이/게임 제작하기

배포판 만들기

게임 제작을 완료했다면, 혹은 지금까지 완성한 게임을 데모버전으로써 배포하고 싶다면 배포판을 만들어야 합니다.

배포판 만들기


런처를 실행하고 자신이 배포판을 작성하고자 하는 프로젝트가 선택되었는지 확인합니다. 그 후 Build Distributions 를 클릭합시다.


options.rpy 파일에 배포판을 만들 때 필요한 정보가 스크립트로 적혀있지 않다면 위와 같은 화면이 뜹니다. 맨 처음 배포판을 만들 때는 배포판에 대한 정보가 아마 안 적혀있을 겁니다. No를 누르면 배포판을 만들지 않습니다. Yes를 눌러주고 다음 단계로 넘어갑시다.


배포판 설정 화면의 모습입니다. 각 메뉴에 대한 설명은 다음과 같습니다.

- Directory Name 은 배포판이 압축된 압축파일 이름과, 프로젝트 폴더의 기본 이름이 됩니다.


예를 들어 Directory Name 이 example-1.0 이라면 배포판이 담긴 압축 파일 이름에 example-1.0 이 적히고, 이 파일을 압축 해제하면 그 안에 example-1.0 이 적힌 폴더가 보입니다. 그리고 그 폴더 안에 프로젝트 파일이 들어가게 되는 거죠. 스샷에서 win, 이나 dist 라고 붙은 건 각각 windows, distribution의 약자입니다.

- Excutable Name 은 게임 실행 파일(윈도우의 경우 .exe 파일) 의 이름이 됩니다.

- Edit options.rpy 를 클릭하면 배포판을 만들 때 필요한 정보를 수정합니다. Directory Name 과 Excutable Name 은 모두 options.rpy 에 적힌 스크립트를 통해 설정하거나 수정해야 합니다. 방금 배포판 정보를 만들겠냐는 물음에 yes 라고 답했으므로 기본적인 스크립트는 이미 만들어진 상태입니다. 


- Refresh 를 클릭하면 options.rpy 에서 수정한 내용을 런처에서 표시하도록 런처를 갱신합니다.


- Build Packages 에서는 어느 OS 에서 작동하는 배포판을 만들지 정할 수 있습니다. 위에서부터 차례로  윈도우/리눅스/맥 통합, 윈도우 계열, 리눅스 계열, 맥 계열 압축파일을 가리킵니다. 통합 버전을 만들면 모든 운영체제에서 실행할 수 있는 파일을 만들어서 전부 한 폴더에 집어넣습니다.


어떤 패키지를 만들지 골라서 이대로 그냥 Build 버튼을 눌러 배포판을 만들어도 됩니다만, 게임에 쓰인 이미지나 스크립트가 게임을 하기 전부터 미리 노출되지 않도록 하려면 options.rpy 에 담긴 배포판 정보를 수정해야 합니다. 

options.rpy 수정해서 배포판 설정하기

① 우선 Edit options.rpy 를 누릅니다. 스크립트 에디터가 실행되고 배포판 만들 때 필요한 정보가 적힌 스크립트가 나타납니다. 다음과같이 적힌 스크립트를 찾아서 바꾸고 싶은 내용은 바꿉니다.


② 그 다음 배포판에 넣지 않을 파일을 설정합니다. 


③ 그리고 압축해서 비공개로 보호할 파일을 설정합니다.


④ 마지막으로 맥 OS 애플리케이션에서 매뉴얼로 사용할 파일을 지정합니다.



설정을 완료했으면 Refresh 를 눌러 변경한 내용을 적용해주고, Build 버튼을 누르고 배포판이 완성되길 기다리면 됩니다. 


위와 같은 화면이 나오면 배포판이 만들어진 폴더가 열리고 배포판 만들기가 끝납니다. Continue 를 누르면 런처 메인화면으로 돌아옵니다.

배포판 공유하기

아시겠지만 작성한 배포판을 다른 사람들과 공유하려면 메신저로 공유를 하던가 웹상에 파일을 올려야 합니다.
유명한 파일 공유 사이트라면 국내에는 클럽박스가 있겠고, 해외 사이트로는 Mediafile, Rapidshare 같은 곳이 있겠네요. 클박쪽은 잘 모르겠지만 해외 사이트의 경우 대개 업로드 파일 사이즈의 제한이 있습니다. 분할 압축을 이용하던가 아님 업로드 용량 제한선이 큰 곳을 이용하면 됩니다.

참고로 렌파이 제작자인 파이톰은 렌파이로 만들어진 게임 정보를 http://games.renpy.org/ 에 올려줄 것과 게임 어딘가에 이 게임이 렌파이로 만들어졌다는 사실을 적어주었으면 한다고 합니다. 둘 다 필수는 아니지만 예의상 엔진 이름은 적어주는 것이 좋겠습니다.

FAQ

안드로이드 배포판은 어떻게 만듭니까?

렌파이 런처에서 가능한 일이 아니며, 파이게임 패키징 툴을 이용해야 합니다. 그에 대한 안내사항은 이쪽에 있습니다.
나중에 테스트 할 기기와 테스트 할 마음-_-;이 생기게 되면 안드로이드 배포판 작성에 대해서도 글을 남겨보도록 하겠습니다.

build.classify 가 뭐죠?

build.classify 는 파일을 찾아서 이 파일을 배포판에서 제외할지 아님 암호화할지 구분하는 명령어입니다. 사용법은 간단하게 설명하면 다음과 같습니다.

build.classify('분류 대상 파일 경로', 파일분류방식)

파일 분류 방식을 적는 자리에 None 이라고 적으면 배포판에서 해당 파일을 제외하고, 'archive'라고 적으면 해당 파일을 암호화합니다. 암호화한 파일은 archive.rpa 파일에 모두 통합합니다. 보통 플레이어라면 이 안에 담긴 내용을 쉽게 확인할 수 없습니다. 게임에선 물론 해당 파일들을 알아서 잘 표시하고 사용합니다.

build.classify에서 **.mp3는 뭐고 *.txt 는 뭔가요. * 와 **는 어떻게 다른거죠?

파일 경로를 패턴으로 지정한 겁니다. 일일히 모든 파일 이름을 적는다면 번거롭기 때문에 패턴형태로 적어서 설정하는 것입니다.
* 같은 경우 해당 폴더에서만 일치하는 파일을 찾는 거고, ** 는 하위 디렉토리까지 포함합니다.
예를 들어 보통 게임 프로젝트의 구조는 다음과 같습니다.

example/game/
(example은 프로젝트 이름)

이 경우 example 을 가리켜 기본 디렉토리라고 합니다. 파일을 분류할 때는 최상위 디렉토리, 즉 기본 디렉토리부터 검색하게 됩니다. 이 상태에서 다음과 같이 스크립트를 적으면

① build.classify('*.txt', None)
② build.classify('**.txt', None)

① 의 경우 example 폴더에"만" 있는 텍스트 파일을 파일이름에 상관 없이 몽땅 배포판에 포함하지 않으며
② 의 경우 example 및 하위 폴더에서 모든 텍스트 파일을 파일 이름에 상관없이 검색해 몽땅 배포판에서 제외합니다.

오류가 발생하면서 이상한 화면이 뜹니다.

위와 비슷한 화면이 뜬다면 혹시 프로젝트 경로에 한글로 적은 폴더는 없는지, 한글 이름이 적힌 파일은 없는지 확인하세요. 렌파이는 한글 경로 및 파일로 배포판을 만드는 것은 지원하지 않습니다.

파일 이름을 한글로 쓰고 이를 게임에서 사용했는데, 배포판을 만들 때가 되어서 이름을 바꾼다면 스크립트를 일일히 수정해야하므로 번거롭습니다. 그러니 처음 게임을 만들 때부터 모든 파일 및 폴더 이름은 영문으로 정하신 후 게임을 만드시기 바랍니다.

스크립트를 암호화하고 싶어요.

게임을 시험구동하면 .rpyc 라는 파일이 만들어지는데, 이 파일이 암호화된 스크립트 파일입니다. .rpy 파일은 메모장으로도 열리는 단순 텍스트 파일이므로 스크립트를 공개하기 싫다면 다음 스크립트를 추가하면 됩니다.



이렇게 하면 .rpyc 파일만 배포판에 추가되므로 스크립트를 공개하지 않고 배포판을 만들 수 있습니다.

참고

렌파이 매뉴얼, "배포판 만들기" 항목. http://baekansi.hosting.paran.com/doc/html/build.html