やあ、僕はマーク
磁石のビデオゲームを作っている
このシリーズの目標の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 にアクセスしている間に
ゲームジャムにも登録しといてくれ
また次回会おう