3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ren'Pyの日本語記事が少ないからまとめてみた(初心者編)

Last updated at Posted at 2021-08-17

はじめに

一年くらい前に、Ren'pyでゲームを作ろうとしたことがあるんですが、そのとき、めっちゃ日本語の情報が少なくて、死にそうになったので、いまからRen'pyを始めようと思った人のために、コードの書き方をまとめていこうと思います。

追記:中級者編書きました。ぜひ見てね!


このまとめを見てもほしい情報が乗ってなかったり、意味わからんわってなった時は、Ren'pyドキュメントを見てみてください。Ren'py公式の情報なので、ほしい情報が載ってる場合が多いです。

1. キャラクターの定義

ゲームで出てくるキャラクターに、いちいちセリフごとに
「この名前で、この色で、この文を表示して・・・・」
なんてやってたら、ちょっとした会話を書くだけで日が暮れちゃう。
なので、Ren'pyでは、キャラクターを定義することができます。

define ta = Character('太郎', color="#ff69b4")

こんな感じ。
この文を、ゲームのstartラベル1より前に記述することで、セリフを設定した人に言わせることができます。(セリフの言わせ方は、もっと後に説明します。)

上のプログラムの、「ta」と「太郎」と「#ff69b4」は、好きな文字に変えることができます。

define 〇〇 = Character('好きな名前', color="色コード")

〇〇のところは半角英字(何文字でも可)で、好きな名前のところは表示したい名前で、色コードは、 Web色見本 の中から選ぶといいです。

2. 背景画像の表示

背景画像は、Ren'py Launcherを開き、Ren'Py Launcher 2021_08_16 13_40_33.png
「images」をクリックして、出てきたところに入れます。
画像の大きさのおすすめは1200×800です。(ゲームを作った時設定した解像度と同じ)

scene ribing

コードは、こんな感じで書きます。
これはstartラベル1より後に書きます。(これから下に出てくるやつも、基本的にはそうです。)
ribingのところは変えても構いません。入れた画像のファイル名を拡張子を除いて書くことで、Ren'pyが読み込んでくれます。
ところが、実際にやってみると、何も表示されません。
「何だよ!嘘書いてんじゃねえよ!」と思われるかもしれませんが、実は、背景画像を変えるには、あるコードが必要なのです。

with dissolve

その名も、「トランジョン」
コードは、このように書きます。
書き忘れ選手権大会があったら堂々の一位を取るであろうこいつ、キャラクター画像の表示&非表示、背景画像を表示したいときにそのコードの下の行に記述します。

実際やってみると、

scene ribing
with dissolve

こんな感じ。

実は、トランジョンにはいろんな種類があるんですが、そのことについてはまた別の記事で。(気が向いたら書く)
とりあえず、こいつが一番良く使うので、こいつだけ覚えとけば大体なんとかなります。

3. 立ち絵の表示&非表示

立ち絵の表示がしたいなら、

show taro-smile

こんな感じで書きます。
立ち絵画像は、背景と同じフォルダに入れます。
画像を入れたら背景と同じで拡張子を除いたファイル名をtaro-smileの所に書けば、表示されます。
立ち絵の位置は、右、中央、左から選ぶことができます。
実際に書いてみると、

show taro-smile at right
show taro-smile at center
show taro-smile at left

みたいになります。(上から、右、中央、左)
これを省略すると、勝手にcenter(中央)が選ばれます。

立ち絵は、場面を切り替える2と、消えてしまいます。また、同じ所にもう一個表示すると、立ち絵が重なってしまうので注意してください。


立ち絵を隠したいとき、

hide taro-smile

みたいに書きます。これも、taro-smileのところは自分が隠したい立ち絵の名前を書いてください。
ここに、leftやrightなどの位置の指定のためのやつを書く必要はありません。

ちなみに、キャラクターの表示&非表示は、with dessolve を書かずとも、セリフが始まると勝手に適用されます。(混乱するので使用はお勧めしません。)

4. セリフの表示

やっとセリフを言わせられる!

ta "こんにちは!"

コードはこのように書きます。
ここは結構簡単で、taのところは①で定義したキャラクターの英字で書いた部分、「“」(ダブルクオーテーション)で囲まれたところは喋らせたいセリフを書くことで、喋らせられます。
ちなみに、何も前に書かず「“」(ダブルクオーテーション)で囲んだ場合、

"こんにちは!"

名前無しで喋らせられます。ナレーターとかで使えます。

5. 音を鳴らす

play music "audio/BGM.ogg"

音楽を鳴らしたいなら、このように記述します。BGM.oggのところは、拡張子を入れた好きなファイル名に変えて構いません。ただし、「audio/」の部分はそのままにしてください。
音楽ファイルは、audioフォルダに入れてください。
元がPythonなので、大体どんな音楽ファイルでも対応してます。


stop music

play musicで音を鳴らすと、音楽はループします。それを止めるためには、このように記述します。
ちなみに、「fadeout」というエフェクトが使えます。これはだんだん音が消えていくオプションで、

stop music fadeout 1.0

このように書きます。この1.0のところは好きな秒数に変えることができます。


play sound "audio/ドッカーン.ogg"

SE(効果音)を鳴らしたいとき、このように記述します。これを実行すると、音は1回しか再生されません。

6. 一時停止、ゲーム終了

pause

このように記述すると、プレイヤーがクリックするまでゲームを一時停止することができます。

pause 3.0

このようにすると、最後に書いた秒数分だけゲームを一時停止できます。3.0の部分は、好きな秒数に変えても構いません。
一時停止とは言っても、その間ゲームのデータをセーブしたりもできるので、実際はセリフを止めるといったほうが近いかもしれないです。

return

このように記述すると、ゲームをタイトル画面に戻すことができます。
ゲームオーバー、ゲームクリアの時にpauseと合わせて使うといいです。

今回紹介したコード

結局どんな風に書きゃいいの?ってなる人もいると思うので、今回紹介したことをまとめたコードを書いておきます。
このままscript.rpyに書いても、画像と音楽がなくて動きませんので、ただの参考程度にしておいてください。

script.rpy
#キャラクターの定義
define t = Character('太郎', color="#c8ffc8")

label start:
    #背景画像の表示
    scene ribing
    #立ち絵の表示
    show taro-smile
    #トランジョン
    with dissolve
    #音楽の再生
    play music "music.mp3"
    #セリフの表示
    t "こんにちは!Ren'py製の新しいゲームです!"
    t "次回(中級編)では、選択肢やラベルなどの解説をします。"
    t "お楽しみに!"
    #一時停止
    pause
    #タイトルに戻る
    return

上のコードを書いたゲームをここから遊べるようにしておきました。

おわりに

これで初心者編は終了です。
ここまでのおさらいとして、何か本のストーリーを参考にして、ゲームを作ってみるといいかもしれません。結局は実践して体に書き方を身に着けていくのが、個人的には一番の上達法だと思っています。ぜひRen'pyをマスターして、楽しいノベルゲーム生活を!

  1. 「startラベル」とは、ゲームを新規作成したときにscript.rpyの中に書かれている、label start: のことです。(本来そういった呼び方をするかは不明ですが、この記事ではそのように呼んでいます。) 2

  2. scene 〇〇 と書いたあとにwith dessolveを書くことで、場面が切り替わることを、場面を切り替えると言っています。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?