Nyaatrap

アダルト百合ゲー開発ブログ。一部記事は18歳未満閲覧禁止です。

Home どれぱら デーモンマスタークリス 商用ゲーム フリーゲーム

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Ren'Py 6.99.12

Ren'Py 6.99.12 がリリースされました。
もともと 6.99.11 がリリースされた時点でこの記事を書こうかと思ってたんですが、その時は翻訳機能に問題があって推奨できないので見送ってました。
それなので、この記事は .11 と .12 の両方の変更に言及します。

そもそもバージョンが分かリにくいんですが、 Ren'Py はメジャーアップデートとかマイナーアップデートの差がバージョンの桁数に反映されてません。結構ランダムですので、バージョンアップごと全く違ってたりバグフィクスだったりします。
それでも最近の .11 と .12 は変更が大きくて、現状日本語で検索できる範囲を遥かに超えているので、そこんとこを説明したいと思います。

まず一つ目。 macOS Sierra で動くようになります。過去の Ren'Py ゲームは Sierra では動きません。(全く面倒なことしてくれたもんですね) それでも大抵のゲームは最新の Ren'Py SDK をダウンロードして、それ経由で起動すれば動きます。ただし私の過去作は改変しすぎたので対応できません。諦めてください。

それともう一つ、こちらが一番大きな変更ですが、最新のバージョンでは GUI が根本的に変わります。古い GUI も選べるんですが、多分今後公式サポートはありません。

新GUIの方の利点として以下があります。
・見た目がモダン
・履歴機能などの最新機能が標準で実装されます
・モバイルバージョンにした時、自動的に GUI が修正されます
・初心者用の gui.rpy と中級者以上向けの screens.rpy に分かれており、開発者のレベルによってカスタマイズの範囲が選択できます。
・内部で隠されて定義されていたスタイルが gui.rpy で浮上化しているため、上級者にはカスタマイズが楽になっています。
・カスタマイズの初心者向けガイドが公式ドキュメントに追加されてます。それ以外が更新されてなかったりして全体としての微妙さは変わりませんが。それに残念ながら、最近の変更に対する日本訳はありません。
・新GUIの方がちょっとマシな日本語訳になってると思います。(旧GUIも私が書いたんですが、ちょっと微妙だった気がします。)

欠点としては以下があります。
・日本語での情報が皆無。英語でも公式フォーラムの最新スレッド以外に情報がなく、検索ではまずヒットしない。
・内部で定義されていた情報も書かれているので、情報量が多くて把握するのに時間がかかる。
・古いコードが動かない。古いとはいえ検索ではこれらの方が上位に表示されるので、どれが動かないか知るのが非常に困難。

暇があればチュートリアルでも書くかもしれません。期待せずに待っててください。


Github はじめました。

もともとは Ren'py の翻訳のために始めたんですが、コードを公開するのにブログより遥かに便利なので Ren'Py に関してはこちらで公開してくことにしました。
元々ここのブログの仕様上 Python 系のコード打つの面倒くさいし、さらにパスワードの設定とか広告とかほんと面倒くさいことばかりですし。
Ren'Py 本体の翻訳は次の 6.99.12 から使えるようになります。公開されたらまた詳しく記事を書きます。

Ren'Py の公式日本語翻訳はこちら: https://github.com/nyaatrap/renpy

Ren'Py に関するお役立ちファイルとかはこちら: https://github.com/nyaatrap/renpy-utilities

誤訳やエラーの報告はこのブログかそれぞれの github の issues でお願いします。

Ren'py でフォントを組み合わせて表示する

Ren'py の日本語のテンプレートは、アンドロイド等で標準のモトヤシーダ等幅フォントが使われています。
ですが、これは等幅なので半角英数が等幅になって、まともに表示されません。
そこで半角英数だけ違うフォントにしたい時、FontGroup というクラスを使えば、フォントを指定した範囲のユニコードで区切って、組み合わせることができます。
FontGroup を使う場合は、FontGroup のクラスに、置換したいテーブルのフォントを先に add で追加して、最後に一番範囲が広いフォントを add で追加します。
例えば、ラテン基本文字の範囲は 0x0020~0x007f (フランス語などの文字も含めたければ 0x0020~0x00ff)なので、以下の様なコードで、ラテン文字部分を日本語のモトヤシーダ等幅(MTLcm.ttf)から、Ren'pyのデフォルトフォント(DejaVuSans.ttf)に置き換えることができます。
style default:
font = FontGroup().add("DejaVuSans.ttf", 0x0020, 0x007f).add("MTLc3m.ttf", 0x0000, 0xffff)

カナ部分を置き換えてアンチック体を作ることもできます。カナ部分は0x3040~0x30ffになるので、
style default:
font = FontGroup().add("mincho.ttf", 0x3040, 0x30ff).add("MTLc3m.ttf", 0x0000, 0xffff)

Ren'py で Spritesheet と Spreadsheet を使って Tilemap を表示する

Ren'py Tilemap (http://nyaatrap.blog.fc2.com/blog-entry-110.html) の応用技です。タイルマップはプログラムにガシガシ書きこんだりせず、 Tile Map Editer などのGUIツールで作成したデータをインポートするほうが効果的です。そのためのコードを書きました。
コードは続きから。
続きを読む

Ren'py に大量の easing を追加するプラグイン

(本コードは 6.99.8 に統合されましたので、本記事は不要です)
JavaScript や ActionAcript には、 Robert Penner 氏が考案した大量の easing を追加するプラグインがあり、頻繁に使われています。これを Ren'py の ATL に移植しました。以下のコードを 000warpers.rpy (ファイル名の頭に000をつけて、他のファイルより先に実行されるようにする必要があります。) という名で保存して game フォルダに保存すると、ATL に以下の warper が追加されます。

easein_quad, easeout_quad, ease_quad
easein_cubic, easeout_cubic, ease_cubic
easein_quart, easeout_quart, ease_quart
easein_quint, easeout_quint, ease_quint
easein_expo, easeout_expo, ease_expo
easein_circ, easeout_circ, ease_circ
easein_back, easeout_back, ease_back
easein_elastic, easeout_elastic, ease_elastic
easein_bounce, easeout_bounce, ease_bounce

ただし、Ren'py では、JavaScript などで一般的に使われているものとは -in と -out が逆になっています。また、 easinout は ease となっています。
Robert Penner 氏のコードは非常に冗長だったため、同じ計算式を別の形に書き直しました。
コードは続きから 続きを読む
次のページ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。