Ren'Py memo

Ren'Pyの個人的なメモ

画像・フォントの軽量化

画像の軽量化

どんな画像を軽くしたほうがいい?

狙い目は背景画像とか立ち絵のベースとか純粋に大きさを占めるものですね。
5KB以下のパーツ部分とか小さめUI画像はそんな影響なさげ(やってもよいとは思う)

とりあえずサイズの大きさ順に並べてって軽くしてみるのがいいんじゃないですかね!

あとこの画像いらんけど消すとエラーが爆起きしたりする系エンジンは
1px1pxにリサイズして保存という荒業とかもやっていいかも……へへ……(前やった

WebPが使えるゲームエンジンだったら(最近はほぼ全部使えそうな気もする)
是非大きめの画像だけでも採用するとよいと思います!軽くなるかも!!

画像軽量化ツール

tinypng.com

有名パンダ。実はjpgも軽量化できるよ!!!!!!!!
一括で軽量化できる画像は20個まで。多くなるとzipでだしてくれるよ

squoosh.app

googleがやってる画像圧縮ツール。WebP・Lossless圧縮でよく使う。
一括は無理だけど圧縮前後がわかりやすく把握できる。

フォントの軽量化

ライセンスの確認

・ライセンスに気を付ける
・ライセンスに気を付ける
・ライセンスに気を付ける

この3つをこなせばフォントの軽量化は楽勝です!!

いや……わからんし……ってなったら、
https://web-font-search.com/web-font-search.com
fonts.google.com
23/12/21 おすすめのサイト消えてたので代替物のサイトを挟みました!
👆 ここで探そう。でもライセンスはしっかり読もう(矛盾)

ゲームに使う時はとりあえず
商用利用可・再配布可ゲーム埋め込み可・加工可・著作権表記の有無
を確認しよう!しっかり確認しよう!!これは自分にも言い聞かせています……

Ren'Pyで出来る!たのしいフォント軽量化作業

1.台詞の抽出を行う

まず先立つものがなければっていうか表示する文字がわからなければ
サブセット化(使う文字だけ抜き出すこと)はできません。

ゲームってこういう時めんどいんですよねタグとかいっぱいあるし……
いや……私がシナリオファイル直書き勢だからかもしれませんが……

でもRen'Pyならランチャーに使った文字だけ抜き出してくれる機能あるぜ!!
でも時折抜き出しされてないことがあります。大体は""単体とかで括ってるせい。

if persistent.op == True and not persistent.opskip and not persistent.kidou2:
        $ persistent.kidou2 = True;
        call screen confirm(message=_("OPスキップが解放されました!\nONにしますか?\n(* 後から変更することも可能です *)"), yes_action=Jump("op_on"), no_action=Return())


こういう時は飛ばされてる箇所に_( )をくくると抜き出してくれるようになります。
👆こんな感じで。_()はこの文章は翻訳に使うからスキャンしてねという指示です。

それで抜き出した文字がdialogue.txtにつっこまれます。
でも重複文字がいっぱいあって邪魔ですね。

2.重複した文字の削除

tools.ikunaga.net

このツールがめっちゃめちゃめちゃめちゃめちゃ便利 神
こちらでさくっと重複文字を消します。削除した%も出てウキウキ。

3.使用文字のみでフォントを再生成

opentype.jp

そしてこちらでサブセット化!特にいうことなし!!!!!