のっぽさんの勉強メモ

主に中学の学習内容と、それに絡みそうな色んなネタを扱っています。不定期更新ですー。あ、何か探したいことがある場合は、右の「検索」や記事上のタグやページ右にある「カテゴリー」から関係ある記事が見られたりします。

9/18 情+ゲーム他:「恋愛(れんあい)ゲーム」作りでプログラミングを学ぶ!? ~自作ゲーム「恋愛ゲーム・簡単プログラミング」~

 情報+数学+ゲームの話ー。


 もうすぐ始まる「プログラミング」教育について、
 超簡単な「恋愛(れんあい)ゲーム」作りながら考えてみようぜ、みたいな企画です。


 ちなみにプログラムは最終的に6行で終わります。



 前置き。
 2020年度から「プログラミング」教育が小学校で必修化(ひっしゅうか)、ということですが。
 (ちなみにプログラミングというのは「プログラム」*1を作ったり組んだりすることですね)
 でも「プログラミングは難しそう…」という方が筆者の周りには多いようです。


 じゃあ今回はあえてプログラミングで「恋愛(れんあい)ゲーム」を考えてみようぜ!という企画です。
 (※ジャンルに深い意味はありません)
 といっても本物の、本格的なゲームは作れませんが。まあ雰囲気で。


 題して「恋愛ゲーム・簡単プログラミング」


 さて、恋愛ゲームやラブコメの基本は仲良くなる過程な気もしますが、
 今回はシンプルに「告白(こくはく)」の1シーンだけで。


 まあ想像してください。


 プレイヤーである「あなた」は放課後の教室で
 美少女の「A子」さん(またはイケメンの「A男」くん)に告白されようとしているところです。
 で、相手が言います。


A子「好きです。付き合ってください!」


 …で、これだけで終わるとゲームになりません(告白が終わってゲームが終わります)ので、
 プレイヤーが選べる選択肢(せんたくし)も用意してみましょう。
 つまり「はい/いいえ」で、A子さんと付き合うか、断るかを選択できるという訳です。

 プログラム風にすると


【プログラム】
A子「好きです。付き合ってください!」
選択肢 「はい/いいえ」


 みたいな感じですね。
 でも何かを選択した時点でゲームが終わってしまうのも寂しいので、反応や結果を入れてみましょう
 選択によって結果も違うはずなので、ここでは
 ①選択肢「はい」を選んだ場合 ②選択肢「いいえ」を選んだ場合
 の2パターンが必要になります。


 試しに①「はい」を選んだ場合、ナレーション(説明)で「A子はとても喜んでいる…」という文、
 ②「いいえ」を選んだ場合、「A子はがっかりして教室を出ていった…」という文を入れてみましょうか。

 するとプログラムは


【プログラム】
A子「好きです。付き合ってください!」
選択肢 「はい/いいえ」


<「はい」を選んだ場合>
ナレーション「A子はとても喜んでいる…」


<「いいえ」を選んだ場合>
ナレーション「A子はがっかりして教室を出ていった…」


 みたいな感じになりますね。


 超簡単ですが、これで一応は恋愛ゲームっぽいものはできました。
 【プログラム】は単なるタイトルなので、実質の中身は6行で終わってますね。
 まあ今の所A子からの告白を受けるか断るかだけ、というシュールなものですが。


 でも恋愛ゲーム…特に小説風の「ノベルゲーム」の基本はおおむね上のようなものかと思います。
 もちろん本物は「好感度」や「フラグ」が入ったりともっと複雑ですが、
 あとはシーンをもっと多くしたりするわけですね。それこそ告白までの仲良くなるシーンとか。



 とまあ、プログラミングやプログラムは難しく思えますが、いちばん基本のところはシンプルな物かと思います。
 ネットとかで使われているものなど、たくさん重なってるものは複雑に見えてきますが、
 それは逆に言えば「シンプルな物でも重ねれば、それっぽいものを作れる」ということでもあります。


 上でやってみた超簡単な恋愛ゲーム・プログラミングは、「アンケート」や「心理テスト」よりも簡単ですが、
 逆に言えば、アンケートや心理テストではもっと複雑なことをやっている、ということですね。
 ということは、超簡単なプログラミングなら、それらよりシンプルにできるかも?ということでもあります。


 まあある質問を設定して、「はい/いいえ」で結果を分けてみるだけでもちょっと楽しかったりします。
 興味があったら考えてみるのもいいかもしれませんね。
 それは立派な「プログラミング」の始まりかもしれません。



 まあそんな感じで~。





 関連自作ゲーム:『3行ホラーメイカー』*2





追記
 さて、筆者が適当にやって終わりでは何ですので、練習問題を用意してみました。
 まずは上の「告白」の場面の「結果」「反応」の部分だけ変えてみましょう。
 告白を受けた場合、断った場合、どんな文が表示されるかを考えてみてください。
 誰かのセリフでもいいですし、ナレーションでもいいです。
 あと長さも一応自由です。お望みなら複数の文にしてもいいです。
 では、以下の「(  )」の中身を考えてみてください。


【プログラム】
A子「好きです。付き合ってください!」
選択肢 「はい/いいえ」


<「はい」を選んだ場合>
セリフ「(       )」
ナレーション「(     )」


<「いいえ」を選んだ場合>
セリフ「(      ) 」
ナレーション「(     )」





 …どうでしょうか?
 何かしら埋まっていれば、+1ポイントとします。特に使えませんが。


 ちなみに幸せな物語で終わらせる必要はなく、誰かを登場させることもできます。




【プログラム】
A子「好きです。付き合ってください!」
選択肢 「はい/いいえ」


<「はい」を選んだ場合>
B子「ちょっと待って!プレイヤー君は私と付き合うんだから!」
A子「何ですって!プレイヤー君は渡さないんだから!」
ナレーション「これが、プレイヤーを巡る、激しい三角関係の始まりだった…」


<「いいえ」を選んだ場合>
A子「そんな、ひどい」
ナレーション「A子は泣いて教室を去った。…そして少し後、入れ違うようにB子が入ってきた。なんだかそわそわしている。何か期待しているようだ…」


 …みたいな感じに、新しい登場人物「B子」などを登場させることもできます。
 まあ物語としてはオチきってませんが、次のシーンやイベントとかにつなげるにはいいかもしれません。
 ここら辺は自由というか、アイデア次第ですね。


追記2
 ちなみに、ちゃんとしたプログラミングを教えてくれる教室も多く開かれているようです。
 (当然ですが上記の企画が比べ物にならないくらいちゃんとしています)
 それこそ2020年度からのプログラミング教育に対応したものですね。
 そこではコンピュータやスマホタブレットを使って簡単にゲームが作れたりするようなので、
 興味があったら調べてみるのもいいかもしれません。
 それこそどこかでは「乙女ゲーム」を作りながら学べる教室があった気もします。

 またネット上にも、無料で使えるプログラミングソフトも多くあるようですね。
 小学生やもっと若い方に向けたものあるようです。


追記3
 ちなみに今回は恋愛ゲームにしてみましたが、別に恋愛でなくてもいいです。
 例えば「ゴブリンが攻撃してきた!左右のどっちに避ける?」というと戦闘ゲームになりますし、
 「畑にスイカとメロンのどっちを植える?」というと、農業系のシミュレーションゲームにもできます。
 つまり基本の「枠組み」に対してどのような「文」をつけるかによって、ゲームジャンルを変えられるわけですね。
 逆に言えば、色んな所で使っているプログラムとか文法、プログラミング言語というのもあったりします。
 よく見てみると結構共通していたりもするので、そういうものを探してみるのも面白いかもしれません。


benkyoumemo.hatenablog.com

benkyoumemo.hatenablog.com

benkyoumemo.hatenablog.com

benkyoumemo.hatenablog.com