콘텐츠로 이동

게임 가져오기

Spark는 iOS 기기에 Ren’Py 게임을 가져오는 여러 방법을 지원합니다.

  • ZIP (.zip) — 가장 일반적
  • APK (.apk) — Android 패키지
  • 7-Zip (.7z) — 높은 압축률
  • RAR (.rar) — 레거시 지원
  • TAR (.tar) — 비압축 아카이브
  • Gzip (.gz) — Gzip 압축 TAR 아카이브
  • BZ2 (.bz2) — Bzip2 압축 TAR 아카이브
  • IPA (.ipa) — iOS 앱 아카이브
  • APP (.app) — 앱 번들
  1. Spark를 열고 라이브러리에서 Import 버튼을 탭
  2. 시스템 파일 선택기를 사용하여 게임 아카이브를 찾기
  3. 파일을 선택하고 추출이 완료될 때까지 대기

Spark는 추출 전에 아카이브를 확인합니다:

  • 비압축 크기를 계산하여 충분한 여유 공간이 있는지 확인
  • 아카이브가 비밀번호로 보호되어 있는지 감지하고 필요한 경우 비밀번호 입력을 요청
  • 아카이브 내용을 스캔하여 game/ 폴더를 찾기

아카이브 내에 여러 게임 폴더가 발견되면 어떤 것을 가져올지 선택하라는 메시지가 표시됩니다.

아카이브는 임시 스테이징 디렉토리에 추출됩니다. Spark는 추출 중 디스크 공간을 모니터링하며 저장 공간이 심각하게 부족해지면 중단합니다. macOS 아티팩트 폴더(__MACOSX)는 자동으로 제거됩니다.

이중 패키지 APK 파일(ZIP 안에 APK가 있는 경우)의 경우, Spark가 이를 감지하고 자동으로 두 레이어를 모두 추출합니다.

추출 후, Spark는 파일을 최종 게임 디렉토리로 정리합니다:

  • 게임 폴더 — 스크립트, 에셋 및 아카이브가 포함된 game/ 폴더가 최종 위치로 이동
  • 게임 이름android.json(APK 가져오기), 게임 폴더 옆의 .py 파일, 또는 아카이브 파일명을 대체로 사용하여 결정
  • 고유 이름 지정 — 같은 이름의 게임이 이미 존재하면 숫자 접미사가 추가됨

Spark는 추출된 파일에서 번들된 Ren’Py 엔진 폴더(renpy/)를 검색합니다. 발견된 경우:

  • 엔진이 게임의 advanced/renpy/ 디렉토리에 저장되어 Advanced Mode에서 사용
  • Ren’Py 버전이 엔진 폴더 내의 버전 파일(예: vc_version.py, __init__.py, script_version.txt 또는 컴파일된 버전)에서 읽힘
  • 감지된 버전이 게임의 메타데이터에 저장되어 엔진 매칭에 사용
  • Android APK 가져오기의 경우, 번들 파일(private.mp3)이 추출되어 엔진을 복구하고 Python 버전을 감지
  • 커스텀 폰트 — 게임의 번들 엔진에 수정된 폰트(Ren’Py 기본값과 다른)가 포함되어 있으면 게임 폴더에 복사되어 런타임에 사용
  • Live2D 지원 — 아카이브에서 Live2D 라이브러리를 스캔합니다. 발견되면 Spark가 게임 실행 시 Live2D 프레임워크를 로드하도록 마커가 생성됨
  • info.json 파일에 게임 이름, 감지된 엔진 버전, 원본 아카이브 파일명, 가져오기 타임스탬프가 기록됨
  • 스테이징 디렉토리가 정리되고 임시 파일이 제거됨
  • 게임 라이브러리가 새로고침되고 새 게임이 라이브러리에 표시됨
  • 대용량 게임(1 GB 이상)은 추출에 시간이 걸릴 수 있습니다
  • 7z와 같은 일부 아카이브 형식은 수천 개의 개별 파일이 포함된 경우 추출에 매우 오랜 시간이 걸릴 수 있습니다. 게임은 이상적으로 .rpa 아카이브 또는 유사한 통합 형식으로 패키징되어야 합니다. 일부 추출 라이브러리는 이러한 시나리오에 최적화되어 있지 않습니다
  • 게임이 나타나지만 실행되지 않으면 게임 설정에서 엔진 버전을 변경해 보세요
  • APK 파일이 파일 필터에 의해 숨겨질 수 있습니다 — 설정 > Game Library에서 비활성화하세요