2023年7月1日時点Ren'Py ver.7.6.0の初心者の覚書。
変なところやもっと効率的な部分があったら教えてください。
目的
- Ren’Pyで作成したゲームをビルドする際に確認する内容をメモしておく
やること
動作確認をする
バグがないか・テストのために変更したフラグが残っていないかなどの確認をする。
実装しているすべての言語ですべてのルートを通過するのが理想。
言語設定を確認する
※起動時に言語選択設定がある人や、デフォルト言語設定に興味がない人は無視して良い手順
define config.default_language = "english" #言語設定を英語に変更
デフォルトの言語設定が英語になっていることを確認する。
言語設定を日本語にしたい時は該当の記述は削除して良い。
参考ドキュメントは翻訳の既定の言語
config.languageに値を設定した場合は、メインメニューに戻るたびに設定した言語に強制的に戻されるのでセットしないようにしましょう!(自戒
アーカイブ化の設定を追加する
アーカイブ化とは?
ゲームを配布する際の画像や音楽ファイルをまとめる処理(たぶん
これをすると画像や音楽ファイルを外部から確認しにくくなる。
参考ドキュメントは配布物のビルドのアーカイブ
Ren’Pyのデフォルトファイルをそのままビルドすると、以下のように画像・テキストファイル・音楽・フォントなどがユーザーに全て見える状態になる。
↑こんな
その状態でゲームを配信サイトにアップロードすると、ゲーム内容のネタバレをしていたり知らないうちに再配布禁止の素材を再配布したりしている可能性があるので、そのような意図がない限りはアーカイブ化をした方がいいような気がします。
アーカイブ化の設定
gameファイル直下のpng・jpgファイルをアーカイブしたい場合はoption.rpyのビルド設定(160行目くらい)の以下の項目のコメントアウトを外す
## アーカイブ(書庫化・暗号化)したいファイルは 'archive'(または任意の文字
## 列)に分類します。
- # build.classify('game/**.png', 'archive')
- # build.classify('game/**.jpg', 'archive')
+ build.classify('game/**.png', 'archive')
+ build.classify('game/**.jpg', 'archive')
画像をキャラクターごとにフォルダを分けている/フォント・音楽もアーカイブしたい時はそれぞれに合わせた設定を同様の書き方で追加する。
私の場合は以下の設定でした。
build.classify('game/**.png', 'archive') ### png画像
build.classify('game/images/**.png', 'archive') ### game/images直下のpng画像
build.classify('game/images/yuri/**.png', 'archive') ### game/images/yuri直下のpng画像
build.classify('game/images/bg/**.png', 'archive') ### game/images/bg直下のpng画像
build.classify("game/**.rpy", "archive") ### rpyファイル
build.classify("game/**.rpyc", "archive") ### rpycファイル
build.classify("game/audio/**.mp3", "archive") ### game/audio直下のmp3の音楽ファイル
build.classify("game/audio/**.ogg", "archive") ### game/audio直下のoggの音楽ファイル
build.classify("game/**.mp3", "archive") ### mp3の音楽ファイル
build.classify("game/**.ttc", "archive") ### ttcのフォントファイル
build.classify("game/**.ttf", "archive") ### ttfのフォントファイル
アーカイブ化する際にもそれぞれ音楽ファイルは音楽ファイルにまとめた方が良いらしいけど、今はよくわからないので全部archiveに突っ込んでいる。
参考URLは以下
Ren'Py memo ビルド設定
非プログラマのRen'Pyメモ:ビルド(パッケージング)の基本とポイント
gameフォルダ直下がこんな感じでスッキリしたらアーカイブ化成功
※presplash_*.pngはアーカイブ化されないらしいです。Ren'Py memo 読み込み中のバーを表示する(PC版のみ)
まとめ
とりあえずあとはランチャーでビルドすれば大丈夫です。
のちのちやらないといけないことに気付いた場合は加筆していきます。