Ren'Pyとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Ren'Pyの意味・解説 

Ren'Py

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/10/22 19:17 UTC 版)

Ren'Py
Ren'Pyによって作られたシーンの例
作者 PyTom
初版 2004年8月24日(12年前) (2004-08-24
最新版 6.99.10 - 2016年3月24日(6か月前) (2016-03-24[1][±]
プログラミング言語 Python, Cython, C
対応OS AndroidiOSLinuxMac OS XWindows
対応言語 任意の言語(UTF-8)
サポート状況 開発中
種別 ゲームエンジン (ビジュアルノベル)
ライセンス MITライセンス (部分的にLGPLなどを含む[2])
公式サイト www.renpy.org
テンプレートを表示

Ren'Py(レンパイ)は、ビジュアルノベルの制作を容易にするフリーソフトウェアエンジンである。NScripterのような他の有名なビジュアルノベルエンジンとは異なり、Ren'Pyは英語圏で多く用いられており、300以上のゲームが英語で製作されている[3]。Ren'Pyの名前は、「恋愛」ゲームと、エンジンの開発言語であるPythonに由来している。2012年3月より、日本語のサイトが開設された。

特徴

Ren'Pyには、多くのビジュアルノベルで必要とされる機能が含まれており、ストーリーの分岐、ゲームのセーブやロード、前の場面へのロールバック、様々なトランジションなどがある。Ren'Pyのスクリプトは脚本に似た構文で書かれ、追加的にPythonコードのブロックを含めることで独自の拡張機能を実装できる。さらに、ゲームの配布においてスクリプトを難読化・アーカイブすることで著作権侵害を軽減させるためのツールが含まれている。

ゲームエンジンは主にPythonで書かれているが、レンダリング処理などはCythonとCで書かれている。スクリプトの解析などは一貫してPythonが使われており、スクリプトはゲームの実行前にコンパイル済みのコードに変換される。スクリプト中にはPythonのコードを埋め込むことができる一方で、画像の描画やアニメーションの記述に用いられるATL(Animation and Transformation Language)は英語の構文に似ており、スクリプトの可読性が高い。

国際化対応

Ren'Pyに含まれている機能を用いることで、1つのゲームを多言語に翻訳することができる。より一般的なソフトウェアではgettextなどが用いられるが、Ren'Pyではビジュアルノベルに適した独自のフレームワークに基づいて設計されており、ユーザーの選択によって言語が切り替わる。

OpenGLによるレンダリング

画像の変換操作(回転・移動・拡大等)にはOpenGLを利用しており、描画の高速化を図っている。一方で、三次元効果には対応していない。

Pythonによる拡張

ゲームスクリプト中にはPythonのコードを記述できる。ゲームの開発者は、ストーリーの分岐に欠かせないフラグの管理をPythonのコードとして記述する他、Ren'Pyに含まれていない画面効果などを実装できる。プログラムの記述に一貫してPythonを用いることで、ゲーム開発者はポインター操作や変数の型付けといった、ゲームストーリーの製作とは直接関係ないことに割く時間を減らすことができる。

動作環境

Ren'PyはPythonPygameによって作られており、公式にAndroidiOSLinuxMac OS XWindowsでの動作がサポートされている。また、Arch LinuxUbuntuDebianGentooのリポジトリに取り込まれている。

文法

Ren'Pyのコードは、その開発言語のPythonと同じように、字下げレベルが文法的意味を持っている。この理由の一つは、Ren'PyのコードがPythonのコードを含むからである。以下に、最も簡単なRen'Pyのコードを示す。

label start:
    "エイリーン" "Ren'Pyのゲームへようこそ"

上記のコードは、画面下の会話ウィンドウに、話し手として「エイリーン」を、話す内容として「Ren'Pyのゲームへようこそ」を表示する。

Ren'Pyの特徴の一つにキャラクターオブジェクトが存在する。キャラクターオブジェクトは内部的には関数として機能し、話し手の名前やウィンドウスタイルの状態などはキャラクターオブジェクトによって切り替える。

define e = Character("エイリーン", color="#0f0", kind=nvl)
label start:
    e "Ren'Pyのゲームへようこそ"

上記のコードは、NVLウィンドウ上にキャラクター名を緑色で描画する。

スクリプト中にはpythonステートメントを含めることができ、この内部では任意のPythonのコードを実行できる。次に、Pythonのコードを含む例を示す。

label start:
    "エイリーン" "Pythonコードを実行します。"
    python:
        some_function() # 任意のPythonコード
    "エイリーン" "実行しました。"

その他の言語仕様については、Language Basicsクイックスタートマニュアル で説明されている。

Ren'Pyで作られたゲームの例

関連項目

外部リンク

脚注




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Ren'Py」の関連用語

Ren'Pyのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Ren'Pyのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのRen'Py (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS