見出し画像

渋谷PARCOで自作ゲームを展示すると何が起こるのか

「渋谷PARCOさんのカルチャーイベント「P.O.N.D.」にゲームクリエイターを送り込もうと思っているんですが、じーくさんを紹介していいですか?」と、IGNの今井さんからお話を頂いたのは今年の6月頃でした。

「PARCOに自分のゲームを展示できる……?」

と、一瞬ワクワクしたものの、まぁ9割5分流れる話だろうと思って正直真に受けてませんでした。

でも「PARCOのカルチャーイベント担当者」というおよそ自分の人生と関わりがミリも生まれ無さそうな人に対して、私のゲームが数分であれプレゼンされて「ふーん、こんな変な事やってる人がいるんですね、それで?」くらいの認知をもらえるならそれだけでも嬉しいかな、程度の気持ちでホイホイとお答えしたのが、全ての始まりでした。

AIが生成した「渋谷PARCOのカルチャーイベント担当スタッフ」のイメージ

そして気がついたら、本当に渋谷PARCOで自作ゲームを展示することになっていました。

1ヶ月で遊べるゲームを作る

出来上がったゲームはこんな感じで、「パズルゲームのプレイ履歴がそのまま音楽になる」という生成的音楽(Generative Music)の作品です。

展示という形でも短時間で気軽に楽しめるゲーム、ということで以前から温めていた(けど作る機会のなかった)「さめがめ」で音楽生成、というネタを利用することにしました。

作り始めたのが8月後半だったので、実質的にほぼ1ヶ月、しかも(フリーランスとしての)本業も別にあって、間に東京藝大で講演するお仕事もあったりで、ほとんど土日を全部使ってなんとかした、みたいな形でした。

ゲームを一般に公開したことのある方なら想像がつくと思いますが、小さいゲームとはいえ、「ふらっと立ち寄った人がいきなり触って楽しめるゲーム」として完成させることは、めちゃくちゃ大変です。

パズルゲームとしてのルールの実装はものの数時間でササッと終わりましたが、まず音楽生成システムの試行錯誤に数週間かかり(ここの話もいっぱいあるけど、長くなるのでまた今度)、そこから

  • スコア、スコア履歴、残ブロック数などのUI作成

  • 生成しているフレーズに合わせて履歴を光らせる

  • 色の調整、背景色やブロック色を常に揺らす

  • 音楽がレベルアップした時のモーショングラフィックス

  • 一気に消した時の特殊フレーズ生成

  • クリア時の音楽&アニメーション演出

  • さらに高得点時の音楽の盛り上がりをもう1段階追加

  • クリア後に各トラックを個別にミュートできるように

等など体裁を整えていったのですが、まだ終わりません。

商業施設で展示されて立ち寄った人が誰でも遊べるという性質上、前に遊んだプレイヤーがどの画面でその場を立ち去るかは定かではありません。

リザルトのまま放置することもあれば、NEW GAMEを押して帰る人もいるかもしれない、あるいはゲーム途中で放棄して去ってしまうかもしれない。そうした場合に、無限に4小節の同じループが続いてしまうことはその場にいる人にとって拷問になりかねませんし、ゲームがどんなものかを知る機会が失われてしまいます。

そこで、「リプレイデータの自動再生」という面倒くさそうなシステムを最後の数日で仕上げることになりました。

  • リプレイデータの構造を定義、自動保存、自動ロード

  • ランキングとプレイ履歴の表示UI、スクロール、リプレイボタン

  • 無操作の時間が一定以上続くと自動的にリプレイデータを再生

このように、数々のエラーハンドリングや細かなブラッシュアップをやり遂げて、ようやく「知らない人がいきなり触ってなんとか楽しめる」作品が完成します。

同じイベントに「異世界と通信できる不思議な電話機グラハム」を展示していたyutaさんのこのツイートには思わず涙が溢れました。

yutaさんの作品についてはこちら

見えていないバグを、考える

P.O.N.D.は「新進気鋭のアーティストたちの表現が集まる」イベントで、テーマは「IN DOUBT /見えていないものを、考える。」と発表されていました。これはクリエイターには事前に共有されていたのですが、私はあんまり気にせず前から作りたいと思っていたものを作らせていただきました。

しかしながら、奇しくも、現地に足を運ぶたびに「(開発中には)見えていなかったもの(バグ、無配慮、自分の愚かさ)を、考える」展示会となるのでした。

「ゲームを展示する」ことの難しさ

ゲームというのは、プレイヤーが能動的に関わって初めて完成するメディアです。

そのため、ゲームではないアートの展示と違って、「どのようにして作品を楽しむのか」というシステムをプレイヤーに伝えるための種々の工夫が必要となります。

しかし「展示会」という場では、そうした工夫が必ずしも実を結ばないという難しさがあります。

普通のゲームであれば、購入者が(少なからずお金を払った程度のモチベーションを持って)ゲームに向き合い、ルールを理解して楽しめるところまでは頑張ろう、という時間が与えられます。

一方、展示会場はパブリックスペースであり、後ろには同じゲームをやってみたいと思っているかもしれない他人がいる可能性があり、1回~数回遊んだらもう席を外さなくては、という外圧が生じます。

後ろで待っているのは、プレイヤーかもしれないし、
開発者かもしれない……

ゲームの即売会・展示会イベントと少し似た状況で、そうした場合でも特殊な配慮が必要になるのは、デジゲー博やBitSummitなどに出展のご経験がある方であれば想像がつくのではないでしょうか。

短い時間で試遊に来ていただいた方が必ずしも落ち着いてルールを理解していけるわけではないので、アテンドしている製作者本人が時には「あっ、ここはこうしてください」と軽くアドバイスを添えて、後日ゲームの改善に役立てる……ということができます。

しかし今回は平日も含めて10日間ゲームが常設展示されるわけなので、製作者が常にアテンドするのは不可能です。

かくして、展示開始直前になって、そもそも「ゲームを展示する」って恐ろしく新しいことなんじゃないか……?という事に気が付きます。

  • 1ヶ月で作った自作ゲームが、

  • じっくり遊べるわけじゃないパブリックスペースに置かれて

  • 開発者がフォローできない状態で自由に触られて

  • 会期中は毎日9時間ゲームを立ち上げっぱなしで連続稼働する(もちろん事前にそんなデバッグをしてくれるQAはいない)

これは……絶対に何かが起きる……起きないほうがおかしい……

「難しく調整しすぎていた」

迎えた初日。

私はほぼ丸一日こっそりと横でアテンドするという作戦に出ました。

会場は見つけづらいものの、ちゃんと途切れなく人が来ている……そして遊んでもらえている……嬉しい……

皆楽しんでくれてる……良かった……

しかし……おかしい。

遊んでいる人はなんか楽しそうだけど作った俺にはわかる。
ほとんどの人がスコア1000点未満だ。つまり、

音楽の和音構成が1段階目のままで全く盛り上がっていない!

待ってくれ!本当は1000点、2500点、5000点でさらに盛り上がるようになっているんだ!和音構成もそこで緊張感が高まって解放されるように作ったんだ!どうしてこうなった!

ということで、1つ目の誤算、「難しくしすぎていた」を(ゲーム開発者あるあるなのに)見事に踏み抜きました。

以下のスレッドで、なぜそうなったのかをパズルゲームの歴史的経緯からなんとなく考察してます。

家でデバッグしていたときは、開発者の私も、初心者であったはずの妻も、こぞって5000点〜6000点台を出していたので、「5000点を超えたときに一番盛り上がるようにしよう!」という目論見だったのですが甘すぎました。

多分、これもダウンロードして何度かやれば誰でもそのくらいは稼げると思うのですが、会場の初見の1回〜せいぜい3回程度のプレイでは、1000点を下回ることの方がはるかに多い

以下がリプレイ用に収集したデータから見えるスコアの分布図で、その傾向がはっきりと現れています。

1000点未満がほとんどを占める

ゲームとしてはそれでもクリアできるし一応(和音の変化はないけど)リズムができて音楽にはなるので、これでも及第点ではあるけれど、より短時間で楽しめるように調整が必要だということがわかりました。

「説明が長い!!」

ゲームであるからには、ある程度のルール説明が必要になります。

これも通常であればゲームプレイを通して徐々に気づいていってもらうことができますが、展示ではそのような余裕がない(あと実装の時間もない)という都合上、ゲームの横にA4の説明書を置いてもらって、「適当にやっても楽しめるけど、より楽しみたい人、興味を持った人はこれを読んでね」という方式にしました。

で、初日に用意していた説明書がこちら。

初日に置いていた説明書

いや長いわ!!

あと文字が小さい!!

ついでにCreatorとかいう自己紹介の文面が不要!!

誰が読むねんこれ

はい、わかります。あとから見ると自分に対して無限にツッコミができます。疲れていたんです。ゲームを形にすることで精一杯になっており、こうしたフォローアップまで気が回りきらなかったことが敗因です。

ということで、2日目にしてゲーム&説明書のアップデートを実施します。

新しくした説明書

どうでしょうか。

読むべき場所が2箇所はっきりとしました。

「ブロックを 繋げて消して 高得点」
「プレイ履歴が 音楽になる」

5・7・5 7・7 です。

とくに「繋げてから」消す、という部分は気が付かないとスコア的には大損になるので(一般的なマッチパズルは、ゲームオーバーになる前に急いで消すことが必要だが、この作品はゲームオーバーもないし、溜めてから消す工夫が求められる)、そこだけでも気づいてもらえれば、と思いました。

また、初日に声をかけていただいた方の感想を聞いたところ、「どうやって音楽が生成されているのか?」「消したブロックが音楽とどう対応しているのか?」がいまいち伝わっていない、ということも感じました。

そこで、「消したブロックが音符になっていく」様子をアニメーションで表現することで、多少そこの紐付けがわかりやすいように工夫しました。

説明書のほうにも小さく「消したブロックの位置が音程に、消した個数が音の長さに対応し、4色それぞれで4トラックがあなたのプレイから生み出されます」と記述しておりますが、これは把握していなくてもゲームプレイには影響がないため、聞かれたら答えるくらいの対応にしています。

その他にも、当時のリリースノートには以下のような修正が記されています

  • 音楽が変化する得点の閾値を下げました。

  • オートリプレイで上位の結果が出やすいようにしました。

  • SCOREの横にPOTENTIAL SCORE(潜在スコア)という数値を常に表示し、「今最大で繋がっているブロックを消すと何点入るか」を視覚化しました(これによって音楽の緊張度が変化します)。

  • 画面右下にマウスオーバーすると、何もないところにバージョン情報とデバッグ情報が現れて、現状を確認できるようにしました。

右下にバージョン情報と、ゲーム内の最低限の状況がわかる
デバッグ表示を追加

等など、できるだけ説明しなくてもなんとなく伝わるように改善を入れていきました。

「スピーカーがなんかおかしい」

音響も大きな懸念点のひとつでした。

そもそも、「プレイ中は音に集中できるようにヘッドホンで聴いてほしい」「周りから見てる人にも、音が変化するゲームであることを伝えたいので、スピーカーからも出して欲しい」という要望をお伝えしており、これだけでも面倒なセットアップが必要なのですが、仮想ミキサーを使ってなんとか同時出力を実現してもらいました。

ゲーミングヘッドホン。めちゃめちゃいい音がする。
ゲーミングスピーカー。すっげー光る。

これでなんとかなった……かのように思えたのですが、初日の稼働中に早速問題が発覚します。

私「あれ、、なんか小節頭だけ音が消えるんですけどこれ、スピーカーのせいですか……?」

調べてみたところ、どうやら、「一定時間無音が続くと、スピーカーが自動的に非アクティブ状態(?)になり、次に音を出すときにフェードインする」というお節介システムがどこかで働いているようでした。

私のゲームは仕様上、NEW GAME直後は小節頭付近にしか音がなく、ループするたびに無音判定となってしまい、ループ戻りで毎回フェードイン状態となって聞こえない、という非常に残念な状態になっていました。そしてこれは、「本来こういう音楽になるはずである」というゲームの仕様を理解していないと、なかなかスタッフさんでは気づきにくいところ(遊んでいれば音が埋まってくるので問題なく聞こえる、というのもある)。

結果的に、スタッフさんの努力のお陰様で(スピーカーをUSB接続からBT接続に変える、など色々試されていた)、こうした音響の問題も解決することができました。

今回、こうした機材の対応や、また私が不完全な状態で提出したビルドを何度も更新するにあたって、現地で対応されているIGN・産経デジタル・PARCOのスタッフの方々に大変お世話になりました。本当にありがとうございます。

「数時間連続稼働しないと発生しないバグ」

さらに閉店前に動作を見ていると、なんか変なことに気が付きました。

「音楽のレベルアップ演出のアニメーションが……激重になっている……?」

はい、バグです。これも自分が甘かったと言わざるを得ませんが、連続稼働が数十分程度のデバッグではまったく見つからなかったバグでした。

一部の演出アニメーションが、速度に0.9をかけており、それが誤って「再生されるたびに0.9倍になる」コードになってしまっていました。そのため、最初は何も問題ないのに、数時間連続稼働しているとめっちゃ遅くなっている、という状態でした。

というわけで2日目もアップデートを実施し、以下の修正を行いました。

  • 一部演出のアニメーション速度が再生するたびに減速して崩れていたバグを修正しました

  • リザルト画面のスクロール速度を調整しました

  • クリア演出用のパネルがボタンに見間違われることが多いため、演出後に消えるようにしました

  • クリア後にMUTE DRUMSボタンを表示するようにしました

プレイ人数が予想よりも多く、リザルトで表示するランキングがどんどん増えていったため、スクロールが遅すぎるといった問題にも、自分一人のデバッグでは気づくことができていませんでせいた。

「1週間リザルトを溜め続けないと発生しないバグ」

展示の会期は10/7(金)〜10/17(月)で、最後の日曜日にも皆さんのリプレイデータ&ランキングを確認しに、再びPARCOに赴きました。

沢山の方にプレイしていただいており、たっぷりと「自分の作ったゲームをプレイしている人を後ろから眺めることでしか得られない栄養素」を頂くことができました。

そこで恐ろしい事実に気が付きます。

私「クリア演出が……くっっっそ重くなっってない??」

アウフタクトから入る専用の音楽演出とリザルト表示が一緒に出てくるように、こだわって作った部分です。きれいに流れると、「音楽が完成した!」ような感動を味わうことができるようになっています。

そこで同時に出しているランキングデータが会期終了間近になって660個以上溜まっていました。

期間中にプレイしていただいた方のランキングデータ。
こんなにも大量になるとは……

デバッグ中にもこのリザルトは50個くらいは普通に溜まっており、まったく問題なかったので、こんなに死ぬほど重くなるとは思ってもいなかったのですが、これも甘かったです。

UnityのProfilerで確認したところ、UI要素をSetActiveする際にレンダリング情報を再収集するのが非常に重く、600個表示すること自体はそんなに問題がなかったので、「Activeのままだけど座標を飛ばして見えなくさせているのを移動させる」方式にしたら解決しました……雑な解決……

というわけで、最後の月曜日にこのバグを修正した最終版にアップデートしました。しかし、最後の土日に遊んでいただいた多くの方が、なんか微妙なリザルト演出にモヤっとしながら帰ったのかと思うと、後悔してもしきれない部分です。。

総じて、今回リザルトの部分のデバッグがまったく足りておらず(実装自体がギリギリだったし、唯一そこが会期中に変化する要素なのでもっとちゃんと大量のデータでデバッグすべきだった)、会期中にてんやわんやすることになりました。

5Fでやっていた避雷さんの展示はGPUを酷使しまくっているので少しでもバグがあると大変だなぁと他人事ながら思っていましたが、ちゃんと連続稼働のデバッグもされていて、優秀……とても優秀……そして美しい……

「ゲームを展示する」面白さと注意点

今回、自分にとっては色々と課題が浮き彫りとなった展示会でした。

が、同時に得られたものも多く、この機会を頂いたことは本当に喜ばしく思っています。

そもそも自分は、インディーゲームを作っている時もあるけどサウンドプログラマーという本業は別にあり、一緒に展示されていた錚々たるメンバーの方々と比べると、「あれ、Steamでゲーム出してないの、俺だけ……?」みたいな感じでした。

そんな中、サウンドに特化した表現という事で注目して取り上げていただいて、久々に新作のゲームを完成させることができました。

他の方の展示を見ると、基本的には既に完成されている作品の世界観やシステムを活かして展示用のコンパクトな体験に落とし込む、という感じで、私ほど頻繁にビルドを更新されたりはしていなかったので、実力の差が出たな……と感じました。

ksymさんのゲームは、最初に触った時は実質的にほぼ運ゲーで、必死にアボカドを投げるプレイヤーをメタ的に面白がってるのかな(テキストに(笑)とか入るし)という視点で楽しんでいたのですが、展示後半に「実はコマンド入力がある」という新要素が公開され、驚いてもう一度プレイしにいったりしました。

しかしこれも、展示という短時間で向き合って見つけるのは難しい仕様で、好き勝手に遊んでルールを発見するというゲームの醍醐味を味わってもらうのが難しい場だなぁと思ったりしました。

ゲームの展示は、

  • システムを理解するための時間がない

  • 不特定多数の人が入れ替わり連続にプレイする

  • 8時間以上&1週間連続稼働する

  • 手元にないハードウェアで動作させる

  • エイジングを含めたデバッグが必要だが忘れがち

という数々の困難が伴いました。

渋谷に訪れたプレイヤーによって紡がれたゲームプレイと音楽によるMVが完成

渋谷PARCOの会場では普段ゲームをやらないかもしれない、色んなタイプの人たちがふらっと立ち寄ってゲームを遊ばれていきました。そうした方が少しでもインディーゲームやゲームの幅広い表現というものに興味を持ってもらえたら幸いです。

自分のゲームはクリアしたすべてのリプレイデータを収集していたため、会期終了後にデータを持ち帰って、「顔も名前もわからない誰かがこのプレイをして、この音楽を聴いていたんだな」という事をじんわり味わう、といった楽しみができて、非常に新鮮でした。

最後に「会期中に渋谷PARCOを訪れた延べ660人のプレイヤーが実際に紡いだ音楽を集めて繋げて作られた一遍のMusicVideo」という、個人的に大変感慨深い作品が出来上がったので、こちらで公開させていただきます。

人によって違う色んなフレーズが聞こえてくるし、スコアによっても雰囲気が大きく変わっていて、スコアが低くてもバリエーション豊かなリズムになるので、色んな人のリプレイを見るのが本当に楽しいです(会場でも、他の人のリプレイを自分で再生して楽しんでくださる方もいました)。

何より、会場に来ていただいた方の一手ずつがなければこの音楽にはならなかった、という事実はなんだかとってもエモいです。

ゲームを完成させた後にもこうしてゲームプレイ自体が一つのアートとして再結合される可能性があるというのは、ゲームというメディアにしかできない(しかも私の作品の場合はそれが必ずオリジナルの音楽になる)表現ですし、またそれが「渋谷」「PARCO」「2022/10/7〜10/17」といった場所と時間に紐付いた形で生み出されるのもゲームを展示する事でしかできない面白さなんじゃないか、と思います。

本作品「Same Game, Different Music」は、今後いくつかのブラッシュアップ(最適化とか、リザルト周りとか、もっと音楽のバリエーション増やしたりとか)を行って公開するつもりです。今回の記事を見て気になった方は、Twitterをフォローするなどして気長にお待ちいただけると幸いです。

2022/12/11追記:公開しました!


サポートいただけたら、連載への励みになります!