進捗日記 / 静粛に、Ren’Py只今勉強中!その3
一晩寝かすとプログラムが出来る
一晩寝ると大体何でも解決する。睡眠は本当に大事。
ゲーム設定と言う名の妄想が頭で爆発してて寝れなかった時にnote始めて眠られるようにしたのは良い判断でした。
Ren’Pyの開発環境は素敵なんです
前回で書いて開発者メニュー。開発ツールのインターフェースなんてこんなもんで十分なんですよ。
コンソールで実行中のスクリプト中の中を見る事が出来るので所謂printデバッグより分かりやすいです。common lispとかsmalltalkのデバッグ感覚なんだろうか。
これもRen’Pyで行こうと決めた要素の一つでもあります。
解決したこと
と言うことで解決した部分のダイジェスト。
##ここがデータ
define my_text_list = ["複数のセリフが", "リストに格納され", "最後まで表示します。"]
##ここがメインルーチン
label start:
call outer_text_list(my_text_list)
return
##メインから呼ばれるサブルーチン
label outer_text_list(text_list):
while text_list:
##最初この一行を入れずにそのまま会話表示しようとしてた。
$ text = text_list.pop(0)
"[text]"
##あとこのリターンのインデントも間違えてました。
return
これで繰り返し表示が、外部データを読み込んで可能になります。この外部データのリストをまとめてリスト化すれば何番目かと言う数字を指定するだけでセリフを変えられる仕組みが完成。
このままだと誰がどんな顔で喋ってるか分からないからキャラ名と顔とセリフをまとめとくか、などと考えて、ふと気が気が付きました。
キャラ同士の会話だったらどうすんの?
要は全体のまとまりにするとき、キャラ毎にするかイベント毎にするか決めないとダメだ!そうするとイベントの処理から実は画面構成まで、考える時に関わってくる要素は実は多いぞ、これ。
作業の順番間違えたかな?
優先順位間違えてる
骨組みを作ると言うの意味をよく分かってなくて、なんかゲームエンジンみたいなもの作る気でいましたが、これ、自分の作るゲームの骨組み以外のもの作ろうとしてて絶対完成しないパターンですね。
なんか最初エンジン作ってオープンソースとか言ってなかったっけ?
わー、おもいあがりもはなはだしー。
という訳で、いつか何かで楽をするために先の事を考えるのも良いけど、目の前の解決すべき事から目を逸らすと転ぶよ、という話ではあります。CSVの読み込み方とか本当に基本的なことの勉強はしてもいいけど。
やはり基本は作りたいものを作る
じゃあどうすべきかと言うと、この構想しているゲームでプレイヤーは何をする事になって、それは何が楽しいのかを定義して、そのためにはどういう要素が必要かを考えて、そこで画面構成やデータ構造とかを考えるべきですね。
ボンヤリは考えてましたが、ゲームの構成要素はもう明確にしないといけない時期なんですね。
まずはメニュー周り、コマンド周りの仕様を決定させた方が良いですね。ここは実際のゲームと同じにして、汎用にするとか考えない事にします。
データとプログラムに分けるのは出来るならしても良いけど。
note書くのはこの位にして、以降はスプレッドシートいじってみます。
ちょっと脇道にそれて音楽の宣伝のことなど
ゲーム開発再開前に、ちょっと宣伝なんぞ。
わたくし射干玉ゲームは謎のプロデューサーチーム射干玉.dbの片割れでございます。
過去の音源たち
射干玉.dbはそれこそ謎で広域にわたる活動をしておりますが、メインのフィールドは音楽です。射干玉の活動ではないですがかつて自分はFlashアニメのBGMをやらせていただいたこともあります。
自分、リミックスは結構イケてると思ってて、海外のインディレーベルから依頼を受けたりします。ほ、ほんとうだよ!
射干玉.dbでもリミックスはやってます。最新作はこちら。
自分は素材を活かしつつ、別の曲っぽくリミックスするのが好きなので、追加で1曲そういうのが欲しい、と思っていて、上記の曲たちを聴いてみてご興味があるかたはご連絡くださいませ。
今回のゲームでは…
構想中のゲームは見た目はレトロで行こうとおもってますが、BGMはチップチューンな感じ一辺倒じゃなくてごちゃ混ぜでいきたいなあ。
undertale最高ですよね。
今回のゲームもSFモチーフにする予定なんですが、レトロでSFっぽくてチップチューンの要素もあるけど今のテクノな感じもある、と言えばdotstreamのBGMも大好きです。
ゲームミュージックの話はいずれまた。