Ren'Py

Ren'Py(レンパイ)とは



Ren'Pyは、ビジュアルノベルの制作を支援するフリーでオープンソースのゲームエンジンです。特に英語圏で人気が高く、数多くのゲームが制作されています。その名前は「恋愛」ゲームと、開発言語であるPythonに由来します。2012年3月には日本語公式サイトも開設され、日本語での情報も入手しやすくなりました。

Ren'Pyの特徴



Ren'Pyには、ビジュアルノベルに必要な多くの機能が搭載されています。例えば、ストーリーの分岐、セーブ・ロード機能、場面の巻き戻し、様々なトランジション効果などが利用可能です。スクリプトは脚本のような形式で記述でき、Pythonコードを埋め込むことで機能拡張も行えます。また、著作権侵害を防ぐためのスクリプトの難読化やアーカイブ機能も備わっています。

エンジンの主要部分はPythonで記述されていますが、レンダリングなどの処理にはCythonやCも使用されています。スクリプトの解析は一貫してPythonで行われ、実行前にコンパイルされます。スクリプト内にPythonコードを記述できる一方で、画像やアニメーションの記述にはATL(Animation and Transformation Language)が使われ、可読性の高いコードが書けるよう工夫されています。

ソフトウェアライセンス



Ren'PyはMITライセンスで提供されており、フリーかつオープンソースです。このライセンスは比較的緩やかで、プロプライエタリな作品での利用や商用利用も制限されません。

言語対応



Ren'Pyには多言語対応機能が組み込まれており、1つのゲームを複数の言語に翻訳できます。一般的なソフトウェアで使われるgettextの代わりに、ビジュアルノベルに特化した独自のフレームワークが採用されています。言語の切り替えはユーザーの選択によって行われます。また、表示に必要なフォントもSDKに同梱されているほか、作者が独自のフォントを配布することも可能です。

OpenGLによるレンダリング



画像の変換処理(回転、移動、拡大など)にはOpenGLが利用されており、高速な描画を実現しています。ただし、3D表現には対応していません。

Pythonによる拡張



ゲームスクリプトにPythonコードを記述できるため、フラグ管理や画面効果の実装など、高度な処理をPythonで記述できます。開発者はゲームのロジックに集中でき、ポインタ操作や型付けのような作業から解放されます。

動作環境



Ren'PyはPythonPygameで作られており、Android、iOS、Linux、macOS、Windowsに対応しています。また、主要なLinuxディストリビューションのリポジトリにも登録されています。

文法



Ren'Pyのコードは、Pythonと同様にインデントが文法的な意味を持ちます。これは、Ren'PyのコードがPythonコードを含むためです。

以下は最も簡単なRen'Pyのコード例です。

renpy
e "Ren'Pyのゲームへようこそ"


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

Ren'Pyにはキャラクターオブジェクトという概念があり、話し手の名前やウィンドウスタイルを切り替えることができます。

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


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

スクリプトにはPythonステートメントを記述でき、Pythonのコードを実行できます。

renpy
python:
x = 10
y = 20
z = x + y
print("zの値は", z)


その他の言語仕様については、公式ドキュメントのLanguage Basicsやクイックスタートマニュアルを参照してください。

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



Corpse Party D2: Zero Hope
Date Warp
Digital: A Love Story
Analogue: A Hate Story
Don't take it personally, babe, it just ain't your story
Jisei
Kansei
籠の街
かたわ少女
RE: Alistair
Summer Session
ドキドキ文芸部!

脚注



[注釈]

出典



関連項目



NScripter
吉里吉里2
ビジュアルノベル
恋愛ゲーム

外部リンク



公式ウェブサイト
Ren'Py Documentation (日本語)
Ren'Py Games List
renpy - GitHub

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。