>   >  新人講師がゼロから挑むUnityによる人材教育:No.14:満を持してメカニクスデザインへの移行
No.14:満を持してメカニクスデザインへの移行

No.14:満を持してメカニクスデザインへの移行

ゲーム専門学校の新人講師がUnityを勉強しながら、「ゲームのおもしろさとは何か」について授業を行う泥縄式レポートの第14弾。水先案内人になるのがユニティ・テクノロジーズ・ジャパン(以後、ユニティ)から提供中の無料教材「あそびのデザイン講座」だ。今回はScratch→Unity PlayGround→Unityと開発環境を変えながら進める、メカニクスデザインに関する授業の模様をレポートする。

TEXT_小野憲史 / Kenji Ono
EDIT_尾形美幸 / Miyuki Ogata(CGWORLD)

MDAフレームワークを軸にゲームを改良する

皆さんこんにちは。ゲームジャーナリスト兼、専門学校東京クールジャパン(旧東京ネットウエイブ)非常勤講師の小野憲史です。気がついたら前回の更新から4ヶ月もたってしまい、専門学校での年内の授業も終了してしまいました。余計な枕は省いて、さっそくこれまでの授業内容をレポートしていきましょう。

08月30日 第11回 対戦玉転がしワークショップの改造案を考える
09月10日 第12回(筆記試験)

▲授業風景


改めての説明となりますが、本授業「ゲームレビュー概論」の目的は、学生が制作中のゲームを、よりおもしろくするための実践的なノウハウや考え方を身につけるようにすることです。

そのためには制作途中のゲームを適切に「レビュー」できるようにすることが欠かせません。そこで重要なのが、ゲームを遊んでいるときのプレイヤーの感情曲線の観察です。ゲームを遊んでいて、どんなときにおもしろいか、どんなときにつまらなくなるかについて、ゲーム制作者は客観的な視点をもつことが求められます。

実はこの点でいえば、前期の第3回、第4回で導入した対戦玉転がしワークショップには問題がありました。それが「対戦ゲームにもかかわらず、逆転要素がない」点です。ゲームの目的は、ボールを転がしてステージ上に配置されたアイテムを相手より多く入手すること。アイテムは全12個あり、すべてのアイテムが入手されたところで勝敗が決まります。

▲対戦玉転がしゲームのサンプル


ということは、先に7個のアイテムを取った側が絶対に勝ってしまうのですね。そうなると残り5個のアイテムの意味がありません。では、どのようにメカニクスを改良すれば良いのでしょうか? 学生に改めてゲームを遊んでもらいながら、自由に考えてもらいました。

ここで考えるための道具になるのが、第13回で紹介したMDAフレームワークです。ゲームの構造を「M:メカニクス(ルール)」「D:ダイナミクス(行動・展開)」「A:エステティクス(感情)」の関連性で捉えるというもので、ゲームの改造や批評に役立ちます。


今回の例で言えば、ゲームの途中でエステティクスが低下してしまうことが問題でした。逆に理想のエステティクスは、「最後の最後まで気が抜けず、お互いの緊張状態が持続されること」だと考えられます。そのために必要なダイナミクスは「逆転」で、そうした展開を生むためのメカニクスは......と、逆算して考えられるようになるというわけです。

当然ながら答えはひとつではありません。逆転の要素を強調しすぎると、なかなか勝負がつかず、むやみにゲームの所要時間が長くなるリスクも考えられます。先に7個のアイテムを入手した時点でゲームセット、という考え方もあるでしょう。学生から出てきた答えも千差万別でした。

その上で、こちら側の答えとして用意しておいたのが、「お互いのボールが衝突すると、入手済みのアイテムがステージ上にばらまかれ、ゼロからやり直しになる」というアイデアです。このメカニクスが新たに加わることで、ダイナミクスとエステティクスが次のように変化することが予想されます。

  • メカニクス
  • お互いのボールが衝突すると、入手済みのアイテムがステージ上にばらまかれる
  • ダイナミクス
  • 勝っている側は、残りのアイテムをいち早く入手して、逃げ切りを図るようになる。負けている側は、アイテムを入手するのではなく、相手のボールにぶつかるように動いて、アイテムの入手数をリセットしようとする
  • エステティクス
  • ゲームの最後まで、お互いの緊張状態が持続される

それでは、このアイデアは本当に正しいのでしょうか? 一番簡単な検証方法は、実際にメカニクスを追加してテストプレイしてみることです。しかし、そのためにはスクリプトの追加が不可欠で、レベルデザイン演習の範疇を超えてしまいます。そこで後期の授業では、本格的にメカニクスデザインを行うと通達して、前期の授業を終了しました。

GlobalGameJam NextでGoogle Gamebuilderをテスト

さて、ゲームデザイナー志望の学生がメカニクスの勉強をする上で、適した開発環境は何でしょうか? 以前から目をつけていたのがGoogle Gamebuilderです。ゲーム『Minecraft』のようにボクセル風のゲームワールドで簡単に3Dゲームが作成できるというもので、「移動する」「攻撃する」「ジャンプする」「もし~なら~する」「*回繰り返す」など、基本的な命令がカードになっています。複数のカードを組み合わせることで、複雑な命令をつくることも可能で、これがプログラミング言語に相当します。

これによって「もしキャラクターが*m以内に接近したら、そちらの方向に砲台を向けて、レーザーを発射する」など、既存のカードを組み合わせて、新しいメカニクスが手軽につくれるのです。最大4人までのオンラインプレイにも対応しており、同じワールドでゲームをつくったり、つくったゲームで遊んだりすることもできます。もっと複雑なカードをつくりたければ、JavaScriptでカードを改造したり、オリジナルのカードをつくったりすることもできます。

そこで2019年8月に開催されたGlobalGameJam Nextで、ヒューマンアカデミー秋葉原校の教室をお借りして特設会場を設営し、Google Gamebuilderを使ったゲーム開発を高校生に体験してもらいました。GlobalGameJam Nextはギネスブックにも認定された世界最大のゲームハッカソン、GlobalGameJamの主催団体が18歳以下の参加者に限定して行うもので、今年で2回目となります。

当日参加した高校生は2人で、1人はJavaScriptのプログラム経験はありましたが、本格的なゲーム制作は初めてでした。もう1人はプログラミングもゲーム制作も、まったく体験したことがありませんでした。にもかかわらず両名とも、わずか数時間ですばらしいゲームを完成させました。

▲GlobalGameJam Nextにて、高校生がGoogle Gamebuilderを用いて開発したゲーム


ただし、課題も見えてきました。Google Gamebuilderは当時、PCゲームのデジタル配信プラットフォームSteamのコンテンツだったため、開発環境は無料ながら、インストールにSteamのアカウントが必要でした。その一方で、PCごとに異なるアカウントを短期間で一気に作成しようとすると、エラーが出てしまったのです(不正対策なのかもしれません)。そのため後期の授業でGoogle Gamebuilderを東京クールジャパンの教室にある演習用PC群にインストールすることが、困難なように感じられました。

もっとも、Google Gamebuilderは2019年11月にオープンソースとなり、Steamのアカウントを必要とせずに、Gitからダウンロードして自由にインストールが可能になりました。Google GamebuilderはUnityベースで制作されており、起動にUnityを必要とする点でも、授業とスムーズに連結できそうです。次年度以降の楽しみにとっておくことにしました。

次ページ:
ScratchとUnity PlayGroundを授業で活用

その他の連載