본문 바로가기

IT

[렌파이] 배포 준비 전 확인 사항

게임 개발을 마무리하고 배포 직전에 체크해야 할 부분을 짚어본다.

 

1. 코드, 미디어 파일 숨기기

PC 버전을 배포하다가 게임 파일 압축을 풀면 소스 코드와 미디어 파일이 그대로 노출되어서 좀 당황스러웠다. 찾아보니 build.classify()를 통해서 빌드 생성할 때 자료들(스크립트, 이미지 등)을 .rpa 확장자로 아카이빙 할 수 있다. options.rpy 파일에 해당 기능을 하는 코드가 주석으로 처리되어 있을 것이다. 이 부분을 수정하면 된다. 아래 코드는 렌파이 문서에서 가져온 코드에 조금 추가하였다.

 

# Declare three archives.
build.archive("scripts", "all")
build.archive("images", "all")
build.archive("media", "all") # 비디오, 오디오 대상
# Put script files into the scripts archive.
build.classify("game/**.rpy", "scripts")
build.classify("game/**.rpyc", "scripts")
# Put images into the images archive.
build.classify("game/**.jpg", "images")
build.classify("game/**.png", "images")
# 비디오, 오디오 대상
build.classify("game/**.mp4", "media")
build.classify("game/**.webm", "media")
build.classify("game/**.mp3", "media")
build.classify("game/**.ogg", "media")

 

게임 배포 후 게임 압축 해제를 하면 아래와 같이 .rpa 파일에 자료들이 담겨있는 걸 볼 수 있다. (그런데 .rpa 파일 unzip 해주는 방법이 있더라)

 

게임 파일 압축 후 확인 경로: 게임명-버전-pc > game

 

 .rpa 파일 압축 결과

그런데 안드로이드 버전에서는 변환이 안 되더라... .apk 파일을 압축 해제하면 폴더 및 파일명 앞에 'x-'가 붙어있는데, 이것 때문이 아닐까 생각한다. .rpa 변환하는 것이 용량 압축까지 해주는 건지는 확인 안 해봤다.

 

관련 문서: www.renpy.org/doc/html/build.html#archives

 

 

2. Persistent 데이터, 세이브 파일 삭제

 

게임 프로젝트 디렉토리 > saves - navigation.json 파일 제외한 모든 파일 삭제

 

본인이 테스트하면서 저장하지 않아도, 자동으로 저장되는 경우가 있으니 반드시 확인한다. Persistent 데이터는 위 경로에서 파일을 지우거나 렌파이 런처에서 Delete Persistent 메뉴를 통해 삭제 가능하다.

 

3. 게임 실행 아이콘

1) PC 버전 변경 방법

a. 게임 프로젝트 디렉토리 - icon.ico 파일 추가
b. 게임 프로젝트 디렉토리 > game > gui - window_icon.png 파일 추가

 

실행 파일 (.exe) 아이콘과 게임 실행 화면의 윈도우 바 아이콘이 변경된다.

 

2) 안드로이드 변경 방법

렌파이 설치 디렉토리 > rapt > templates
android-icon_foreground.png와 android-icon_background.png 파일 수정

 

참고로 기본 렌파이 아이콘은 캐릭터만 있는 foreground 파일과 하늘색 배경이 있는 background 파일로 이뤄져 있다. 나는 foreground에 아이콘과 배경이 다 있어서 background 파일은 그대로 내버려두고 foreground 파일만 덮어 씌었다.

 

관련 문서: www.renpy.org/doc/html/android.html#icon-and-presplash-images

 

 

4. 웹, 안드로이드 버전 로딩 화면 (Presplash)

웹과 안드로이드 버전은 게임을 시작하기까지 아래와 같은 단계를 거친다.

 

게임 실행 > 로딩 화면 > label splashscreen > 시작 메뉴 화면 > 게임 시작 (label start)

 

PC 버전과 다르게 웹이나 모바일은 게임 실행 후 로딩 화면이 존재한다. 웹일 경우에는 마녀 그림이 보이고, 안드로이드일 경우에는 안드로이드 등에 탄 렌파이 마스코트가 보인다. 변경하는 방법은 다음과 같다.

 

게임 프로젝트 디렉토리
- web-presplash.png 또는 .jpg 파일 추가 (웹 버전)
- android-presplash.png 또는 .jpg 파일 추가 (안드로이드 버전)

 

안드로이드 버전 Presplash 화면

관련 문서: www.renpy.org/doc/html/android.html#presplash

 

 

5. label splashscreen

위의 Presplash가 화면에 진입하자마자 보이는 로딩 화면이라면, splashscreen은 게임에 진입해서 시작 메뉴가 나오기 전에 등장하는 화면이다. 영화로 예를 들면 "본 영화는 실화를 바탕으로 재구성하였습니다"와 같은 거랄까... 물론 이미지도 넣을 수 있다. 나는 문구 하나와 UI 설명 도움말(그림)을 넣었다.

 

관련 문서: www.renpy.org/wiki/renpy/doc/cookbook/Adding_a_Splashscreen

 

 

6. Configuration Variable 설정

게임 캐시나 게임명 등 설정이 가능하다.

게임 프로젝트 디렉토리 > game > options.rpy

 

# 추가
define config.hw_video = True
define config.image_cache_size = 32
define config.cahce_surfaces = True
define build.include_updates = True
# 게임 이름
define config.name = _("게임명")
# 게임 버전
define config.version = "1.3"
# 메뉴 화면에서 게임 타이틀과 버전이 보이지 않게 설정
define gui.show_name = False
# 빌드 파일명
define build.name = "빌드명"

 

관련 문서: www.renpy.org/doc/html/config.html

 

 

7. 안드로이드 배포 전 jdk 설치
안드로이드 배포를 하려면 jdk를 설치해야 한다. 근데 주의점이 최신 버전을 설치하면 안 되고 8버전 64비트를 다운로드하여야 한다. 다른 버전을 설치했다면 프로그램 추가 제거에서 삭제하고 재설치하면 된다.
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

'IT' 카테고리의 다른 글