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

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

2018年度は「座学+Unity」でスタート

お久しぶりです。ゲームジャーナリスト兼、専門学校東京ネットウエイブ非常勤講師の小野憲史です。講師の皆様におかれましては、2018年度の前期授業がスタートし、ある程度落ち着いてきたタイミングではないでしょうか? 本校でも4月いっぱいオリエンテーリングが行われ、ゴールデンウィーク開けから本格的に授業がスタートしました。夏休みをはさんで全14回、1回につき90分授業が2コマ、合計28コマの授業を行なっている最中です。

カリキュラムでも大きな変更がありました。最大の特徴はゲーム企画専攻の2年次の前期授業で、新たにUnity演習が必修になったことです。ゲームエンジンに関する演習は昨年度まで、ゲームプログラマー専攻の学生が対象になっていましたが、本来ゲームエンジンは企画がアイデアの有効性を手軽に検証するためのツール。実際に動くものを自由につくらせることで、学生の企画に対する理解がより深まると思われます。皆がどのようなゲームをつくりあげるか、今から楽しみです。

これに対して自分の授業は1年生の「ゲームメディア概論」と、2年生の「ゲームライター実践」の2科目となりました。前者は昨年度と同じく、ゲーム企画専攻とゲーム宣伝専攻の合同クラス。後者はゲーム宣伝専攻の2名のみという、ゼミのような授業となっています。そこで本連載も1年生の授業における、Unityの活用事例についてレポートしていきます。ゲーム企画専攻は20名、ゲーム宣伝専攻は5名。あわせて25名で、うち3割が留学生。男女比は3:1という感じです。

▲授業中の様子


その上で昨年度の反省(※1)から、今年度は以下のような指針を立てました。

授業の指針
1. 授業のテーマ(ゲームのおもしろさを構造的に分析し、文章で説明できるようになる)と、そのためのフレームワークを最初に提示する
2. 授業は座学と演習の組み合わせにする。なお、演習は原則としてUnityを使用する
3. 座学は対話型授業で進める

※1 昨年度の授業ふり返りと最終的な講義内容については、以下をご覧ください。
ふり返り
講義内容

なお、ここでフレームワークとなるのは演繹法、いわゆる三段論法のことです。三段論法は大命題と小命題から結論を導き出すもので、「物を放すと地面に落ちる」「ボールは物である」「ボールを放すと地面に落ちる」などが好例です。これを授業のテーマに当てはめると「要素Aはゲームのおもしろさを構成する」「ゲームBは要素Aが明瞭である」「ゲームBはおもしろい」という論旨が成り立ちます。昨年度はこの点があやふやなまま進んだため、ピントがボケた授業になってしまいました。

では、ゲームのおもしろさを構成する要素Aとは何でしょうか。そして、それはどのように教えられるのでしょうか。ここで有効なのがUnityによる演習です。幸いにも多くの先人の手で、ゲームデザインに関する理論化や体系化が、こと日本でも進みつつあります(ボーンデジタルでも『しかめっ面にさせるゲームは成功する』『中ヒットに導くゲームデザイン』などの翻訳書が出版されています)。そうした理論を、モノをつくって実際に確かめられるのが、Unityを導入するメリットというわけです。

ただし、ゲームデザインの理論化や体系化は、まだまだ道半ばというのが実情です。ユニティが提供する「あそびのデザイン講座」も、そうした一里塚のひとつだと言えます。その中でも本講座の特徴は、ゲームと遊びの境界線がどこにあるのか、Unityを使って自分自身で制作した教材をもとに、遊びながら確かめられる点にあること。講座は全15回+1回で構成され、現在は第6回「リプレイ」まで公開中。2018年度中に全講座の公開が予定されています(※2)。

※2 詳細は拙稿「Unityを通じたゲームデザインやプログラミング教育の可能性と教育現場での活用例∼Unite Tokyo 2018レポート(2)∼」をご参照ください。

ちなみに、「あそびのデザイン講座」をはじめとして、世界中でゲームデザイン関連の書籍化や研究が行われているのは、それだけゲームが多様性を備えているからだと言えます。どんな定義付けをしても、どこかしっくりこない。その背景にあるのが「ゲームは技術進化をベースとした娯楽遊戯」であること。技術進化に伴い、次から次へと既存の枠に囚われない、斬新なゲームが登場していくのです。だからこそ、ゲーム企画者は常に最新の知見や事例を調べ、学習し続ける姿勢が求められます。

ところが専門学校の授業というのは、圧倒的に短いのですね。前期28コマの授業も業務日数に換算すれば、90分×28=2,520分=約5日にすぎません。仕事を始めれば、わずか1週間で終わる計算です。そのため授業で必要なことは、学生に対して「正しい知識を効率的に教えること」ではなく、「自ら学ぶ姿勢を植え付けること」。そのため遊びの概念をはじめ、基本的なところにたっぷりと時間をかけ、学生と議論や対話を繰り返しながら、少しずつ授業を進めていくスタイルに切り替えました。

もっとも日本の学生は高校生までの授業で、「授業中は正解しか口に出してはいけない」と思い込まされています。発言を促しても、誰も手を挙げないなどは、よく見られる光景です。しかし「学生数が25名と小規模なこと」「3割近くが留学生であること」「元気な学生が多いこと」などの理由で、思いがけず対話型授業がハマりました。また、こちらも教室にペンタブレットを持ち込み、下手なイラストをその場で描いてみせるなど、思わず学生がツッコミたくなる空気が生まれるように注力しました。

特におもしろかったのが、「ゲームは芸術か?」という議論です。こちらの意図としては、「デザインとは課題解決である」「ゲームデザインはデザインの一領域である」「ゲームデザインは課題解決である」という三段論法を展開。その接線として、芸術とのちがいについて取り上げるつもりでした。芸術は自分の衝動がベースなのに対して、デザインは課題を解決する行為。その上で商業デザインでは、クライアントと市場という二つの異なる課題を解決する努力が求められる......というわけです。

しかし、ここで留学生の一人が「ゲームは芸術である」と疑問を呈してきたのですね。実際に2013年、ニューヨーク現代美術館(MoMA)が14本のゲームを収蔵したことで、「ゲームは芸術か」論争が海外で繰り広げられたことがありました。一方で日本では、芸術を巡る社会的関心のちがいも手伝って、こうした議論はあまり盛り上がりません。だからこそ本テーマは、留学生が多いという学校の特性に適しているとも言えます。こうした学生の斜め上の反応に、自分としても目から鱗が落ちる思いでした。

もっとも、こんな風に座学で色々な脱線ができるのも、Unity演習という軸があってのこと。その意味で、座学と演習は英語のリーダーとグラマーのような関係だと言えるでしょう。そもそも、説明に沿ってコンテンツをつくり上げるだけでは、説明書通りにレゴを組み立てるようなもの。それでは、せっかくUnityを使用する意味も乏しくなります。「あそびのデザイン講座」を通して、実際に手を動かしてモノがつくれるようになったことで、座学(※3)の重要性がさらに増してきたと言えそうです。

※3 なお、座学で使用しているスライドや議事録はこちらで公開しています。

坂をつくってボールを転がし、物語をつくる

さて、本稿の執筆時点で6日分の授業が終わりました。「あそびのデザイン講座」における第2回∼第4回までの内容に相当し、坂道をつくってボールを転がしながら、様々な仕掛けを盛り込みつつ、物語性を感じさせるような映像(リアルタイムデモ)をつくることが目的です。なお第0回で解説されている「楽しさ」については、座学の内容と重複するため、あえて取り上げませんでした。また、第1回目の内容もUnityの概念的な説明が中心になるため、省略しました。

その一方で、はじめに学生に対してUnityを学ぶ動機付けを明確に示したかったため、初日の演習で「Roll-a-Ball-Custom-1stDev-2018」ワークショップを実施しました。専門学校デジタルアーツ仙台の志村 淳先生が作成されたUnityプロジェクト(※4)で、ステージ上でボールを転がしながらアイテムをフルコンプする時間を競ったり、自由にステージをカスタマイズできたりするものです。Unity入門者が対象の優れた教材で、授業も大変盛り上がりました。

※4  Unityの総合カンファレンス「Unite Tokyo 2018」(5月7日∼9日)にて、志村 淳先生が本プロジェクトについて講演した際の資料はこちらで公開されています。41∼58枚目が当該資料となります。また、本プロジェクトはGitHubのこちらで公開されています。

演習プログラム
第0回:Unityでゲームに「たのしい」を生み出す方法(省略)
「あそびのデザイン講座」の背景となる方法論を理解する

第1回:Unityを使って「たのしい」を作ろう!(省略)
Unityの簡単な使い方や、ゲームオブジェクトとコンポーネントの仕組みを理解する

特別編:「Roll-a-Ball-Custom-1stDev-2018」ワークショップ(5月11日)
Unityで簡単なレベルデザイン体験を行う

第2回:Unityの操作をしよう(5月18日)
Unityで坂道をつくり、障害物を設置して、ボールを上から転がしてみる

第3回:インターラクション(5月25日・6月1日)
ボールがぶつかると、障害物が消えるようにする

第4回:目と耳で感じる「インターラクション」(6月8日)
ボールがぶつかると、障害物の色が変わったり、大きさが変わったり、音が鳴ったりするようにする

発表(6月15日)
これまでに作成した内容を皆の前で発表する

今年度は演習を始める上で、準備も工夫しました。第1に「あそびのデザイン講座」実施分のスライドを事前にプリントアウトして配布することです。目的はスクリプト作成時のミスを減らすことにあります。昨年度は「スクリプトはコピペで良い」と割り切りましたが、今年度は時間に余裕があるため、必要なスクリプトを手打ちさせることにしました。そのためには手元に紙の資料があった方が便利で、学校側に頼んで印刷してもらいました(A4 1ページにつき4枚のスライドを印刷)。

▲授業中の様子


第2に作業内容の動画チュートリアルを作成して学内サーバにアップロードしました。もっとも、複雑なことは何もしておらず、作業画面を動画キャプチャし、不要な部分を削除したのみです。しかし、これだけでも効果は絶大で、マウスの実際の動きなど、スライド資料だけではわかりにくい部分を補うことができました。学生は思わぬところでつまずく(メニューを表示させるクリック位置がわからないなど)ため、非常に効果的でした。

▲筆者が作成した「Roll-a-Ball-Custom-1stDev-2018」の動画チュートリアル


ちなみに動画チュートリアルの有効性については、ユニティが4月21日に主催したUnite Tokyo 2018 Training Day「ProBuilderで学ぶレベルデザイン」に参加した際、身をもって実感しました。本会は講師の説明にあわせて、前方のモニタを見ながら行うハンズオン形式で行われました。ところが途中で自分のPCがフリーズしてしまい、再起動をかける必要に見舞われました。その結果、講師の説明についていけなくなったのですが、動画チュートリアルが別途用意されていたため、助かりました。

実は前述の「Roll-a-Ball-Custom-1stDev-2018」ワークショップも、Unite 2018の取材で初めて知ったものでした。そこで有効性を感じ、授業実施の直前ではありましたが、取り入れてみた次第です。動画チュートリアルについても、自分で実際にハンズオンに参加して実感したもの。普段は講師として教える側の皆様も、たまには学ぶ側になってみると、思わぬ発見が得られるかもしれません。

次ページ:
アカウント認証で原因不明のトラブルが発生

[[SplitPage]]

アカウント認証で原因不明のトラブルが発生

一方で今年も様々なトラブルが発生しました。「またか!」「事前に確認しろ!」と言われそうですが、例によって見舞われたのが、アカウント認証の問題です。事前に学校側でUnityの教育アカウントを取得していただいていたのですが、なぜか一部のPCで認証が通りませんでした。あわせて一部のPCではUnity側の認証は通ったものの、「アセットストアにアクセスできない」「Visual Studioのアカウント認証が通らない」「Gmailでファイルが添付できない」などの現象に遭遇しました(※5)。

※5 本校ではUnityのバージョンは2017.1xと2017.4xが混在しています。

幸いUnityはオフライン環境でも使用できるため、決定的な問題ではありません。ただし、アカウント認証をパスしていなければ、アセットストアが活用できません。そのため「あそびのデザイン講座 第4回」で解説されている、「アセットストアから効果音アセットを読み込む」ことができなくなりました。こうした学生にはネット上からフリーの音源ファイルをダウンロードし、個別に組み込むやり方を教えることで対応しました。

このように、認証まわりのトラブルはUnityに固有のものではなく、ネットワークに起因するものだと言えそうです。本授業で使用する教室のPCはWi-Fiで接続されており、急激にPCの台数が増えたことで、なんらかの不具合が発生したのではないか......というのが学校側の見解でした。現在は一部のPCでWi-Fiではなく、有線インターネットで接続するという応急処置がなされています。ただし、抜本的な問題解決につながってはおらず、今後も学校側には改善を期待したいところです。

もっとも、このことは「インターネットがなければ、Unityが機能制限される」ことを意味しています。試しにアセットストアからダウンロードしたアセットを別のPCでインポートしたところ、うまく動作しませんでした。動画キャプチャに「Recorder」を使用させたかったのです。今後エディタ拡張機能で機能が制限され、必要なアセットがあらかじめバンドルされ、オフラインで使用できる「あそびのデザイン講座」スペシャル版Unityが登場すると、より教育現場で重宝されるのではないでしょうか。

作業環境の保存にまつわるトラブルもありました。本校では学校側でノートPCを用意し、一人一台以上の作業環境を提供しています。ただし、必然的に同じPCを複数の学生が使い回す状態になるため、作業途中のデータをPC側に保存したままにしておくと、データが勝手に削除されるなどの問題が発生します。そのため授業でも、作成途中のデータを個人所有のUSBメモリに保存するなどして、PC側に残さないように指導しています。

ただし、このやり方を誤解したまま覚えている学生が少なからず存在しました。具体的にはUnityのプロジェクトフォルダではなく、Unityのシーンデータをエディタ上からコピーして、良しとしてしまったのです。そのためPCが変わったり、プロジェクトフォルダが削除されたりすると、作業が引き継げなくなる事態が発生しました。他に、はじめにシーンデータをセーブする際に、プロジェクトフォルダの外に保存しようとして、うまくいかずに立ち往生するケースも見られました。

一方でUnityでは作成中のアセットをunitypackage形式でエクスポートすることもできます。これを後日インポートすることで、作業が引き継げるというわけです。ところが実際にやってみると、インポート時にエラーメッセージが表示され、先に進まなくなるケースが散見されました。日本語のフォルダ名が混ざっていたり、デスクトップやネットワーク上に保存したりするとトラブルの遠因になるようですが、原因が不明です。そのため学生にはプロジェクトフォルダごと保存するやり方を推奨しました。

これは推測ですが、現行のUnityは「原則として同じPCを同じ使用者が継続して使用する」ことが前提になっています。一方で本校のように、複数の使用者が同じPCを使用する場合も存在します。そうしたユーザーのために、作業環境中のデータ保存・読み込みが簡便化されると嬉しいところです。その一方で先生方におかれましては、どこかのタイミングで「第1回」の内容をもとに、「プロジェクトフォルダをまとめて保存する」説明を行なわれると良いかと思います。

最後にファイル名についても補足しておきましょう。学生の中にはUnityで新規プロジェクトを作成したり、シーンデータを保存したりする際に、日本語でプロジェクト名やファイル名を指定する例も散見されました。Unityに限らず海外製ツールを使用する場合、日本語のフォルダ名やファイル名はトラブルの温床になるため、避けた方が賢明です。裏を返すと、ここから指導する必要があるということです。最初にしっかりと説明しておけば良かったと後悔しました(※6)。

※6 以下はユニティからの補足情報です。

(1)日本語を含むパスは基本的に厳禁です。よくあてはまるパターンに「日本語のユーザー名」を設定しているケースがあります。この場合ホームフォルダが日本語になっているため、デスクトップ(C:¥Users¥日本語ユーザー名¥Desktop)、マイドキュメント(C:¥Users¥日本語ユーザー名¥Desktop)などが、全て挙動不審の原因となります。また、ネットワーク上のフォルダについても、日本語パスを含んでいると同様の事態を招きます。Unitypackage形式で保存する場合は、日本語パスを含まないように注意してください。

(2)作業中のデータをプロジェクトフォルダの保存で引き継ぐ場合は、全てのフォルダではなく、AssetsとProject Settingsの二つのフォルダだけ保存するようにしてください。これらのフォルダ以外のファイルやフォルダは一時ファイルのため、他のコンピュータでは基本的に使用できないためです。

完成度もさることながら、人前で発表できるかが重要

さて、このような香ばしいトラブルに見舞われつつも、なんとか制作発表までこぎつけました。当然ながら学生の習熟度には早い・遅いがあります。また、大学を経て専門学校に入学した学生の中には、Unityの経験者もみられました。その一方で初心者の中には、スクリプトの記述エラーでつまずく者も少なくありませんでした。目を皿のようにしてソースコードを眺めてみても、なぜかエラーが見つからず、隣の学生の指摘で気がつくことも......。まあ、これもひとつの経験でしょう。

その中でも、最初にUnityで楽しい経験をしたことがあれば、トラブルを乗り越えて先に進もうとする意欲がわいてきます。その意味でも最初に「Roll-a-Ball-Custom-1stDev-2018」ワークショップを行なったことは、相応の効果があったようです(ここでアカウント認証のトラブルが洗い出せたことも、その後の授業運営に役立ちました)。Unity演習は最初の環境整備が一番手間取りますので、こうした授業の進捗には関係しない「お楽しみ回」を最初に設定しておくことが重要かもしれません。

一方で、進捗の足並みを揃える機会を設定することも重要です。6月15日の発表会がそれに相当し、希望者によるプレゼンテーションを実施した結果、6名が力作を披露してくれました。主人公に見立てたボールの気持ちになりきって、ゴールまでの「冒険」の過程を説明するというものです。特に指定したわけではありませんが、それぞれに「延々と落下し続ける」「大量のオブジェクトを破壊する」「特定のゲームのシチュエーションを再現する」など、テーマを決めて制作していた点が印象的でした。

中でも「愛」をテーマに掲げて、赤と青のボールを上から落下させ、それぞれに壁や障害物で移動ルートを変えながら、最後に同じ場所にゴールさせた作品には感心させられました。また、合計で3個のボールが登場し、次のボールに動きをつなぎつつ、ステージ上から消えていくことで、「命のリレー」を表現していたものもありました。画面上で障害物が消えたり、色が変わったりすると、それだけで注目が集まります。ただし、サウンドを組み込んだ作品の発表はなく、次回以降の課題となりました。

もっとも、真の課題は作品発表が6人に留まったことかもしれません。というのも演習中に教室内を巡回しつつ、学生の進捗を確認していた過程で、多くの学生がユニークな作品をつくり上げていたことを知っていたからです。対話型授業時との反応のちがいに、少々戸惑いを感じさせられました。ただしセーブデータの問題で、発表したくてもできなかった学生が少なからずいたことも、また事実なのですが......。Unity演習に限らず、発表する機会を増やす試みが必要だと感じさせられました。

これ以外にも様々なエピソードがありましたが、ひとまず「坂をつくってボールを転がす」演習は一区切りつきました。「あそびのデザイン講座」では今後、プレイヤーキャラクターをつくったり、ミスやリプレイの機能を加えたりと、一気にゲームらしくなっていきます。それにあわせて「操作できるって、どういうことか」「自機と世界との関係性は」など、座学の方でもより深い内容が求められていきそうです。今後もキリのいいタイミングで、レポートを続けていく予定ですので、お付き合いください。



今回は以上です。次回もぜひお付き合いください。
(第5回の公開は、2018年7月以降を予定しております)

プロフィール

  • 小野憲史
    ゲームジャーナリスト

    1971年生まれ。関西大学社会学部を卒業後、「ゲーム批評」編集長などを経て2000年よりフリーのゲームジャーナリストとして活動。CGWORLD、まんたんウェブ、Alienware zoneなどWeb媒体を中心に記事を寄稿し、海外取材や講演などもこなす。他にNPO法人IGDA日本名誉理事・事務局長、ゲームライターコミュニティ世話人など、コミュニティ活動にも精力的に取り組んでいる。2017年5月より東京ネットウエイブ非常勤講師に就任。

本連載のバックナンバー

No.01:「あそびのデザイン講座」活用レポート
No.02:Unityスクリプトに初挑戦
No.03:Unityアセットストアに初挑戦