パワーポイントでゲームを自作する

パワポゲーム ゲーム

エクセル、ワードとならんで、仕事で使われることの多いOfficeソフト、パワーポイント。今回はそのパワーポイントを使って、子ども向けのゲームを自作してみました。とりあえず、完成品をご覧ください。

「Bobby Patrol」という変なタイトルになっているのは、当初「パウパトロールのゲームがほしい!メンバーの一匹一匹をお世話したり、ビークルに乗って出動して事件を解決したりするの!」という子どもの要望があったためです。そのための試作品として、うちのクマのぬいぐるみ、ボビーをリーダーとした架空のパトロール隊を設定し、彼らを主役にしたゲームの一部という形で、上記のパワーポイントを作成しました。もっとも、これひとつ作っただけで子どもは大満足、もうパウパトロールのゲームがほしいとは言い出さなくなりましたし、ママも「ボビーの一日」だけで根つきたので続きを作るつもりはありませんが、とりあえずタイトルも含めそのままの形でご紹介しました。ここでは、「パワーポイントでどれだけのゲームが作れるか?」という問いから、「ゲームを自作することに意味はあるか?」という点にいたるまで、このゲーム製作を通じて分かり得たことを共有したいと思います。冒頭のゲームがどのようなスライドで構成されているか知りたい方は、「VBAを使うとできること」から関連記事にとんでください。

ゲーム自作の経緯

今は本当に便利な時代。ちょっとApp Storeを開けば、子どもが数時間夢中になって遊べる害のないゲームが無数に見つかります。無料のものだって、どうしてなかなかのクオリティです。ですが、タダほど怖いものはないというのは本当で、無料版の落とし穴は、かならず他のゲームの広告が入ること。「ママぁ、このゲームやりたい」が始まります。いや、そっちのゲームは無料じゃないのよ・・という大人の事情はおかまいなし。

この間あんまりうるさいので、ついいつものくせで「そんなもんにやんや言わなくてよろしい。そんなんママが・・」つくったる、と言いかけて、さすがにそれは荷が重い、と思ったので「パパがつくってくれるよ」と逃げました。すっかり信じこんだ子どもたち、主人のもとに駆けつけて「ゲームつくってぇ」と飛び跳ねるので、何も知らない主人は「え?は?何??」と目を白黒させていましたが、趣旨を理解するとあっさり一言「ムリ」と宣告しました。まあ、さすがに無茶ぶりでしたね、失礼。ですが収まらないのは子どもたちで、主人の足元でギャアピイ泣くので、今度は主人が「父ちゃんにはそんな暇ないが、自分でつくりなさい」と別方向に点火しました。「え?つくれるの?」と目を輝かせる子どもに、無責任に「おう、がんばれ」とハッパをかける男親。かくして子どもたちは「ママぁ、いっしょにゲームつくろ。つくれるって!」と駆け戻ってきました。ええっと・・

さてさて、この話は一体どこに落とし込んだらよいものか・・こんな時代ですから、ゲーム開発用のソフトウェアのようなものも、探せば豊富にあるのかもしれません。ですがそれを入手してマスターするほど手間をかけたい話でもありません。自分の持ち前のスキルで、子どもたちを黙らせることはできないだろうかと考えて、パワーポイントを使うことを思いつきました。通常は、プレゼンテーションに用いられるパワーポイントですが、アニメーション機能が充実しているので、工夫すれば子どもだまし・・いえ子ども喜ぶ「ゲームもどき」が作れそうです。

アニメーションとハイパーリンクの活用

パワーポイントでゲームを作ることを考えたのは、私がはじめてではないようです。調べたら簡単なパワポ製ゲームのアイデアと作り方を紹介してくれているページを見つけました。

うちでもとりあえず、ここに紹介されているものに類似のゲームを、子どもといっしょに試作してみました。配置した図形に動きをもたせる「アニメーション」は、プレゼン資料を作成する時にもよく用いられる機能かと思いますが、それに加えて「オブジェクトの動作設定」を行うと、図形をクリックした時(あるいはマウスが通過した時)に起きる動作を設定することができます。もっとも簡単なのは「ハイパーリンク」の設定で、クリック時またはマウス通過時に特定のスライドにジャンプするように設定しておくと、自分のマウス操作によって「成功」または「失敗」に結果が分岐するというゲーム性が実現することになります。

パワポゲーム - ハイパーリンクの活用

これだけでも、子どもの食いつきは十分なものがありました。自分で手を動かす第一歩としてほどよい簡単さと面白さがあり、喜んで図形を配置したりハイパーリンクを貼ったりしていました。ただ、やはりアニメーションとハイパーリンクだけでは、複雑な処理は実現できません。アイデア次第ではもう少しいけるのかもしれませんが、たとえば「AとBとCが全部クリックされた時に限ってDのスライドへジャンプ」などを実現しようと思ったら、自分でマクロを書くのが一番手っ取り早いと言えるでしょう。マクロを使わずに、パワーポイントのスライド編集画面上だけで実現できる操作をまとめると、こんな感じです。

・特定の図形をクリック(またはマウス通過)すると、別ページにジャンプ
・特定の図形をクリックすると、アニメーションスタート

これらの機能だけで作れるゲームとしては、結果が成否の2パターンであるような、シンプルなものが向いていると思います。参考リンクで紹介されている障害物ゲームですとか、あるいは何択かの中から正解を選ぶクイズのようなものです。

アニメーションのトリガー機能:PowerPoint2016以前のバージョンで実現する方法

先ほど「特定の図形をクリックすると、アニメーションスタート」と書きましたが、実は私のもっているパワーポイントにこの機能は搭載されていませんでした。

パワーポイントは基本的にプレゼンで使われますので、通常アニメーションの時間軸は単一です。つまり、すべてのアニメーションには1、2、3・・と順番が振られ、ワンクリックするたびに順番通りにアニメーションが進むようになっています。このアニメーションの単一時間軸は、VBA(Office製品に標準搭載されているプログラミング言語)でMain Sequenceと呼ばれています。しかしこれとは別に、ある図形をクリックしたらアニメーションAが、別の図形をクリックしたらアニメーションBが、というような条件分岐機能、つまりInteractiveな時間軸も用意されているようなのです。この機能は、パワーポイントが「プレゼン」から「ゲーム」になる上でかなり重要です。

パワポゲーム - アニメーションの時間軸

ところが自分のパワーポイントの編集画面をどれだけくまなく探しても、それを実現するための設定項目は見当たりませんでした。調べた限りWindows版だとバージョン2010、Mac版だと少なくともバージョン2016からは、通常のアニメーション編集画面に「トリガー」というボタンが存在し、そこでアニメーション開始の条件として「特定の図形がクリックされた時」を選べるようです。残念ながら私が使っているのは、PowerPoint for Mac 2011。気づけばもう15年の前のバージョンなのですね。時代においていかれるのも無理はない・・

これはゲーム作りにおいてかなりの痛手でしたが、単純な条件分岐の場合は、ハイパーリンクの活用かマクロの導入によって擬似的に同様の操作が実現できるので、それでしのぐことにしました。例として、冒頭「Bobby Patrol」の0:03「おはよう、ボビー」での使い方を説明します。

インタラクティブな操作と通常のスライド進行のちがい

パワポゲーム - 「おはよう、ボビー」のスライド構成

このスライドの内容はとても簡単で、以下の3つのオブジェクトにアニメーションが設定されているだけです。
 (A) めざまし時計
 (B) ボビーの上半身
 (C) 吹き出し「おはよう」
(A)は「強調効果:シーソー」で揺らし、スライド表示時から次のクリックまで繰り返すよう設定します。(B)(C)は、プレイヤーが「めざまし時計を止める」という操作をおこなったら動き出すように設定したいところです。

トリガー機能の搭載されているバージョンなら、ここで(B)(C)のアニメーション開始条件として、「(A)がクリックされた時」を選択すれば話は完了。揺れているめざまし時計をクリックすると、ボビーが起き上がって「おはよう」と言う、という一連の流れが実現します。

ところがトリガー機能がなく、(B)(C)のアニメーション開始条件が単なる「クリック時」となっていると何が起こるかというと、めざまし時計ではなく画面上のどこをクリックしても、時計が止まってボビーが起き上がることになります。さらにもう一度クリックすると、「次へ」ボタンを押さなくても勝手に次のスライドにいってしまいます。プレゼン仕様ですね。ゲーム性がありません。

画面切り替えのタイミングを変更

そこでまず、「画面切り替え」のタブに移動し、「画面切り替えのタイミング」を変更します。デフォルトでは「クリック時」にチェックがついていると思うので、これを外します。こうすると、画面上のどこかをクリックするだけで、アニメーションが進んだり次のスライドに移動したりする事態を防ぐことができます。

ハイパーリンクでトリガー

その上で、めざまし時計をクリックした時だけ(B)(C)のアニメーションが始まるようにするためには、2つの手段が考えられます。ひとつは、同じスライドをもう1枚用意して、(A)のアニメーションはスライド①に、(B)(C)のアニメーションはスライド②に記述することです。そしてスライド①のめざまし時計に、スライド②へのハイパーリンクを仕込んでおけば、めざまし時計をクリックした時だけスライド②に移動して、(B)(C)のアニメーションが始まることになります。

マクロを使ってトリガー

もうひとつの手段は、VBAでマクロを記述することです。この場合は、「開発」タブの「Visual Basic」エディターをクリックして、出てきたエディターに次のような関数を書き込みます。

Sub TriggerOnShapeClick()    
    SlideShowWindows(1).View.Next        
End Sub

自分で定義する関数なので、関数名はなんでも構いません。書き終えたら、メニューバーの「デバッグ」から「VBAProjectのコンパイル」を忘れずにおこないます。そしてスライド編集画面にもどってめざまし時計を右クリックし、「オブジェクトの動作設定」から「マクロの実行」を選んで、セレクトボックスの中から先ほどつくった関数を選びます。これで、めざまし時計をクリックすると関数が実行されることになります。この関数に書き込んだ、
 SlideShowWindows(1).View.Next
という命令は、「今表示しているスライドショーを、ワンクリック分先に進める」という意味なので、先ほど封じたクリックによるスライドショー進行が、めざまし時計をクリックした時だけ許可されることになります。

これは、厳密にはトリガー機能の実現ではありません。特定の図形をクリックした時だけ歩を進めることによって、インタラクティブを装っているだけで、アニメーションを記述する時間軸はあくまで単一です。それでも、このスライドほど単純な構成の場合はなんとかなりますね。アニメーションが2つあって、クリックする図形によってどちらかのみを再生させたいという場合も、2つのアニメーションが独立であれば(片方のアニメーションの再生結果が、もう片方に影響を及ぼさないのであれば)、ハイパーリンクかマクロを使うことで対応できます。詳しくは、次節にリンクを貼った関連記事をご覧ください。もちろん私ほどOfficeのバージョンが古くなければ、編集画面から簡単にトリガー設定可能です。

VBAを使うとできること

先ほどのマクロは「ワンクリック分先に進める」という単純なものでしたが、もっと複雑な動きを実現するには、VBAのエディターに書き込む関数もそれなりに長くなります。冒頭の自作ゲームは、クマのボビー君の一日を追ったもので、「おめざめ」「おしょくじ」「おきがえ」「おふろ」「おねんね」の五部構成となっていますが、このうち「おしょくじ」「おきがえ」「おふろ」は、VBAを駆使して作り込んでいます。長くなるので、具体的には以下の記事をそれぞれご参照ください。

VBAを使うと、複雑な条件分岐が可能となります。上記の「おふろ」の例で言うと、プレイヤーがシャンプーボトルを押す、汚れを押す、シャワーボタンを押す、それが順不同で繰り返される中で、シャンプーの泡と汚れの位置を都度判断し、汚れが全部落ちたら湯船につかるという動きが実現します。これができると、作れるゲームの幅は大幅に広がるでしょう。

ただ、VBAを駆使してもパワーポイントでは対処困難なのが、「ドラッグアンドドロップ」をはじめとする「クリック以外のマウス操作」です。最近のタッチパネル用のゲームは、指先のさまざまな動きに対応しますね。子どものよくやるお料理ゲームなどを見ていると、ボウルをかき回したりパン生地を伸ばしたりと、実に自由自在。デバイスの傾きや揺れに対応するゲームもあります。ですがこのあたりは、さすがにパワーポイントでは難しいかと。今はiPadやiPhone用のOfficeも開発されていると思うので、そちらを使えばできるのかもしれませんが、少なくとも私の使っている15年前のPC用パワーポイントでは、「図形にカーソルが触れる」か「図形をクリックする」以外の操作に反応させるのは無理でした。シャンプーボトルから出てきた泡を、ドラッグアンドドロップでボビーの体につけられたら、完璧だったんですが。

VBAを使ってできること、できないことをまとめるとこんな感じです。

VBAを使うとできること
・複雑な条件分岐に対応した動き

VBAを使っても難しいこと
・マウス通過、マウスクリック以外の操作に対応した動き
・3Dなどファイルサイズの大きいオブジェクトを多用した動き

ファイルサイズについては、お使いのパソコンによるところもあるとは思いますが、やはりゲーム開発に特化したソフトではないことから、やりすぎるとフリーズしがちなのは確かだと思います。私は3Dや動画を挿入したわけではないですが、ぬいぐるみの写真を多用したのであっという間に重くなって、しょっちゅうパワーポイントが「予期せぬエラー」でぷっつり終了しました。画像を貼る時はできるだけ画質を落とすことをおすすめします。作り終わってから「図の書式設定」の「圧縮」ボタンでまとめてサイズダウンすることもできます。

ゲームを自作することの意味とは?

ここまで、自作パワポゲームをご紹介してきました。今回は「キャラクターをお着替えさせたりお風呂に入れたりしてあげたい」という子どもの要望により、「お世話系」のゲームを作りましたが、パズル系、アクション系、学習系など、VBAまで視野に入れればあらゆる種類のゲームが実現できそうな気がします。仕事でOfficeソフトを使っている方なら、特別なソフトウェアを入手しなくても、子どもに手軽にゲームを作ってやれる環境が整っているということになるでしょう。しかし問題は「自作することに意味はあるか?」ということです。以下では実際にゲームを作ってみて感じた、メリットとデメリットを書いてみます。

デメリット❶ ータイムパフォーマンスが悪い

まずデメリットから書きますが、結構手間です。私がVBAに不慣れで、逐一調べつつだったせいもありますが、単純にスライドに画像を貼り付けてアニメーションを設定するだけでも、それなりに時間をとられます。それでいて完成度だけ見るならば、正直なところ同程度のゲームは無料でいくらでも手に入ります。なので、ただ単に子どもを束の間楽しませるためであれば、自分で作るよりApp Storeで入手した方が話が早いと言えるでしょう。

デメリット❷ ー出先の暇つぶしに使えない

子どもに静かにしてほしい時って、あるものですね。電車や待合室、仕事の電話がかかってきた時・・ゲームはこういう時にたいへん有用なものですが、パワーポイントで作ったゲームは役に立ちません。Office製品はたいてい仕事で使うデバイスに入っているので、出先でひょいと渡せるものではないし、子どもに取られてしまうとこっちが仕事できないからです。

私も、下の子が昼寝している間よくパソコンで作業するのですが、これまでは目をさますとフラフラと膝によじのぼってきて、抱っこでもう一寝入りしていた娘が、このゲームを作ってからというもの、ママの膝に来るなりくるりとパソコンを向いて座り、「ぼびーのおせわする」とトラックパッドに手を伸ばすようになりました。うーん、ゲームを気に入ってくれたのは嬉しいんだけど、ママ仕事できない・・

メリット① ー自分だけのオリジナル作品ができる

次はメリットですが、今回つくった「Bobby Patrol」のゲーム、子どもたちには大好評でした。特に食べ物をうまくキャッチできないとボビーが悲嘆にくれるところや、サメに追いかけられるシーン、別のぬいぐるみにドーナツを盗まれるシーンなどは大爆笑で、「もう一回!ねえもう一回!」と言っては「戻る」ボタンを押して、繰り返し再生していました。これは、登場人物が「うちのボビー」だったことが大きいように思います。このクマのぬいぐるみは、誰がいつ決めたわけでもないのに、なぜか常に「ちょっとおドジで食いしん坊」というキャラクター設定を身にまとっているやつで、それを活かした内容にしているので、うちの子たちにウケがいいわけです。このように、身内を登場させて自分たちだけの笑いどころを作れるところが、既製品にはない手作りのよさだと思います。

広告やらYouTubeやらで目にしたパウパトロールのゲームをほしがっていた長女は、最初せっせとパワポのスライドに「チェイス」「ラブル」「スカイ」などと書いたテキストボックスを挿入して「Paw Patrol」ゲーム作りを進めていましたが、ママが作りかけの「Bobby Patrol」を見せると「なにこれ!すごくいい。私もこういうのにする」と言って、自分の人形たちの写真をパシャパシャ撮って、パウパトのキャラクターの代わりに貼りつけていました。うんうん、人のつくったキャラクターのイラストを無断借用するより、100%オリジナルの方が、著作権リテラシーの観点からもベターではないでしょうか。ただし、貼りすぎるとパワポがエラー終了するから気をつけて・・

メリット② ーゲームコストを節約できる

うちはこうして、パウパトロールから独自路線へと変更しましたが、子どもがどうしてもお気に入りのキャラクターのゲームを欲しがるということもあると思います。無料で手頃なものが見つかればよいですが、人気のキャラクターを用いたゲームはどうしても相応の課金が要求されることが多いですね。そういう時に、この程度のゲームをパワポでちょちょっと作って、ボビーの写真の代わりにキャラクターのイラストを貼り付けてやれば、無料で子どもを喜ばせることができます。顔の部分だけ貼りかえれば、どんなキャラクターのゲームにも改作可能!もちろん頒布などはしないでください。個人使用の範囲内で・・

メリット③ ー子どものプログラミング学習に最適

基本的にゲーム作りは手間がかかる上に、世の中にあふれている商用ゲームにクオリティの上で太刀打ちできません。仮に手作りするにしても、今やこの手の作業の主役はAI。つい先日も娘の学校の保護者会に参加したら、「教務課が作成した文書を、AIが自動でプレゼンテーション化して自動音声をつけた動画」というのを見させられました。時代の進歩に目がテン、になった瞬間でした。素人のオバサンが夜なべでぱちぱちキーボードを打たなくても、AIに一言「こんな感じのゲームが作りたいんだけど」と相談すれば、数分で作ってくれる時代なのでしょう。

しかしこんな時代だからこそ、子どもにプログラミングを習わせたい、という風潮は高まっているように思われます。自分で物を考えられる人間でなければ、生き残っていけないからでしょう。周りの子供達がプログラミング教室に通い始めているのを見て、やっぱりうちの子もと焦りをお感じになっている方もいるのではないでしょうか。それなら、パワーポイントを使った自作ゲームは、自宅でできる恰好のプログラミング教材であるように思います。

まず「自分でゲームを作るんだ」というモチベーションの効果は絶大です。うちの子はこの意欲ひとつで、あっという間に「図形の編集」や「アニメーションの設定」「ハイパーリンク」など、パワーポイントの一通りの操作方法を覚え、見よう見まねで自分なりのゲームを作り上げました。やっていることはプログラムの記述ではないですが、「図形をクリックしたら別ページにとんでアニメーションがスタートする」という動きを実装できたのですから、プログラミングの初歩として上々かと思います。本人も今はこの程度で大満足していて、これ以上難しいことに手をだす気はなさそうですが、その気になったらいつでも、何ら新しいツールを入手する必要なく、エディタをいじってプログラムを読み書きできるところが、Office標準搭載のVBAの良いところだと言えます。

しかしプログラミングのスキル云々より、大事なのは子どもがこれから先ゲームを目にしたとき「これほしい」「これ買って」だけではなくて、「このゲームはどうやって動いているのかな?」「自分でも作れるだろうか」という考えを、チラとでも抱くことではないでしょうか。チラっとでよいのです。そういう視点でものを見た方が、与えられたものをただ享受するより、はるかに楽しい人生になると私は思います。パワーポイントによるゲーム作りがその契機になるなら、かなりやる価値ありと言えるでしょう。

タイトルとURLをコピーしました