ブログ内でのノベルゲーム制作に両足突っ込んで足湯することになったのでゲームエンジンについて調べることに。
吉里吉里やティラノスクリプトも候補にあったが、自分はPythonなら書けるのと環境がLinuxであるということでRen’Pyが最有力となった。
このエンジンを用いたノベルゲームの代表作のひとつはDoki Doki Literature Club (DDLC)。このゲームで表現できることなら何でも出来るはず。
今回は備忘録を兼ねて導入方法と所見を書くことにした。
ダウンロード
こちらからダウンロードできる。
Linux環境では実行権限周りがややこしい。一通りのファイルに実行権限を付与した。
chmod -R +x launcher renpy gui lib module renpy.py renpy.sh
パッケージマネージャからも導入できるが、各プラットフォームに対応したパッケージ化を見据えるとお薦めできない。ビルド用の追加パッケージは自動でダウンロードされるが、システムフォルダ下だと管理者権限を要してしまう。
sudo pacman -S renpy
日本語化
Preferences(設定)から変更するだけ。めちゃ簡単。
加えて中華アプリによく見られる自動翻訳っぽさがないのも高印象。
テキストエディタ
Atomエディタが推奨されているが、比較的使い慣れているVSCodeのOSS版を使うことにした。
“Ren’Py Language”という拡張機能があり、.rpyファイルのシンタックスハイライトやスニペット機能が提供されているため現状で不便なところは見当たらない。
ただし、Ren’Py Launcherの設定からはAtom, Edhitra, jEditしか指定できないため、.rpyファイルの規定エディタにVSCodeを登録する必要がある。
ドキュメント
完全に日本語に翻訳されたドキュメントが存在する。とっつきやすそう。
また、実行環境であるRen’Py LauncherにTutorialプロジェクトが用意されているため、Ren’Pyの機能を動かしながら学ぶことができる。
ただ、動画形式のチュートリアルが少ないのが難点か。
こちらのブログがとても参考になる。プラグインも多数提供されている。
スクリプト
スクリプトはgame/script.rpy
に記述する。テキストの他に画像や音楽等の操作、トランジェクションもここで行う。ラベル単位でのジャンプも可能だ。
仕様上全ての.rpyファイルが読み込まれるため、ファイルを分割する際に明示的なimport宣言をする必要はないらしい。
しかし、どのファイルに移動するか分かりづらくなるため、ファイル名はラベル名と一致させた方が良さそう。
画像は変数で登録して用いるのではなく、用途別に定められたファイル名にすることで利用できるのが印象的。(side A.png
とかbg office.png
とか)
Ren’Py Launcherのアクション
Ren’Py Launcherはプロジェクトの起動/デバッグの他にも翻訳生成や台詞抽出の機能がある。比較的容易に多言語対応できるらしい。
DDLCが日本で流行ったのもRen’Pyの移植性の高さに起因しているのかもしれない。
ビルド
Windows / Macintosh / Linux / Android / iOS / Webに対応している。全部じゃねえか。控えめに言って神機能。
game/options.rpy
を以下のように編集すれば、指定ファイルのアーカイブもできるらしい。デフォルトでは画像や音楽, スクリプトが秘匿されていないことに注意。
# スクリプトファイル build.classify('game/**.rpy', 'archive') # 画像ファイル build.classify('game/**.png', 'archive') build.classify('game/**.jpg', 'archive') build.classify('game/**.jpeg', 'archive') # 音声ファイル build.classify('game/**.mp3', 'archive') build.classify('game/**.wav', 'archive')
あとがき
一通りの機能を調べてみたら、より興味を持ってしまった。
PC向けであればDDLCのような面白い実装もできそうだ。筆者に技術がないけれど。
UIの装飾やアニメーションに関しては無知なので追々調べていこうと思う。
続き
コメント