記事の目次

    ゲーム専門学校の新人講師がUnityを勉強しながら、「ゲームのおもしろさとは何か」について授業を行う泥縄式レポートの第13弾。水先案内人になるのがユニティ・テクノロジーズ・ジャパン(以後、ユニティ)から提供中の無料教材「あそびのデザイン講座」だ。今回は3つの異なるサンプルを通して、次第に複雑なレベルデザインを行なっていく授業の模様をレポートする。

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

    レベルデザインの実践道場

    皆さんこんにちは。ゲームジャーナリスト兼、専門学校東京クールジャパン(旧東京ネットウエイブ)非常勤講師の小野憲史です。学校はすでに夏休みに入り、非常勤の気楽さで一息つかせてもらっています。ただ、休みの間も教務の先生方はオープンキャンパスに、企業向けの学生作品発表会に、就職活動の指導にと、大忙しの様子です。特に本校では今年度から留学生が急増したため(1年生の約7割が留学生)、例年にない苦労があるようです。いやホント大変だと思います。

    一方で非常勤講師の良さは、授業の準備と実践だけに集中できること。そこで前期は「あそびのデザイン講座」をベースに、自分なりに使いやすいサンプル教材を作成して、学生にどんどんレベルデザインに挑戦してもらうことを目標に掲げました。その上でグループ演習を通してゲームを構造的に分析し、レビューする目を養ってもらいました。そこで鍵を握るのがMDAフレームワーク。前期の授業スライドをこちらにまとめましたので、よろしければご参照ください。

    ▲MDAフレームワークと世界観/ペルソナの関係

    ※「48時間で作るゲームの企画を3時間できっちり決める」(簗瀬洋平/ユニティ・テクノロジーズ・ジャパン合同会社) より筆者作成


    連載 第7回でも触れましたが、「あそびのデザイン講座」の第5回〜第11回(ピンボール編)は、米MITのマーク・ルブランらによって論文化され、世界中で引用されているMDAフレームワークの考え方に近しいものがあります。ゲームのルール(メカニクス)が変わると、プレイヤーの行動やゲームの展開(ダイナミクス)が変わり、プレイヤーが受ける感情(エステティクス)に影響を与える......ざっくり説明すると、この三要素の関連性でゲームを分析するというものです。

    ただ、実際のゲーム開発ではメカニクスだけでダイナミクスが変化するわけではありません。鍵を握るのがレベルデザインです。レベルデザインとは、ゲーム開発でマップやステージの形状をつくり、そこにエネミーやアイテムを配置し、様々なイベント(鍵を入手して扉を開けるなど)を組むなどして、プレイヤーに特定の体験を提供するための空間をデザインする役職のこと。FPS(一人称視点シューティング)の流行と共に欧米で専門職化が始まり、ゲームデザイナーの登竜門とされることもあります(※)。

    ※ 詳細は2018年4月公開の記事「海外のゲームスタジオはデザイナーをどのように募集するのか? 課題サンプルも大公開〜GDC 2018レポート(2)〜」を参照。

    実際、同じメカニクスでも、レベルデザインのちがいでおもしろさが変化するのは、『ブロック崩し』におけるブロックの配置などからも明らかでしょう。『ブロック崩し』には「ボールがブロックに当たると、ブロックが消えてスコアが加算され、ボールが跳ね返る」というメカニクスが存在します。ここから「ブロックの上に適切な空間をつくると、ブロックの上側にボールを送り込むことで、一気に消すことができ(=ダイナミクス)、結果として気持ちいい(=エステティクス)」という関連性が導かれるからです。

    ▲授業ではUnityを使って2つの『ブロック崩し』ゲームをつくり、ちがいを体験してもらう時間も設けました。こんな風にゲームエンジンの操作に慣れると、ちょっとした教材を手軽につくることができるようになり、便利です

    ※参考サイト
    【Unity 入門】【チュートリアル】ブロック崩しを作る


    このことはまた、ゲームにはメカニクスに適したレベルデザインがあること。そして、レベルデザインはメカニクスが確定した後で行われるべきであることを意味しています。個々のレベルデザインの都合に合わせてメカニクスを変更すると、ゲーム全体のレベルデザインにまで、影響を及ぼしてしまうからです。「あそびのデザイン講座」のピンボール編も同様で、毎回スコアやタイマーといった異なるメカニクスの実装法が解説され、それに合わせてレベルデザインを行うやり方が紹介されています。

    ただ昨年度の経験から、普通に授業を行うと「メカニクスごとに適したレベルデザインを行う」というポイントが、少しボケてしまうだろうな......という危惧がありました。また、ピンボールだけでなく、ランゲームや対戦ゲームなど、様々なゲームのレベルデザインに挑戦してもらいたいという思いもありました。そこで第5回〜第10回までの授業を2回ずつに分け、それぞれで異なるサンプルを提示し、次第に複雑なレベルデザインに挑戦してもらうことにしました。


    ・第5回〜第10回までの授業内容

    6月07日 第5回 ピンボールワークショップ1(あそびのデザイン講座 第5回〜第11回)
    6月14日 学校行事で休講
    6月21日 第6回 ピンボールワークショップ2(あそびのデザイン講座 第5回〜第11回)
    6月28日 第7回 ランゲームワークショップ1(あそびのデザイン講座 第12回〜第14回)
    7月05日 第8回 ランゲームワークショップ2(あそびのデザイン講座 第12回〜第14回)
    7月12日 第9回 対戦球転がしゲームワークショップ1(オリジナル)
    7月19日 第10回 対戦球転がしゲームワークショップ2(オリジナル)
    

    ▲授業風景

    こちらの意図を軽やかに裏切る作品が登場

    それでは各回の振り返りを進めていきましょう。ピンボールワークショップでは、事前に下記の6種類のサンプルを用意しました。はじめに各々のシーンファイルを一通り遊んでもらい、それぞれの体験のちがいについて考えてもらいました。その上で、どれかひとつを学生に選択してもらい、それに適したレベルデザインを自由に行なってもらいました。その後、メカニクスとレベルデザインの関係性について、MDAフレームワークを引用しつつ解説しました。

    ▲6月7日 第5回 ピンボールワークショップ1で提示したサンプル

    ※ あそびのデザイン講座 第5回〜第11回、【Unity 入門】【チュートリアル】ブロック崩しを作る、書籍『楽しく学ぶ Unity2D超入門講座』(森巧尚/マイナビ出版/2019)を基に筆者作成


    ・6種類のサンプルの概要

    [1]目的を提示しない
     →プレイヤーがミスするか、飽きたら終わり
    [2]ボールを打ち返した回数でスコアが加算される
     →ミスするまでに獲得したスコアで他人と競える
    [3]ボールを当てて破壊すると、スコアが加算される対象(ブロック)を加える
     →[2]と同じだが、プレイヤーがインタラクションできる要素を増やすことで、より没入感が高まる
    [4]カウントアップタイマーの導入
     →画面上の全てのブロックを消すまでの時間を競う。いわゆるタイムアタック
    [5]回転ブロックの導入
     →ボールの反射における多様性を高めると共に、タイムアタックにランダム性をもたせる
    [6]カウントダウンタイマーの導入
     →一定時間内でどれだけブロックを消せるか競う。
     [4]や[5]とのちがいは、スコアがタイム起因か、それともブロック起因かという点
    

    ▲6月21日 第6回 ピンボールワークショップ2の課題提出


    もっとも結論から言うと、一番おもしろかった作品は、こちらの意図を軽やかに飛び越えたものでした。上で紹介している課題(動画)の最初に登場する白偉亨君の作品で、画面全体が白い格子で覆われています。ラケットを左右に移動させると、それに伴って格子も移動し、隙間からわずかにゲーム画面が見えるというもの。遊びにくいこと、このうえないのですが、なぜか不思議な味があります。プレイヤーの視界をさえぎるメカニクスをコードを書かずに実装しており、これに適したレベルデザインを考えるとおもしろくなりそうです。

    ただ、全体的に今ひとつこちらの狙いが伝わりきらない結果となりました。もっとも、これにはサンプルのクオリティの低さも関係しています。「タイマーがゼロになったり、ブロックが全部消えたりしても、ゲームが停止しない」「ラケットの当たり方でボールに変な力が加わってしまい、スピードが急変する」「ボールが垂直や水平に移動し続け、ゲームの継続が不可能になる」など、いろいろな粗がでてしまいました。デバッグの重要さを改めて痛感した演習でした。

    次ページ:
    ランゲームで一気にクオリティが向上

    [[SplitPage]]

    ランゲームで一気にクオリティが向上

    続いての演習は、連載 第10回でも紹介したランゲームワークショップです。ピンボールとのちがいは、ゲーム画面が2Dから3Dになったこと。ジャンプやエフェクトといった要素も加わり、より体験がリッチになった半面、レベルデザインの手間も増していきます。昨年度の経験から、今年度はカメラの動きに幅をもたせ、「一画面ステージ」「横スクロール風のステージ」「縦スクロール風のステージ」という3種類のサンプルステージを用意して、自由に選んでもらう形にしました。

    ▲6月28日~7月5日 第7・8回 ランゲームワークショップ1・2で提示したサンプルと課題提出


    この頃になると学生も次第にUnityに慣れてきたのか、「ピンボールワークショップ」とは比べものにならないくらい、多彩なステージが見られるようになり、驚かされました。中でも注目を集めたのが、多彩なエフェクトでステージを飾った吉川慶祐君の作品です。連載 第10回と同じく、本サンプルにも 「Unityのパーティクルシステムで爆発を作る_からあげ編」で紹介されているエフェクトを組み込んでおいたのですが、そこをめざとく見つけてフル活用。これには多くの学生が驚いていました。

    また、ピンボールワークショップで斜め上の作品をつくってきた白偉亨君は、今回もカメラのスクリプトを改造してFPS風の作品をつくってきました。こちらで何も教えていないにもかかわらず、です。シンプルなレベルデザインですが、ほかにFPS風のカメラがなかったため、非常に目立ちました。上に乗ると、自キャラを上方に跳ね上げるスクリプトがついたオブジェクトを床一面に伸ばし、ピョンピョンとジャンプアクション風の移動を可能にしている点にも感心させられました。

    ほかにも、円柱型の自キャラをボールに変更したいと提案してきた王金融君。くるくる回転する板を垂直に立て、マテリアルの属性を透明にした上でコリジョンを削除し、大量のオブジェクトを回転させた須藤汰知君。2つの自キャラを同時に操作し、「ピタゴラ装置」のような仕掛けまで考案した白杰君など、一気にクオリティが向上しました。立体的なステージをデザインした易然君、何も教えていないのに、マテリアルにテクスチャを活用した馬君やヨハン君の作品も秀逸でした。

    今や大量の動画チュートリアルがネット上に存在し、独学で様々な事柄を学べる時代です。その上でわざわざ授業料を払って、大学や専門学校に通う意味は何でしょうか。集団での学びや、同世代の友人から刺激を受ける機会を得ることなどが、答えとしてあげられるでしょう。にほかなりません。こうした中、「こちらが教えた以上のことに、自発的に挑戦する」というのは、なかなか良い兆候のように感じられます。学生同士でテクニックについて教えあう光景も見られるようになり、次第にエンジンがかかってきました。

    ▲授業風景


    一方で授業の進行では、ランゲームワークショップから本格的にテストプレイの時間を取るように心がけました。自分の作品を改善するには、開発中に他人に遊んでもらって意見を聞いたり、他人の作品を遊んで刺激を受けたりといった行為が欠かせませんが、開発に夢中になると、ついつい億劫になりがちです。そこで2回目の演習で冒頭に15分ほど、教室をいろいろ動き回って、他人の作品をチェックする時間を設けるようにしました。これが作品の底上げにつながったのかもしれません。

    ペアワークによるレベルデザインで一苦労

    最後の演習では「あそびのデザイン講座」から離れて、オリジナルのサンプルを提示してみました。Unity公式の「玉転がしワークショップ」をベースに、2人で対戦できるようにしたものです。これを用いてペアワークショップを行い、対戦ゲームに適したレベルデザインを考えてほしかったのです。もっともGitやUnity Collaborateなどを用いて、作業内容をオンライン上で共有させるのは、いろいろな意味で敷居が高かったので、ひとつのPCを使用し、15分ずつ交替で作業させるようにしました。

    ※参考サイト
    Unity チュートリアル「玉転がし」

    ▲7月12~19日 第9回・10回 対戦球転がしゲームワークショップで提示したサンプルと提出課題


    これに対して学生からは、思いがけず「立体的なステージをつくりたい」という要望があがりました。実は処理を簡単にするため、今回のサンプルではボールが上方向に移動することを最初から禁じていました(ボールにアタッチしたRigitbodyのConstraintsで、Freeze PositionのY軸にチェックを入れておきました)。筆者がつくったサンプルでは、ボールに対して外部から力を加えて移動させているため、ともすればボールがステージを飛び出してしまいます。この問題を解決する上で、一番手軽な方法だったからです。

    しかし、これではせっかく立体的なレベルデザインを行なっても、ボールの動きが床に張り付いたままです。3Dのステージなのだから、ボールの動きも立体的にしたい......そんな風に考えるのだと驚かされました。また、次第に作品からBGMが鳴りはじめたことにも驚きました。実はサンプルを作成中にフリーの音楽ファイルをGameManagerのAudio Sourceにセットしたまま、チェックボックスをオフにしておいたのを忘れていたのです。これをオンにすればBGMが鳴ることを発見した学生がいて、周りが真似したようでした。

    もっともステージの多様性という点では、ランゲームワークショップに軍配が上がりました。ペアをくじ引きで決めたため、気の合わない友達とペアになったチームでは、今ひとつ進捗がはかどらなかったのかもしれません。1人で好きなようにつくり込んだら、もっとおもしろいものができた......そう感じた学生も少なからずいたようです。しかし、それでは対戦&協力ゲームのレベルデザインを進めることはできません。もう少しうまく集団制作を行なわせる仕掛けづくりが必要なように感じられました。

    ▲授業風景


    実際、ゲームはこれまで1人遊びのツールとして進化してきましたが、eSportsを筆頭に「対戦でおもしろいゲーム」の需要が今後拡大することが予想されます。そのためにはメカニクスだけでなく、レベルデザインについても、特殊なスキルが求められることになるでしょう。引退したプロゲーマーがレベルデザインの監修に入る、といったことが増えることも予想されます。学生のうちから対戦&協力ゲームでレベルデザインの経験を積むことが、より求められていくかもしれません。

    また本演習では、ランゲームワークショップのように「自キャラをジャンプさせたい」という要望が少なからず聞かれました。ジャンプというメカニクスを組み込むためには、そのためのスクリプトを書いて、オブジェクトにアタッチすることが必要になります。つまり、レベルデザインの範疇からはみ出してしまうのです。スクリプトの作成とメカニクスの実装は後期に行う予定でしたが、こうしたニーズが前期のうちから出てきたことに、心強さのようなものも感じました。

    冒頭で説明したように、東京クールジャパンでは本授業をもって夏休みとなりました。その後、8月末に2回の授業があり、そこから1ヶ月の休みを挟んで、10月から後期授業が始まります。そこで夏期休暇中に、これまで行なったワークショップからひとつを選んで、自分なりにレベルデザインのつくり込みを行うように課題を出しました。休み明けの第11回目の授業では、全員でプレイして人気投票を行う予定です。投票結果は本連載でも紹介させていただこうと考えています。 

    次回の更新は10月以降を予定しています。お楽しみに。



    プロフィール


    • PHOTO_弘田 充 / Mitsuru Hirota
    • 小野憲史
      ゲームジャーナリスト

      1971年生まれ。関西大学社会学部を卒業後、「ゲーム批評」編集長などを経て2000年よりフリーのゲームジャーナリストとして活動。CGWORLD、毎日新聞、Alienware zoneなどWeb媒体を中心に記事を寄稿し、海外取材や講演などもこなす。ほかにNPO法人IGDA日本名誉理事・事務局長、ゲームライターコミュニティ世話人など、コミュニティ活動にも精力的に取り組んでいる。2017年5月より東京クールジャパン、2019年4月よりヒューマンアカデミー秋葉原校で、それぞれ非常勤講師に就任。

    本連載のバックナンバー

    No.01:「あそびのデザイン講座」活用レポート
    No.02:Unityスクリプトに初挑戦
    No.03:Unityアセットストアに初挑戦
    No.04:新年度がスタートし、ゼロから仕切り直して授業設計
    No.05:到達度のちがいをどのように捉えるか?
    No.06:あそびのデザインとMDAフレームワーク
    No.07:「あそびのデザイン講座」の根底に流れるデザイン思想とは?
    No.08:遊んで楽しい、つくって楽しい、そして......
    No.09:レベルデザインで変わるゲーム体験
    No.10:サンプルを魔改造してランゲームをつくる
    No.11:日本のゲーム教育で学校に求められることとは何か?
    No.12:現実を抽象化・誇張化するとゲームになる