ゲームを作るレッスンだ
『《狐舞サキ/泉水スピカ》ゲームを作ってみたーい!《ミラライブ三期生/ミラライブ四期生》』
「どもー!魔王です」
「自己紹介それでいいんスか?あ、ミラライブ四期生の泉水スピカっス」
「さてさて、今回は実はかなり楽しみにしてたコラボ!!」
「あたしも楽しみにしてたんスよ!何せ、人と一緒にゲーム作るなんてほぼ初めてっスから!」
「あれ?ミラクエってミラライブとの共同開発じゃなかったっけ?」
「ああ、あれはあたしが『こういうゲーム作りたい』って話をして素材提供とかを手伝ってもらっただけなのでコード書いたりグラデザしたりは全部あたしっスね」
「サラッと言ってるけどやってることバケモンだからね??」
「魔王にだけは言われたくないであります」
「私を魔王に仕立て上げた張本人が何を言う!?てか早くやりたいから無駄話してないで始めよ!!」
【コメント】
:ふぁ?!
:あのクオリティを1人で?あの短期間で?
:世の中の全てのプログラマが涙目
:普通に無理だろ
今回やっていくゲームは、Smitchでプレイできるソフトで、ゲームプログラミングの体験ができるというもの。
いろいろと簡略化された素材を組み合わせてオブジェクトの性質や動きなどを設定し、それを大量に作って配置、接続することで自分だけのゲームを作ることができるというものだ。
本来はプログラミングの基礎を勉強するための子ども用ソフトなのだが、簡略化されているとはいえ出来ることが多くてかなり本格的だったり、本職のプログラマがこのゲームを使って有名なゲームを再現して公開したりと、自由度も高く私自身も前から気になっていたソフトである。
ちなみに使うオブジェクトなどは既存のものから選ぶ形式となっているが、IF関数やWHILE文など、実際のプログラミングでも用いられるような用語や関数が結構そのまま、しかもゲームチュートリアルではかなり簡略化された説明ばかりなので正直ちびっこ置いてけぼり確定のゲームだったりする。
「ちなみに私はプログラミングはほとんど何も分からなくて、このゲームのチュートリアルで勉強したぐらいの知識しかないよ。実際やってみて思ったけどこれ、ほんとに子ども向けゲーム?って感じ」
「それなっス。とりあえず今回はあたしが色々指示出しながらサキ先輩に実行してもらうって形でやっていくっス。訊きたいこととかがあったらいつでもどうぞ」
「了解!どんなゲームを作ろうか?」
「とりあえず最初は簡単に、2Dのアクションゲームにするっスね。簡単に言うとマ〇オっス。てことで今DMに送ったリンクをSmitchのブラウザで踏んでほしいっス」
「これ?」
スピカちゃんのDMを開くと送られてきていたのは一つのURL。
「これ、あたしが作ったModみたいなもんっス。ミラライブのメンバーのモデルをこのゲームの操作可能オブジェクトに張り付けたやつっスね。あ、Nintend-0には許可取ってるので配信で使っても大丈夫っス」
「ねぇ今日から私じゃなくてスピカちゃんが魔王名乗った方がいいと思うんだ」
【コメント】
:……????
:バケモノ
:あの天下のニンテンドオー様に!?
:Mod……作った……??
スピカちゃんから送られてきたModをDLしてソフトを開くと、確かに少しデフォルメされたミラライブの面々が。
「ちなみにマ〇オっぽいのを作ってもらうって決めてたので、大きいのと小さいの、火を出すやつのテクスチャは用意してあるっス」
「おっそろしいほどの凝り具合だね!?……まぁいいや、最初は何すればいいの?」
「まずはチュートリアルでやったのと同じように、直方体を置いて性質を”動かない”に設定するっス。これが基本となる足場になるっスね」
スピカちゃんの言う通りにアイテムを選択し、設置。
「で、次はとりあえず動かしたいキャラを置いてみるっス。XY座標の指定なしでドラッグするだけでいいなんて便利っスね」
適当なところに配置。
「じゃあゲーム画面ってやつから紐を伸ばしてキャラと繋ぐっス。そしたらキャラの動きに追従してくれるようになるっス。実際だと変数を作ってキャラの座標を代入して、ってコードを書かなきゃいけないし背景外とかが映るような事故を防ぐために範囲指定とかもあって……」
「よし一旦ストップだスピカちゃん。これ以上は多分ほとんどのリスナーがついてこれない」
「ハッ!!すみません、溢れ出してしまいました」
【コメント】
:なるほどわからん
:語りだしたら止まらないタイプか
:このゲームほんとに簡略化されてるなぁ
:実際のプログラミングもこれぐらい簡単だったらいいのに
:生き生きしてるスピカちゃんかわいい
その後も基本はスピカちゃんの解説通りに、時々私が「こうしたい」という希望を言ってそのやり方を教えてもらう、といった感じで進めていった。
「――――敵との接触判定は座標の差とかを使うと便利っス。キャラと敵の座標の差がいくつ以内になると接触した判定、その時にキャラのY座標が敵より上だと踏んだ判定に……みたいな」
「となると横から接触した時には無敵時間を設定しなきゃ多段HITしちゃうかな?」
「そうっスね。ヒットポイントを設定したり今回みたいに大きいのを使ったりする場合はその設定は必須っス。あと、踏んだ時に自動でジャンプする設定はこのゲームだと勝手にやってくれるんスけど、コードだけでこのゲームくらい滑らかな動きにしようと思ったら実際にはY座標をTick毎にいくつ足してその幅を変動させて……みたいな結構緻密な設定が必要になるっス」
「なるほど分かった、スピカちゃんは自分の専門分野になるとびっくりするくらい饒舌になるタイプだ」
先ほどから、自分が書く時はこうする、といったことを言いながら実際にはこういう関数や変数を用いる、といった話を織り交ぜてくる。言語化が非常に上手いためプログラミングなんてさっぱりの私でも理解しやすいしリスナーにもしっかり伝わっているらしい。
一部のリスナーは何故か苦しんでいるが。
「じゃあ、あとはテクスチャの貼り付け作業っスね。『このテクスチャを使ってるときにダメージを受けるとこれに、アイテムを取るとこれに』みたいな感じでIF使って設定するっス」
「わぁ簡潔な説明だぁ。ま、スピカちゃんのこれまでの説明のおかげで色々分かってきたから多分いけるか」
「あたしの説明がどうこうというより、サキ先輩の飲み込みが異常に早いだけっス」
そんなことないない。コメント欄もみんなスピカちゃんに同意してるけどそんなことないない。
「よし、こんな感じで大丈夫そうかな?」
「そうっスね、これで一旦動作確認してみるっス」
試しに起動してみると、割り当てたボタンに合わせてキャラも動く。ジャンプして敵を踏むと敵が消滅し、アイテムを取ると表示されるテクスチャが変わる。
「お~、こんなシンプルな作りで案外それっぽくなるもんなんだねぇ」
「初めて触ってこれって、プログラミング的思考に関してはサキ先輩かなり才能あるっスね。もしよかったらガチのプログラミング言語勉強してみるっスか?あたしでよかったらいくらでも教えられるんスけど……」
「ほんとに!?じゃあ教えてもらおっかな、実は前からやってみたいと思ってたんだよね!!」
【コメント】
:この二人の合作とか出たら絶対やばい
:絵の時は教えるの嫌がってたのに
:サキちゃんの能力がまた増える
:成長する魔王とかもうどうしようもないじゃん
「あ、確かに。コメントで言われてるんだけど、前私が絵を教えてほしいって言ったときは嫌がってたのになんで今回はいいの?」
「シンプルな話っスよ。絵に関してはあたしが上手く言語化して教えるのが苦手で、プログラミングなら相手の考え方がある程度プログラミングに向いてたら比較的簡単に伝わるからっス。どうせ教えるならちゃんとした先生したいっスからね。あと、プログラミングに関しては簡単に言えば100点があるわけで。サキ先輩がどれだけ頑張ってもあたしより上になることはないからっスね」
「つまりスピカちゃんは普段100点のコードを書いていると」
「当たり前っスよ。『なんかまとまり悪いなぁ』ってなるだけで納得いくまで書き直してるっスから。3時間ぐらいかけて書いてほぼ全部やり直しなんてザラっスよ」
「へぇ、そんなに大変なんだぁ……って、コメント欄で阿鼻叫喚してる人が増えてきたからこの話は一旦やめろうか」
「そうっスね……。ちなみにコメント欄のプログラマが苦しむ話なら他にも色々あるっスよ。納期とか原因不明のバグとか急な仕様変更とか……」
「やめて!!リスナーのライフはもう0よ!!」
雑談しながらゲームを作る予定だったはずのこの配信は、この後はスピカちゃんのプログラミング入門講座配信に変更となって夜遅くまで続いたのだった。
簡単なことならできるようになったよ、やったね。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます