Ren’Py紹介

Ren’Pyをいじってみた感想

筆者はRen’Pyと吉里吉里しか知らないのですべて吉里吉里と比較した評価になります。

良い点

  • Pythonが使えます。Pythonはエンジンの独自言語ではなく、広く使用されている汎用言語です。これの何が利点かといいますと
    • 言語機能が多機能かつコードが見やすい。
    • 本体も大部分はPythonで書かれており、コンパイル不要のスクリプト言語なのでエンジンのコードを簡単に開発者が変更できます。
    • 広く使われている言語だけありライブラリがなんでもあります
    • 書籍その他の情報が豊富です
    • Ren’Py 以外にも使えます。特にPythonはそこら中で使用されており、エクセルやSolidWorks等色々なソフトと連携できるので覚えておくと無駄になりません。
    • Pythonかじっているぞと履歴書に書けます(?)
  • エフェクトもグラフィック分野では汎用的なGLSLで書けます。そこまで必要な場面は少ないでしょうが、”GLSL エフェクト名”で検索すると大抵のエフェクトはコードつきで出てくるのでRen’Pyに移植して色々できます。
  • 整理された設計で改造が楽です。Ren’Pyのコードを読んで文法書のみでは得心しなかったオブジェクト思考の利点を体感しました。また、元からたいていの機能が付いているのであまりカスタマイズの必要がないです。最近のゲームによくある機能はほとんど搭載済みです。
  • ユーザーインターフェースの作成がとても楽です。吉里吉里使用時に設定画面等の作成に苦戦した記憶がありますが、Ren’PyにはScreen 言語とスタイルというインターフェース記述用の書式があります(ほぼHTMLとCSS みたいなものです)。これらでUI(Ren’Pyではスクリーンと呼んでいます)を作成できます。
  • 動きのある演出をAfter Effectのような動画編集ソフトの考え方で記述できるATLという演出記述用の書式があり、複雑な動作もシンプルかつ可読性高く記述できます。詳しくはこちらで紹介されています。さらにGUIから動画編集ソフトライクに動的演出を作成するライブラリもつくりました(チュートリアルプレイリスト )。時間軸に沿った演出をGUIから作成できるのでアニメーションの作りやすさではかなり優秀なエンジンと呼べるでしょう。
  • 最近はオートリロードなるものが実装されました。これは使用しているスクリプトファイルの更新を感知して自動でリロードして元の位置から再開してくれる機能です。これとロールバックのおかげで変更後すぐに該当シーンを巻き戻して何度もプレイしてデバッグできます。
  • 設定すればエンジン付属のエディタではなくユーザーのエディタで、現在のゲーム位置の行でエディタを開いたり、逆にエディタの現在の行にゲームをジャンプしたりできます。付属でないお気に入りのエディタを使用できます。
  • ロールバックという巻き戻しのような機能が標準で付属しており、開発時にも行ったり来たりが気軽にできます
  • 吉里吉里ほど大量のタグを持っておらず、基本使用の命令文は少ないです。しばらく使っていなくても結構使い方を覚えています。
  • 文法がシンプルで可読性が高いです。マクロを最大限活用すると吉里吉里の方がきれいにできる気もしますが、マクロを活用するノウハウはあまり共有されておらず、マクロを多用すると同じエンジンのはずがサークルごとに文法が違うようなものになってしまいます。
  • 開発が盛んで欠点がどんどん減っていきます。20年以上続く日刊Ren’Py
  • Win,Linux,Mac,Android, iOSで動作します。Web版も開発中。その他Amazon Fire TV とか OUYA とかマニアックな環境に対応していたりします。 luaで動くPSP互換エンジンやswitch版も一応存在する。吉里吉里にも互換エンジンは存在するが、タグの互換まででTJSまでの互換性があるものはなかったはず。
  • 元がpygame(現在はpygame_sdl2)なのでアクションゲームも作れなくはないです。ネット上に大量にあるpygameのコードを利用できると考えれば作りやすい方かもしれません。Renpygameという、pygameのコードをRen’Pyで実行するプロジェクトも開発中ですがあります。pygameでどの程度のゲームを作れるかは、pygameのサイトからゲームを落としてくるか、steamあたりで探してみてください。3Dゲーム作っている人もおられ、こんなのRPG用のエンジンもあります。springという3Dゲームエンジンとも連携させた人もいました。ちなみにRen’Pyはデフォルトのpygameより早いそうです。デフォルトのpygameがCPUで描画しているのに対し、Ren’PyではGPUを利用している他、様々な最適化をしているとか。pythonに詳しい人がpygameを最適化していくと同じくらいの早さになるのかなと思いますが、機能が揃っている分ノベルゲーム以外も素のpygameよりRen’Pyで作成した方が手軽かもしれません。
  • オープンソースなので、技術のある人は欲しい機能があれば自分で作ってpull requestできる。
  • 通常のスキップの他、次の選択肢または未読まで高速スキップ(ほぼ瞬間移動)がデフォルトで実装されています。周回するゲームだとあるとないとでストレスが大違いです。
  • 英語圏のソフトですが現在のバージョンでは禁則処理もルビも縦書きも対応しています。v6.99からは日本語入力も出来るようになりました。マニュアルもほぼ100%が翻訳済みです。
  • 非常にぶあつい網羅的なドキュメントがあります。序盤以外はプログラマ向けに書いている節があり、非プログラマにはとっつきづらいかもしれませんが自身の思い通りに細かく動作をカスタマイズしたいとか考え始めるとこれくらい何でも書いているドキュメントの方がありがたいと感じました。
  • steamで多様されていることから多言語化機能、実績、ストア課金システムまで備えています。
  • まさかのユニバーサルデザイン。視覚障害者向けに機械合成でのボイス機能とかハイコントラスト表示とかノベルゲームエンジンにこの手の概念を取り入れる発想はなかったです

悪い点

  • 画面に表示する文字はすべてダブルクォートで囲まなくてはいけない。そのままやると面倒臭いので、何かしら対策したくなるでしょう。
    (ダブルクォートを使わずに台詞を表示する方法)。
  • NVLモード(画面全体に文字を表示するモード, サウンドノベル風)では明示的に改ページしないと文字がはみ出てしまうので注意が必要です。自動改頁スクリプトについて
  • adv(普通のADV)モードでも文字が収まりきらないとメッセージウィンドウのサイズの方が変わる(現行のバージョンではウィンドウサイズはそのままにはみ出ます)。正直エラーにしてくれた方がいいありがた迷惑。これらは共にデバッグ時にはちゃんと報告してくれます。
  • GUIがない->作った ActionEditor3
  • やはり英語が出来た方が情報量は増えます。これくらの英語はこの機会に慣れ親しみましょう。
  • オープンソースなのでクラッカーに弱いです。暗号化は簡易的なもので復号ソフトはすでにあります。もっと強固にしたいならば、外部の暗号化ソフトなりサービスなり探せば多分あります。しかし、どのエンジンも復号ソフトはありますし、クラッカーにはどうあがいても勝てないのでこの方向にこだわるのは不毛かと思います
  • Web版はIOSで動作しない。Safariのバグの問題のようです。iOSでは一見色々なブラウザが使えるように見えて、中身は全部Safariらしいですね。Appleさん厳しすぎ。対応できるかはAppleさん次第です。この部分に他のエンジンも苦労しているようです。
  • IMEに対応していないので日本語入力が出来ない。(次期バージョンで対応予定) v6.99でWindow, Macでの日本語入力に対応しましたが、Linux, iOS, Android, ブラウザでは入力できません。v7.7.3でLinux, ブラウザ版で動作すること確認しました。iOSも動くとのことです。Ren’Py上で動作する簡単な日本語IMEを作成しました(JpInput)。意味解析はしないので単語のみですが、登場人物名とかの入力をする分には十分だと考えます。
  • 通常の履歴代わりにロールバックというビデオの巻き戻しのような特殊なものを採用している。これはこれで便利なのだが戸惑う人も多いよう。通常のテキスト履歴も外部スクリプトで使用可能。 ->現在のバージョンでは通常の履歴も付属しています。
  • ドキュメントはほぼ英語、しかし情報は大体公式サイトに集約されているので調べるのは楽なのは救い。(ほぼ翻訳完了しました。)
  • iphone,ipadで動かない。技術的というよりライセンス的な問題らしい
    (作者は脱獄した機体でなら動作するように開発中とか,後有志の方が普通のiosでも動作するようにRen’iosを開発中らしい、このへんの経緯はよくわからないけど需要があるからそのうち動くようになると思われる。 14/10/18 作者ついに開発開始したみたい。次期バージョンで対応予定) v6.99で対応
  • android版の方もまだまだ開発途中な感じ、ムービーが動かないのはともかくdissolve(トランジションのこと)ができないのは致命的改善されました。
  • タイトル画面でオートセーブされたり、スクリーンショットにメニューが写っていたり、違和感を覚える部分がいくつかありましたが修正コードを本家に送ったのですぐ直ると思います。修正されました。
Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です