いまや日本のゲーム開発現場ですっかり定着したゲームエンジン。中でもシェアNo.1を誇り、プロから学生まで多くのクリエイターに愛用されているツールがUnityだ。初心者向けのガイドブックやチュートリアルの質・量も突出している。しかし、それらをこなしてUnityが使えるようになっても、「おもしろいゲーム」を発想できるようになるわけではない。ガイドブックやチュートリアルが、「ゲームのおもしろさとは何か」について、教えてくれるわけではないからだ。こうした中、ユニティ・テクノロジーズ・ジャパンから、無料教材「あそびのデザイン講座」の公開が始まった。Unityの操作に習熟しながら、「ゲームのおもしろさについて体験理解する」という、今までとは異なるアプローチの教材だ。非ゲーム開発者ながら、ゲームデザイナー志望の学生を教えることになった筆者が、この教材を活用しながら、実際に授業を行なった模様をレポートする。
小野憲史氏 ゲームジャーナリスト
1971年生まれ。関西大学社会学部を卒業後、「ゲーム批評」編集長などを経て2000年よりフリーのゲームジャーナリストとして活動。CGWORLD、まんたんウェブ、Alienware zoneなどWeb媒体を中心に記事を寄稿し、海外取材や講演などもこなす。他にNPO法人IGDA日本名誉理事・事務局長、ゲームライターコミュニティ世話人など、コミュニティ活動にも精力的に取り組んでいる。2017年5月より東京ネットウエイブ非常勤講師に就任。
ゲームメディア概論のはずが、大半の学生はゲームデザイナー志望
ゲームジャーナリストの小野憲史です。CGWORLD.JPやCGWORLD Entry.jpなどで記事を執筆するかたわら、2017年5月から専門学校 東京ネットウエイブで非常勤講師を担当しています。授業科目は「ゲームメディア概論」で、1年生19名、2年生30名の学生を週1日、2コマずつ教えています(つまり1日で4コマを教えることになります)。これまでも大学でゲスト講師を行なったことはありますが、通年で授業を担当するのは初めてで、自分自身も様々なことを学びながら、毎週新鮮な感覚で授業をしています。
もっとも、「ゲームメディア概論」という授業なので、当初は「記事の書き方を教えるのかな......」と考えていたら、蓋を開けてみてビックリ。授業を履修している学生の大半はゲームライターではなく、ゲームデザイナー志望でした。普通に記事の書き方を教えると、途中で学生のモチベーションが保てなくなりそうです。そこで泥縄式ではありますが、授業を重ねながら「ゲームのおもしろさを分析し、それを文章で説明できるようにする」というテーマを掲げて、授業内容を寄せていきました。これなら、ゲーム紹介やゲームレビューの書き方にも合致しますし、ゲームデザイナー志望の学生とゲームライター志望の学生、どちらもある程度満足のいく授業ができそうです。
ただ、「ゲームのおもしろさを分析する」には、ゲーム全体の構造や、おもしろさを生み出すメカニズムの分析が欠かせません。そのためには、理論もさることながら、どんなに小さな規模でも構わないので、実際にゲームをつくってみる(あるいはゲーム制作に参加する)のが一番です。自分もゲームジャムの開発参加を通して、周りのゲーム開発者から、様々なことを学びました。とはいえ、ゲームデザイナー志望の学生に対して、いきなりゲームジャムへの参加を促しても、気後れさせてしまうだけなのが事実。何か良い教材はないかなと探していたところ、ユニティ・テクノロジーズ・ジャパンの「あそびのデザイン講座」に出会いました。
執筆者の安原広和氏は、『ソニック・ザ・ヘッジホッグ』『アンチャーテッド エル・ドラドの秘宝』などの開発に参加したゲームデザイナー。現在はユニティ・テクノロジーズ・ジャパンで教育関連事業に従事しています。「あそびのデザイン講座」は全20回の連続講座で、既にWeb上で第0回から第2回まで、3回分のスライドを公開中。2017年9月23日には、「Unity道場 幕張スペシャル -Education編-」で、追加増補版の「続 あそびのデザイン講座」資料も公開されました。
これらのスライドをチェックしたところ、小学生向けにかみ砕いた説明でありながら、骨太で、子どもから大人まで幅広い年齢層に訴求する内容になっていました。しかも、「Unityでゲームのつくり方を教える」のではなく、「Unityでゲームのおもしろさが生まれるメカニズムについて体験させる」内容になっており、ゲームデザイナー&ゲームライター志望の学生こそ、体験すべき内容だと言えそうです。また、この講座は「(授業の)目的」「実習項目」といった項目が存在するなど、ゲーム開発を学ぶ学生だけでなく、一般の教員が授業中に活用するための手引き書という体裁もとっています(その背景には公立学校でのプログラミング教育(※1)の導入などがあると言えそうです)。一方で自分もまた、Unityを使った経験がほとんどないという、まさに狙い通りの人選!
※1 参考:学校教育 - プログラミング教育実践ガイド(文部科学省)
jouhouka.mext.go.jp/school/programming_zirei/
というわけで、Unity初心者の筆者が、実際に専門学校で授業に使いながら、体験レポートを公開するという、これまでにない記事を書かせていただけることになりました。思わず前置きが長くなりましたが、2017年9月25日に実施した授業内容をもとに、第1回目のレポートをしてみたいと思います。
一般校の教員向けにも配慮された、無料で学べるPDF教材
さて、現在までに公開されている「あそびのデザイン講座」は、次の3個のPDFに分けて配布されています。
●第0回:Unityでゲームに『たのしい』を生み出す方法
●第1回:Unityってなんだろう
●第2回:Unityの操作をしよう
それぞれ概論編、基本的な操作説明、実際にボールを転がすワークショップという構成です。このうち第2回目の内容は、ゲーム専門学校ということもあり、学生たちも喜んでやってくれそうです。また、第0回もゲームデザインと密接に関係する内容であり、学生たちも高い関心を示しそうです。もっとも座学だけで解説すると、ちょっと退屈な内容になる恐れがあります。
これらに対して第1回の内容は、文字通り「Unityの説明」なので、授業で使うには工夫が必要なように感じました。学生にしてみれば、「そんな説明はどうでもいいから、早くUnityに触らせてくれよ」という感じになるでしょうから......。もっとも、その中で解説されている「Prefab」については、Unityを構成する基本概念でもあるため、何らかのフォローアップが必要になりそうです。
このほか、(これは学校側の問題ではありますが)教室のPCにUnityをインストールして、実際に使用可能にするまで、想像以上に手間取るかもしれないという懸念点がありました。東京ネットウエイブでは自宅にPCがない学生でも、様々な課題がこなせるように、学内にゲーミングPCが備品として用意されており、1人1台以上の環境が整っています。もっとも、全てのPCで同じ環境が揃っているとは限らず、しばしば不具合が発生するのも事実です。
そこで、あらかじめ似たようなゲームメカニクスをもつ、スマートフォン向けの無料パズルゲームを2つ選択しておき、学生に自分たちの端末でプレイしてもらって、比較・考察してもらう時間を設けることにしました。これによって第0回の導入をスムーズにすると共に、不測の事態に対応するための時間的余裕をつくることにしました。この2点に気をつければ、ある程度うまく授業が展開できそうです。
ちなみに東京ネットウエイブでは他の学校と同じく1コマが90分で設定されていますが、「ゲームメディア概論」をはじめ、いくつかの演習系の授業では2コマで1単元が設定されています。つまり90分×1回ではなく、90分×2回の連続授業という形式。もっとも180分も授業を行うと、聞く方も話す方も疲れてしまいます。そのため前半は座学、後半は演習といった具合に内容を変えたり、内容を30分ごとに分けてトピックを変えたり、時にはみんなでゲームを遊んだり、映像を鑑賞したり、グループディスカッションをしたりと、メリハリをつけるようにしています。そこで今回も次のような流れで授業を行うように計画しました。
1コマ目
●~30分 連絡事項(前期の課題解説と、その内容を踏まえたミニ演習)
●~60分 2種類の無料パズルゲームを各自のスマホでプレイさせつつ、PCの環境確認
●~90分 第0回の内容を元に授業(座学)
2コマ目
●~70分 第2回の内容を元に演習
●~80分 ほかの学生の成果物をプレイして感想を共有
●~90分 まとめを兼ねて、第1回の内容をかいつまんで解説
それでは実際の授業内容と、そこから得られた知見について紹介していきます(1年生と2年生の授業は、細かいところを除けばほぼ同じ展開でしたので、1つにまとめます)。まず教室内のPCを確認したところ、予想通り何台かでUnityがインストールされていないことがわかりました。そのためパズルゲームを各自でプレイしてもらいながら、Unityをインストール。デフォルトだとスクリプトエディタのVisual Studio Tools for Unityも同時にダウンロードされてしまうので、こちらはキャンセルして作業を続行しました。
なお、教育機関でUnityを用いた演習を行う場合は、事前に無償の教育機関向けライセンス(※2)を、使用するPC台数分、取得しておく必要があります(個人制作などで使用される頻度の高いPersonal Editionでは、ライセンス違反となります)。これにより、Personal Editionのアクティベーションで必要になるパーソナルアカウントの登録も省略することができます(情報提供いただいたユニティ・テクノロジーズ・ジャパンの皆様、ありがとうございます)。
※2 参考:Unity Educational (教育機関向けライセンス)無償化のお知らせ
https://unity.com/ja/products/unity-education-grant-license
ゲームのおもしろさは「遊んでみなければわからない」
さて、環境が揃ったところで、ようやく授業再開です。はじめに『ラップスー合体させる』(※3)と『Make7! Hexa Puzzle』(※4)を遊び比べて、どちらが個人的におもしろかったか、手を挙げてもらいました。
※3 『ラップスー合体させる』iOS版、Android版
※4 『Make7! Hexa Puzzle』iOS版、Android版
どちらも同じ数字を3つ以上並べて、より大きな数字をつくりながら消していく「数字パズル」の変形でありながら、『ラップスー合体させる』には『Make7! Hexa Puzzle』にはない反射神経の要素があるなど、ゲームデザインが若干異なっています。その上で、どちらのダウンロード数がより多いか、推測して手を挙げてもらったところ、それぞれ、パラパラと手が上がりました。ここまで体験してもらったうえで、アメリカのApp Storeのダウンロードランキングでは、どちらもボードゲーム部門で100位前後と、大差がないことを説明。つまり、仮におもしろさとダウンロード数が比例するとしたら、両者は同じくらい「おもしろいゲーム」であるということがわかります(かなり乱暴な意見ですが)。
しかし、実際には「おもしろさに差がある」と感じた学生が大半でした。ここから、ゲームのおもしろさは属人性が高く、ある人にとっておもしろいゲームでも、別の人がおもしろいと感じるかは、それこそ「遊んでみないとわからない」こと。だからこそ、ゲームのアイデアは企画書ではなく、プロトタイプをつくるなどして、実際に遊べるようにして判断することが重要であること。その上で、できるだけ多くの人に遊んでもらって、様々な意見を取り入れつつ、改良していくことが重要であること。そして、それを可能にしたのがUnityのようなゲームエンジンであることについて解説しました。つまり、ゲームエンジンとは「ゲームのプロトタイプをつくって、おもしろさを検証するための道具」であり、ゲームデザイナーに向けてつくられたツールだと言えます。
いずれも、既に授業で説明したことではありますが、ここで改めて説明しておきました(ちなみに、はじめに各々のゲームのプレイ動画だけ視聴させて、どちらがおもしろいか手をあげてもらい、その上で遊び比べてみてもらえば、より理解度が深まったかもしれません)。
とりあえず動くモノをつくれ、全てはそれからだ
もっとも、「ゲームのおもしろさについて、実際に遊んで判断する」といっても、何かおもしろさを計測する「おもしろ単位」などがあるわけではありません。最近でこそ発汗や心拍数といった、遊び手の生理情報を計測して、おもしろさの分析に役立てようとする試みが進んでいますが、まだまだ研究段階に留まっています。そのため開発現場ではアンケートやヒアリングといった、定量的・定性的手法を組み合わせて、判断するやり方が中心です。つまり、どうしても「上着の上から背中をかく」ような、もやもやした部分が残ってしまいます。
実際、遊びに関する古典的な学術書『ホモ・ルーデンス』(ヨハン・ホイジンガ著)でも、「おもしろさというのは、それ以上根源的な観念に還元させることができない」と分析されています。つまり「人がおもしろがる目的は何か? その原因は何か? といった分析はできない」「おもしろいものは、おもしろいからおもしろいのである」と、最初からサジが投げられているのですね。
ただ、誰しもが「このゲームはおもしろい」「つまらない」という体験をしたことがあるのは事実。そして、そこには一般的に理由、すなわち「おもしろさを生み出す仕組み(=ゲームメカニクス)」があります。このゲームメカニクスをつくり出す行為が、ゲームデザインと呼ばれるものです。そして、ゲームデザイナーの仕事は「よりおもしろい」ゲームをつくり出すことにあります(実際は「売れるゲームをつくり出すこと」ですが、ここではその話は脇においておきます)。
つまり、「おもしろさ」そのものを分析することはできないけれど、完成したゲームを遊べば誰しも「おもしろさ」が判断できて、その「おもしろさ」は特定のゲームデザインによって生み出される......。なんだか禅問答みたいですね。しかも最近では、同じゲームでも地域別に売れ行きが異なる......すなわち、同じゲームメカニクスでも、地域や文化によって「おもしろさを感じ取る度合い」が異なるのかも知れない......といった可能性が指摘されています。まあ、こうした細かい議論はさておき、要するにここでも「ゲームのおもしろさは、遊んでみなければわからない」そして本当におもしろいゲームは「おもしろい」としか言えない。しかし、そのおもしろさは特定のメカニクスによって生み出される。すなわち「とりあえず動くモノをつくれ、全てはそれからだ」と言っているように思われます。
「あそびの4要素」のイラストが指し示すもの
実際に第0回の説明でも「人は『動くもの』に惹かれる」「ユニークなものを見つける(ことに惹かれる)」「『制限』に緊張する(ことに惹かれる)」という説明がありました。しかし、その理由は記されていません。おそらく、これらは安原氏をはじめとした、古今東西のゲームデザイナーがこれまで、様々なゲームをつくり出していく過程で、経験的に蓄積してきた知見なのではないかと思われます。
また、ロジェ・カイヨワの著書『遊びと人間』をベースとした説明もあります。カイヨワはホイジンガの弟子にあたる研究者で、(当時の)全ての遊びを「競争」「偶然」「模倣」「めまい」の4つに分類しました。そのうえで、これらが独立して存在するものではなく、あらゆる遊びはこれらの要素が組み合わさって成立していると分析しました。資料ではこれらの議論を発展させて、公園のすべり台をベースに、「ぞうさん形のすべり台にする(+模倣)」「恐竜型のすべり台にする(+模倣+めまい)」「噴水をランダムに浴びせる(+模倣+めまい+偶然)」「複数人が一緒に滑れるようにする(+模倣+めまい+偶然+競争)」という例が挙げられています。非常にシンプルにまとめられた、すばらしい説明です。
ただし、この図が非常に良くできているがゆえに、ともすると誤解されそうな側面もあります。というのも、この図を見ると、単純に「あそびの要素を足していくと、その分だけおもしろさが増していく」ような気がしてしまうのです。しかし、スライドにはしっかり「これらの要素を具体的に加えていき、あそびやゲームに『楽しさ』が足されるかを実践します」と記されています。つまり、ここでも「おもしろさは、試してみなければわからない」と書かれているのです。もっとも、公園のすべり台を実際につくったり、拡張したりするのは困難です。これが、Unityを使えば簡単に可能になるというわけです。
「人の感情」に関する説明も同様で、ゲーム体験の基本構造は「予想→実践→結果」のサイクルで生まれるという説明があります。おもしろいゲームには、このサイクルを通して、おもしろさが連続的に創出されていく構造があります。だからこそ、人は何時間でも夢中になって、コントローラのボタンを押し続けることができるのです。そのためには、他者から承認欲求を満たされること(ありていにいえば、褒められること)が鍵となります。
ゲームを遊んでいる時は、プレイヤーはゲーム機によって褒められます。ゲームをつくるときは、テストプレイヤーによって自分の成果物を褒めてもらうことになります。これが手軽にできるのが教室(ないし授業)という環境です。周りに試遊して、感想を提示してくれる友達がたくさんいます。これが、家庭での独習ではなく、学校で学ぶことのメリットとなります。そのためには「他人に遊んでもらって、喜んでもらえる」ものを、短時間でつくる必要があります。だからこそ、Unityのようにすぐに試せる環境を用意することが大切です。
自分は第0回の解説はこのように読み解き、学生にもそのように説明を行いました。こうした背景情報は、単にUnityのチュートリアルを進めるだけでは、余分な内容かもしれません。しかし、「おもしろさ」をUnityでつくり出せるようになるためには、必須となります。繰り返しになりますが、今はまだ人間は「おもしろさ」の本質を分析するまでに至っていません。しかし、それを経験的・体験的な知見をもとに、つくり出すのがゲームデザイナーの仕事です。その意味を理解して、実践できるようになるのが、この演習の目的となります。これらを理解してもらうために、「ホモ・ルーデンス」の紹介を簡単に補足しつつ、資料にもとづいて説明を行いました。
ボールを転がすコースづくりに挑戦
さて、いよいよUnityを用いた演習の時間です。第2回の内容をベースに進めていきます。演習内容は「障害物を配置したスロープをつくって、ボールを上から転がしてみる」というものです。
●1:キューブをつくる
●2:キューブの大きさを変えて、床をつくる
●3:マテリアルを設定して、床の色を変える
上記の一連の作業でUnityの基本的な使い方と、Prefabの概念(ゲームオブジェクトとコンポーネントの組み合わせでPrefabができること。1度つくったPrefabはコピーして活用できること)が、感覚的にわかる仕組みになっています。ほとんどの学生はUnityを触るのが初めてでしたが、さすがに普段からマウス操作に慣れているからか(実際はゲーミングノートPCによるタッチパッド操作でしたが)、みなサクサクと進めていました。
●4:ボールをつくる
●5:マテリアルを設定して、ボールの色を変える
●6:ボールの位置を変える
●7:ボールに重力を働かせる
●8:床を傾ける
続く上記の作業で、床を傾けてボールを転がすという、本ワークショップの最小単位が完結します。
●9:床を増やす
●10:床の上に物を配置する
●11:ステージの構成を複雑にして、ボールを転がして楽しいステージをつくる
あとは上記の作業を経て、床を増やしたり、円柱などの障害物を配置したりして、ステージを複雑化させていくだけです。プレイモードとエディットモードの切り替えを忘れて作業を進めてしまい、せっかく制作したデータが反映されなかったという「Unityあるある」トラブルに遭遇した学生が1名いましたが、ほかは順調に課題をこなしていました。
ほとんどの学生がUnity初体験ながら、楽しんで課題をクリア
ゲームメディア概論を履修する学生は、前述のとおり、大半がゲームデザイナー志望です。そして東京ネットウエイブでは、ゲームデザイナー志望の学生に対してゲームエンジンを使った授業を行なっていません(ゲームプログラマー志望の学生のみ実施)。もっとも、これは東京ネットウエイブに限らず、多くの専門学校で同様ではないかと思われます。にもかかわらず、大半の学生がタッチパッドでの操作もものともせず、時間内に課題を終了させていたことは、ちょっとした驚きでした。
とはいうものの、中には「カメラの向きが変になったまま、元に戻せない」など、基本的な操作でまごついた学生がいたのも事実です。そのため、基本的な操作については、教員がプリントして学生に配布できるように、どこかにまとまっていると良かったです。一方で自分としても、次回からはホイール付きマウスを学生に持参させようと、改めて思いました(あまりに基本的な事柄かもしれませんが、こうした落とし穴が見つかったことは良かったです)。
周知の通り、Unityには物理エンジンが内蔵されており、本演習でもパラメータを調整するだけで、様々なボールの動きをつくり出すことができます。この時、ボール側だけでなく、床側にも物理特性を与えて、床の反射率などを変更させると、より複雑な動きがつくり出せます。そこで、授業の後半では床にPhysic Materialを設定する方法について、追加で解説しました。
このほか学生の中には、こちらが教えていないにもかかわらず、「ドミノのような板をたくさん並べて、ボールをぶつけて倒していく」「ボールの動きとカメラの位置を同期させ、プレビュー画面をボール視点の派手な動きにする」「エミッターをステージ上に複数配置して、花火のようなエフェクトを出す」などの、こちらが予想していなかった改造を行なった者もいました。また、マテリアルのスペキュラ値を調整して、床を鏡面反射させようとした学生もいました(残念ながら知識不足で達成できませんでしたが)。授業の終盤で「ほかの学生の制作事例を見て、互いに感想を伝え合ってください」と呼びかけると、多くの学生が席を立ってほかのPCをチェックし、そこかしこで歓声が上がっていました。
もっとも、「複数のボールを同時に転がす」「ラグビーボールのようにするなど、ボールの形を変える」「ボールの質量を変える」など、こちらが想定していた変更を行なった学生は見られませんでした。これらのやり方については、インターネット上に数々の事例や解説が掲載されています。そのためキーワードを提示するだけで、意欲のある学生であれば自分で検索して調べて、実装することができるようになります。資料中にも、こうした「改造のためのキーワード」に関する記載があれば、より発展性があるように感じられました。
次回に向けての課題
このように、一通り演習が終了した後で、最後に第1回のPDFに戻って、Prefabの基本的な概念について補足しました。既に「キューブをつくってマテリアルを加える」などの作業を体験した後なので、学生も腑に落ちたようです。また、今回実施した「ボールの動きが楽しいコースをつくる」という行為が、レベルデザインの基礎に相当すること。そして、ここから「ボールを自由に操作できる」「スコアや制限時間をつける」「残機とゲームオーバーの条件を加える」といった、様々なロジックを加えていくと、それだけで簡単なゲームになりえること。こういった、次回以降に続くであろう概念についても、簡単に説明しました。
もっとも、これらは頭で理解するよりも、手を動かして理解してもらう方が、ずっと身になることも事実です。「Unity道場 幕張スペシャル -Education編-」で公開された、追加増補版の「続 あそびのデザイン講座」資料では、レベルデザインの基本的な概念と、なぜそれがおもしろさに繋がるのかについての解説が、より詳しく書かれています。次回の演習では復習も兼ねて、実施してみたいと思います。
ちなみに作成したデータは別のPCで動作させることもできます。Unityのプロジェクトファイルに入っている全てのファイル(Asset、libなど)を、USBメモリなどにコピーします。次に別のPCにファイルを移し替え、Unityの起動画面でプロジェクトフォルダを指定すればOKです。前述の通り、東京ネットウエイブでは共有のゲーミングPCを使用して演習を行なっており、学生は自分のUSBメモリで制作物などを管理しています。次回以降、より演習が本格的になるにつれ、これらの操作も実施していく予定です。
このように右往左往しながら進めた演習も、ようやく終了しました。学生たちが楽しそうに作業をしていたのが何よりの収穫だったでしょうか。今後はスクリプトを用いた、より高度な内容になっていくのではないかと思いますが、4回目以降の資料配付を期待しております。こうした素晴らしい資料を制作いただいた安原氏とユニティ・テクノロジーズ・ジャパンの皆様、また授業内容のレポート記事制作をご快諾いただいた東京ネットウエイブの関係者の皆様、CGWORLD編集部の皆様、そして長文にもかかわらず最後までお読みいただいた読者の皆様に改めて御礼を申しあげます。
TEXT&PHOTO_小野憲史
EDIT_尾形美幸(CGWORLD)