안드로이드

렌파이는 안드로이드가 탑재된 스마트폰이나 태블릿PC에서도 작동됩니다. 이 기기에서는 렌파이 기능이 100% 발휘되지는 않지만, 스크립트를 조금만 수정하면 렌파이 게임을 이식할 수 있습니다.

렌파이와는 별개로 다운받을 수 있는 렌파이 안드로이드 패키징 툴(RAPT)을 이용하면 테스트하거나 배포할 수 있는 안드로이드 패키지를 만들 수 있습니다.

언어 요구사항

iOS에서 작동하는 렌파이가 사용하는 라이브러리 가운데 일부는 GNU 약소/라이브러리 일반 공중 사용 허가 라이선스를 사용합니다. 렌파이 게임을 배포하고자 한다면 해당 라이선스를 준수해야 합니다. 다음과 같은 문장을 앱 설명에 포함하면 충분하다고 생각하지만, 확실히 하려면 변호사에게 확인해보시기 바랍니다.

This program contains free software licensed under a number of licenses, including the GNU Lesser General Public License. A complete list of software is available at http://www.renpy.org/doc/html/license.html.

사용자 주의사항

렌파이 게임을 안드로이드에서 실행되었을 때 기기의 버튼들은 아래에 적힌 대로 작동합니다:

렌파이 게임을 종료하고 안드로이드 홈 화면으로 돌아갑니다. 진행 과정을 유지하기 위해 렌파이는 게임을 자동으로 저장합니다. 필요한 경우에 세이브 지점은 사용자가 게임을 다시 실행했을 때 자동으로 불려옵니다.
메뉴
게임 내 메뉴를 불러오거나, 게임 메뉴에서 게임 화면으로 돌아갑니다.
뒤로
롤백합니다. 이전 대사를 보여줍니다.
소리 크게, 소리 작게
안드로이드 미디어 볼륨을 제어합니다.

플랫폼별 차이점

렌파이가 지원하는 마우스 기반 플랫폼과 터치 기반 안드로이드 플랫폼은 많은 차이점이 있습니다. 안드로이드 소프트/하드웨어 특성 때문에 안드로이드에서 렌파이가 작동하는 방식은 아래처럼 달라집니다:

  • 터치스크린을 마우스처럼 사용합니다. 그러나 마우스 이벤트는 사용자가 화면을 이리저리 만지는 동안에만 만들어집니다.
  • 동영상 재생은 전체 화면 모드 재생만 지원되며, 안드로이드 기기가 지원하는 미디어 형식만 지원합니다. 지원하는 비디오 형식은 이 페이지 를 확인하세요.
  • 렌파이는 기기의 음량을 변경하지 못합니다. 그러나 안드로이드 음량 버튼은 정상 작동합니다.

플레이어가 게임을 편하게 즐길 수 있도록 바뀌어야 하는 점은 다음과 같습니다.:

  • 안드로이드 스마트폰 화면은 컴퓨터 모니터보다 작으니

텍스트 크기를 늘려야 합니다.

  • 터치 입력은 마우스 입력보다 부정확하므로 스마트폰용 게임에서 사용하는 버튼은 컴퓨터 게임에서 사용하는 버튼보다 크기가 더 커야합니다.

이런 차이점에 익숙해질 수 있도록 안드로이드용 렌파이는 기기 화면 크기와 성능에 따라 알아서 스크린 종류를 선택합니다. 더 자세한 정보는 screen_variants 를 참조하세요.

테스팅과 에뮬레이션

테스트 활동을 지원하기 위해 렌파이에서는 안드로이드 에뮬레이션 모드를 지원합니다. 이 기능은 런처의 안드로이드 메뉴 화면에서 이용할 수 있습니다.

스마트폰
이 모드는 안드로이드 스마트폰 환경을 모방합니다. 터치는 마우스가 클릭되었을 때에만 작동합니다. ESC 는 메뉴 버튼, Page Up 키는 뒤로 버튼과 같은 동작을 합니다.
태블릿
이 모드는 안드로이드 태블릿 환경을 모방합니다. 터치는 마우스가 클릭되었을 때에만 작동합니다. ESC 는 메뉴 버튼, Page Up 키는 뒤로 버튼과 같은 동작을 합니다.
TV / OUYA

이 모드는 OUYA 콘솔과 같은 TV 기반 안드로이드 기기의 환경을 모방합니다. 키보드는 리모콘 또는 게임 패드 입력과 매치되며, 화살표 키는 내비게이션이 됩니다. 엔터 키는 셀렉트 키, ESC 키는 메뉴, Page Up 키는 뒤로 버튼과 같은 동작을 합니다.

이 모드는 또한 TV에서 표시되지 않는 영역을 오버레이로 표시합니다. 이 영역에 있는 컨텐츠는 모든 TV에서 표시되지 않을 수도 있습니다.

이 에뮬레이터들로 프로젝트를 빠르게 테스트해 볼 수는 있겠지만, 가장 좋은 것은 실제 하드웨어에서 구동시켜 보는 것입니다. 에뮬레이터는 사용자의 손가락 크기와 같은 인적 요소에는 대응할 수 없습니다.

orphan:

안드로이드용 배포판 만들기

RAPT에는 안드로이드 게임 패키징 작업을 도와주는 툴이 들어 있습니다. 툴을 이용하면 컴퓨터에서 안드로이드 패키지를 만들고 안드로이드 기기에 업로드 할 수 있습니다. 그리고 여타 안드로이드 앱처럼 게임을 실행할 수 있습니다. 게임이 잘 작동하면 만든 게임을 안드로이드 마켓이나 다른 애플리케이션 스토어에 업로드할 수 있습니다.

안드로이드 패키지를 처음 만들 때는 네 단계를 거쳐야 합니다.:

  1. 자바 개발 키트(JDK)와 안드로이드 UBS 드라이버를 다운받아 설치합니다(스크롤을 내리면 다운로드 링크가 있습니다).
  2. 런처에서 안드로이드 SDK 을 설치하고 키를 생성합니다.
  3. 런처에서 안드로이드 전용 설정을 입력합니다.
  4. 런처에서 안드로이드 애플리케이션을 만듭니다.

네 단계를 다 거쳤다면 안드로이드 패키지가 만들어집니다. 이후에 게임이 제대로 작동하도록 수정하려면 세 번째 단계와 네 번째 단계를 반복하면 됩니다. 신규 빌드를 만들기 위해서는 4번 단계를 반복해서 실행하게될 것입니다.

1단계: 필요한 프로그램 설치하기

안드로이드 패키지를 만들기 위해 미리 설치해야할 프로그램이 두 가지 있습니다.:

자바 개발 도구 자바 개발 도구(JDK) 에는 키를 생성하고 패키지에 사인할 때 필요한 툴을 포함해 RAPT 가 사용하는 툴이 여러 개 있습니다. 아래 링크에서 받을 수 있습니다:

JDK는 개발자용이고 JRE는 사용자용으로 서로 다른 프로그램입니다. 안드로이드 패키지를 만들 때는 JDK가 필요합니다.

안드로이드 기기 드라이버 윈도우즈에서 안드로이드 기기를 사용하려면 드라이버를 설치해야 할 수도 있습니다. 안드로이드 드라이버는 아래 링크에서 받을 수 있습니다:

Linux 나 OS X를 사용한다면 드라이버를 받지 않아도 됩니다. 안드로이드 기기에 접근할 수 없다면 다음 페이지를 참조하세요:

아마 리눅스나 OS X 최신버전에서는 제대로 작동할 것입니다.

2단계: 안드로이드 SDK 및 개발 환경 설정하기

이제 안드로이드 SDK 및 개발 환경을 설정할 차례입니다. 이번 차례에는 다음 작업을 수행합니다:

  • JDK가 설치되었는지 확인.
  • 아파치 Ant 설치.
  • 안드로이드 SDK 설치.
  • 안드로이드 SDK를 사용해 필요한 개발 패키지를 설치.
  • 마켓에 올릴 패키지에 사인하는데 필요한 사이닝 키 생성(android.keystore: RAPT 디렉토리에 만들어짐).

이를 위해서는 인터넷에 접속해야 합니다.

이 단계를 수행하려면 런처의 안드로이드 메뉴 화면에서 "SDK 설치 & 키 생성하기" 메뉴를 선택하세요

RAPT가 현재 수행 중인 작업을 보고할 것입니다. 또한 라이센스에 관한 경고문을 띄운 후 키를 생성할 것인지 물을 것입니다.

경고

RAPT가 만드는 키는 기본 비밀번호 값으로 생성됩니다. 고유 인증키를 만드려면 반드시 keytool을 사용하세요.

만약을 대비해 android.keystore 파일을 안전한 곳에 보관하세요. 키가 없으면 만든 앱을 올릴 수 없으니 백업도 반드시 하시기 바랍니다.

3단계: 게임 설정하기

패키지를 만들기 전에 렌파이에 안드로이드용 게임 패키지에 대한 정보를 입력해야 합니다. 이를 위해서는 렌파이 런처의 안드로이드 메뉴 화면에서 "설정하기"를 선택하세요.

새 버전 게임을 배포하거나 할 때 게임 정보를 고치려면 다시 "설정하기"를 실행하면 됩니다. 이전에 선택했던 내용은 저장됩니다.

4단계: 패키지를 만들고 설치하기

이제 패키지를 만들고 설치합시다. 안드로이드 기기를 PC와 연결한 다음, 렌파이 런처의 안드로이드 메뉴 화면에서 "패키지 만들기 & 설치"를 선택하세요. (처음 설치할 때 안드로이드 기기에서 앱을 설치하도록 할 것인지 묻는 창이 뜰 것입니다.)

단순히 게임의 apk 파일을 안드로이드 기기에 수동으로 복사하고자 한다면 렌파이 런처의 안드로이드 메뉴 화면에서 "패키지 만들기"를 선택하세요. 그리고 RAPT 디렉토리 아래에 있는 'bin' 폴더로 이동한 다음에, mygame-release.apk 파일을 복사해 안드로이드 기기에 붙여넣기 하세요. 그리고 안드로이드 기기에서 파일 매니저 앱을 실행해 해당 .apk 파일을 찾아 열고 게임을 설치하세요.

디버그 정보 출력

디버그 아웃풋은 터미널에서 수동으로 adb 커맨드를 실행해 찾을 수 있습니다. SDK 를 설치했다면 adb 커맨드는 rapt-dir/android-sdk/platform-tools/adb 에서 발견할 수 있습니다. (윈도우에서는 adb.exe를 실행하세요)

렌파이에서 아웃풋을 보려면 다음과 같은 커맨드라인을 사용해보세요. :

abd logcat -s python:*

아이콘과 앱 로딩 이미지

패키지에서 사용하는 아이콘과 프리플래시 이미지로 사용되는 특수 파일이 몇 가지 있습니다. 이 파일은 기본 디렉토리에 배치해야 합니다.

android-icon.png
앱과 안드로이드 런처에서 사용하는 아이콘. 이 아이콘은 자동으로 적당한 크기로 작아지며, 144x144 크기보다 커야 합니다.
android-density-icon.png

이 파일이 존재한다면 이 이미지는 지정한 해상도의 화면에서 android-icon.png 보다 우선해 사용됩니다. 이것으로 깨끗한 이미지의 아이콘을 사용할 수 있습니다. 활용할 수 있는 해상도 및 이에 상응하는 아이콘 크기는 다음과 같습니다.:

  • ldpi (36x36)
  • mdpi (48x48)
  • hdpi (72x72)
  • xhdpi (96x96)
  • xxhdpi (144x144)
android-presplash.jpg
앱이 로딩 중일 때 사용되는 이미지. 이 이미지는 단색 테두리로 둘러싸일 것입니다. 해당 테두리는 화면을 채우기 위해 확장됩니다.
ouya-icon.png
OUYA 콘솔에서 사용하는 732x412 아이콘.

Google Play 확장 APK

렌파이는 Google Play 를 지원하는 기기에서 사용되는 확장 APK 사용을 추가로 지원합니다. 확장 APK 로는 Google Play 에서 용량이 50MB 이상인 게임을 호스트할 수 있습니다. 자세한 내용은 다음 페이지를 참고하세요:

현재는 최대 용량이 2GB인 주요 확장 APK 파일만 지원합니다. 확장 APK가 생성되면, 모든 게임 파일은 확장 APK 파일에 배치될 것입니다. 렌파이는 확장 APK에 담긴 파일들을 자유롭게 사용합니다.

게임이 확장 APK를 사용하도록 설정하려면 두 가지 변수를 설정해야 합니다.:

build.google_play_key = "..."

이 변수는 제작한 앱과 관련된 Google Play 라이선스 키입니다. 이 키는 Google Play 개발자 콘솔에 있는 앱의 "서비스 & API" 탭에서 발견할 수 있습니다. (키에서 공백과 새 줄을 전부 제거하세요.)

build.google_play_salt = ( ... )

이 변수는 20 바이트의 튜플이어야 합니다. 각 바이트는 -128에서 127 사이의 정수이어야 합니다. Google Play 에서 반환되는 라이선스 정보를 암호화할 때 사용됩니다.

잘 모르겠다면, 이 변수에 입력할 수 있는 값은 다음과 같습니다.

(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)

RAPT는 기기에 APK 파일을 설치할 때 확장 APK 를 기기에 배치합니다. 확장 APK는 RAPT 하위 디렉토리인 bin 디렉토리 안에 있는 .obb 파일입니다.

일반적으로 실행될 때 Google Play는 사용자가 앱을 인스톨할 때 확장 APK 를 기기에 자동으로 배치할 것입니다.