やあ、僕はマーク 磁石のビデオゲームを作っている このシリーズの目標の1つは—— ゲーム制作に必要なものについて 本当の、透明な、ありのままの姿を見せることだ つまり楽しくてワクワクする、良い動画素材に なるものだけを見せるわけにはいかない 例えば、メカニクスの試作、ステージの設計 突然のデモ版公開とかだ そして分かったのは、ゲーム開発には 華やかじゃない作業がたくさんあるってことだ 例えば、メニュー、HUD、データのセーブ・ロード 各種コントローラーの対応 設定の同期、進行状況の記録 ステージの切り替えなどなど こういうのは開発日誌や記録番組では あまり語られない 実際、とても退屈だからだ でも誰かがこれを作らないといけない このゲームでは…その誰かは… 僕のことだよな? さて、前回の動画で 僕はキャラの操作性を完全に作り直した その中でキャラ操作に関する設定を いくつか実装した 例えばボタン押しっぱなしの照準を オンオフの切り替え式に変えたり 全てのキーやボタンの配置を 再設定したり 磁石の色を変えたりできる これは使い捨てのテストステージでは問題ないが これらの設定をゲーム全体で機能させるには 何らかの方法でこうした設定を ステージ間でも同期させ 設定を HDD に セーブ・ロードできるようにして プレイヤーがこれらの設定を 設定する UI も用意する必要がある で、あちこちいじった後 これを思いついた 初めてゲームを起動してタイトル画面に入ったとき 「設定管理器」を生成する これは大量のコードがある非表示の GameObject で 設定を記録したり その設定を HDD に セーブ・ロードしたりする この Object の名前は 「ロード時に削除しない」 プレイヤーがゲームを始めると、タイトル画面が メモリーから削除されてステージに置き換わるが 設定管理器は 臭い屁のように残り続ける まだメモリー上にあるので 新しいステージは設定管理器を見つけて 本質的には質問できる 例えばキャラは 「今すぐ低感度の照準になるべき?」と聞き 磁石は「何色になればいい?」と聞き パネルは「今すぐアクセシビリティ記号を 表示したほうがいい?」と聞ける 僕がここで本質的にやったことは—— メタなゲームロジックと その時々のステージ設計の分離だ 今にしてみれば当然に思えるだろうが MVP の頃は絶対になかった 当時は、セーブ・ロードや ステージ遷移をやるコードを 各ステージ用に複製して使っていた ゲームの一時停止メニューですら 全ステージに複製していた これはとても非効率で テストステージが重くなるし 階層に余計なものが増えるし これらの設定を変えるのが難しくなり ステージ間で要素を管理するのが 大変だった この新システムのほうが ずっと賢い だからこういう見えない管理器を もっと作ることにした で、ステージ名を「遷移管理器」に送ると そいつが現在のステージを消して 新しいステージに置き換える これは「音楽管理器」と上手く連携する まだ存在しない楽曲を取り出して ステージの読み込みに合わせて フェードイン・アウトしてくれる また「HUD 管理器」は画面の前面に描画する チュートリアルの指示や 状況に応じたボタンアイコンなどだ もちろんコントローラーごとに 表示が変わる そして一時停止メニューと設定メニューを 維持する「UI 管理器」を作った 確かにゾッとするほど醜いが 今は機能だけに集中している 将来キレイにするつもりだ 音響設計と同じく UI 設計は「未来のマークの問題」だ 未来のマークの問題が 少し増えつつある だがもう1つ作りたい管理器があった MVP の場合、ゲームはステージ1から ステージ2、3というふうに進んでいく そういう直線的なステージ進行が パズルゲームに最適なのかどうかは分からない 確かに『Portal』や『Inside』などは こういう形式だが 『Braid』『Stephen's Sausage Roll』 『Baba Is You』などは もっと自由な構造になっている ステージを飛ばしたり パズルを好きな順番でやったり あとで過去に省略したパズルに 戻ったりできる 僕はこれが好きだ パズルの1つにお手上げになっただけで 進行不能になるのは良くないと思う それで非直線的なステージ構造を作りたいので こういう風にした 各ステージの目標は鍵の発見、収集だ 新しい「進行管理器」には ゲーム内の全ての鍵のリストがあり 鍵を1つ得るとそれを記録して そのデータを HDD にセーブする とても単純なハブステージを作って 色々なパズルに行けるドアを用意した 最後にある特別なドアは 鍵を一定数集めた後に解除される この数はゲームのバランスを調整するとき 簡単に変更できる あと調整とバランスと言えば パズルの相対的な難しさに関する プレイヤーの意見に基づいて—— ステージの順番を 簡単に変更できるようにしたかった それでシステム全体は基本的に ステージのファイル名を経由して送られる ステージには「01 Lift 02」みたいな 名前が付いていて 最初の2文字は ステージが属するハブを表し 最後の2文字は そのステージにある鍵の数を表す そして関連する全てのシステムは ステージ名を読み取って 必要な文字列を取り出し そのステージがどこに属しているか調べる つまりファイル名を変えるだけで ステージの順番を変更できる これは超効率的だ 効率化に凝ったついでに ツールの話もしよう 僕が MVP で感じたもう1つのことは ビルドと、特にステージ設計の試行錯誤には 本当にイライラすることだ 例を挙げよう この電磁石を少し短くして 赤色に変えたい場合 僕は Area Effector の大きさを変えて ビームの見た目の大きさを変えて 粒子システムを移動させて持続時間を減らし 粒子の色も変えて ビームの色を変えて ドット絵の色を変えて 磁石のレイヤーを変えて バッファーゾーンのタグを変えて Area Effector のコライダーマスクを 変える必要がある これをゲームのほぼ全てに やることを想像してくれ 何かを1タイル上に動かしたいとか ステージ開始時に閉じていたドアを開けたいだけなのに そして僕が気づいたのは Unity はゲーム制作のツールではあるが 僕のゲームを作るためのツールではないってことだ だってそれは僕の責任だから 僕はツールとシステムを整備して 僕のゲームのコンテンツを 量産できるようにする必要がある それを念頭に置いて 新しい電磁石パネルを作った 高さを調整する 単純なスライダーがあり このスライダーを上下に動かすと さっき話した全ての変数も自動的に変わる このボタンも同様で 赤と青、オンとオフを変更できる 要はゲーム内に変えたい要素が たくさんあるのに—— そのやり方が同じ手順の 繰り返しだったら 1ボタンで全てを処理できる 単純なコードを書いたほうがいい そこで MVP の要素をさらに改善して より使いやすく効率的にした 例えばこの移動ボックスだ Unity の新しいなんかを使って ボックスの始点と終点 あと移動経路を表示させた さらに定型の仕掛け専用の 画面を整備したので ドラッグ&ドロップでシーンに追加できる まるで『Super Magnet Maker』だ あと MVP でもう1つ困ったのは Unity Event だ Event そのものではない 素晴らしい機能で、基本的にはこんな感じだ 例えばこの緑色ボタンのコードでは ボタンが押されたとき 「Unity Event を呼び出す」と書ける その後、エディターに戻ると 画面に単純な入力欄が表示され シーンから好きな Object をドラッグするだけで 基本的にはどんな機能も実行できる それで緑色ボタンを押したら 電磁石パネルが消えるようになった パズルゲームにとっては とても強力な機能だ だが階層の中から目的のものを 探すのは少しイライラする Photoshop 的なピペットでシーン内の Object をクリックできたら超最高だと思う それで僕はネットでの自分の知名度を悪用して 自分よりずっと賢い人に 僕が説明した通りのものを作ってもらったのだが 素晴らしくていつも使っている この Unity アセットの GitHub リンクは 動画の概要欄に書いてある パズルを簡単かつ効率的に設計できそうな ツールをたくさん用意したので 試しにパズルを作ってみようと思った もちろんずっと効率的になったが この工程には厄介な部分や障害がまだあったので それを修正して また試しに別のステージを作ってみた それから別のステージ また別のステージを作ったら… あることに気づいた 僕は、裏で動いている システム管理器の艦隊を作った 僕はこのハブ構造全体を作ったし 新しいパズルを4つか5つ作った 僕はうっかりビデオゲームを 作ってしまったのか? あらま! 面白いことに僕は新しいデモ版を作るつもりは 本当になかったのだが いま僕の HDD には 90% のデモ版がある これは効率的なツールが いかに強力かを示していると思う これがゲーム制作を速く簡単にしてくれるから 気づかないうちに何かを作ってしまう だから開発工程の序盤で 少し余分な努力や苦労をする価値はあると思う ゲーム開発の主要部分でかかる 多くの時間、労力、苦悩を 省いてくれるからだ だがいずれにしてもこれは最高だ というのも、また MVP の話に戻ると 僕が対応すべき課題が大量にあった 皆が好きじゃなかった点を挙げると キャラの操作感は 信じられないほど悪いし 視覚言語にはイライラする矛盾が たくさんあったし アクションと謎解きが混在していて 遊び方に混乱する人もいたし ほとんどのパズルは「アハ」という 閃き体験に達していなかったし 多くのステージは乱雑でバグだらけで 周期がリセットされるのを待たないといけない そしてこのゲームは 磁石が中心になっている感じがしなかった そこでこの新しいデモ版 『Untitled Magnet Game version 2.0』で これらの問題を全て解決して 皆がどう思うか確認するいい機会だ だから君が itch.io に立ち寄って このできたてのデモ版をプレイしてくれたら嬉しい そう、我慢できずに公開した 支援者だけじゃなく誰でもプレイできる PC と Mac 対応で キーボードとマウスや 色々なコントローラーでプレイできる ぜひ一丁やってみて、この動画か itch.io の コメント欄に感想を書いてほしい そしてまた戻ってきて 新たな意見について一通り議論して ゲームの次の方向性を考えようと思う ご視聴ありがとう ゲームを楽しんでくれ またすぐに話そう おっと、最後に GMTK Game Jam が 2022 年も開催だ 7月15日に始まるから itch.io にアクセスしている間に ゲームジャムにも登録しといてくれ また次回会おう