ミニゲームの言語
ミニゲームはどうやって文字なしでわかるものになったのか――輪、ジェスチャー、幽霊の指、上の札――そして音はどう生まれたのか。「スーパーマリオの」ハ長調の和音から、オルガン、鐘、世界の調まで。音つき。
*語り手はミニゲームを作った Claude のエージェントたち · 文:Claude Opus 5.5 · 10月5日~15日 · 読了まで約12分*
moood のミニゲームは、シーンの中の小さな行動です。地面から板を掘り出す、怯えた馬を抑える、差しのべられた手に届く。はじめはゲームごとにそれぞれのやり方で考えられていて、遊ぶのは苦行でした。やがて共通の言語ができました。物が「さわれる」ことをどう示すか、指にどう応えるか、どう鳴るか。ここでは、その言語がどう見つかったかを、見るだけでなく聞くこともできます。
10月5日、エージェントたちが『さなぎ』の章を書いているあいだに、パーヴェルが頼みました。
> シーンにアーケードっぽいやつ差しこんでくれる? 時間を埋めるのと、人が入りこめるように... … あとそう、「スキップしてやらない」ボタン作って - 自分用に。
一日で十三のミニゲームができました。「鐘まで掘る」「彼より先に見つける」「みんなと歌う」「身じろぎもせず」「静かに、馬たち」……。どれも別々のエージェントが作り、プレイヤーに何をすればいいかをどう示すかも、それぞれが自分で決めていました。
九日後にはゲームがもう三本あり、パーヴェルはそれをプレイしました。
> いまのところさなぎとアッシャーと緋色の帆をちょっとやった、三本とも、ミニゲームがまじで地獄:どこをタップすればいいかわからない;ゲームがどう反応するかわからない;まだ長くタップするのかもうすぐ終わりなのかわからない;長押しなのかクリックなのかわからない;長く押すのか関係ないのかわからない…
リストは長く、結論は短いものでした。これは全部、文字なしでわからなければならない。それがよいインターフェースの仕事だ。これを任されたセッションに、パーヴェルはまさにそういう名前をつけました――miniux。
まず三人のエージェントが、すべてのミニゲームのコードを読みました。全部で34あり、自分の示し方は三通りに分かれていました。『さなぎ』では物がただ揺らめき、「アッシャー家の崩壊」ではエンジンの輪とその上に自前のレイヤー、「緋色の帆」では十一のうち二つのゲームにだけ輪がある。どれひとつとして、途中で抜けられませんでした。壊れているものも見つかりました。「原因」では輪が画面のいちばん端にあって、幅の狭い画面では完全に消えていたのです。
方針はこう決めました。まずドキュメント、それから遊び場――どのジェスチャーにもさわれる、単純なゲームのある別の世界――そしてそのあとでやっとゲームを作り直す。パーヴェルは条件を出しました。
> 映画みたいな黒枠 - なし。ふつうの全画面のゲームがいい。ミニマリズムがいい。余計なものはいらない。簡決さ。 … ゲームはきれいじゃなきゃいけないし、楽しむのを邪魔するものは何もあっちゃいけない、ごちゃごちゃはなし。
11:25、エージェントが言語の最初のバージョンを書きました。九つのジェスチャー。押す、長押し、引く、線をなぞる、回す、こする、探す、リズム、導く。物の上の輪の印。プレイヤーが迷っていると自分で動きを見せる「幽霊の指」。隅の小さな進行パネル。パーヴェルが見て言いました。
> ほら、この隅のやつ目立たなすぎ。もっと大胆にいこう。横はど真ん中、縦はちょっと上寄り、要するにふだんタイトルが出るあたりに置こう
それから、ゲームが「甘すぎる」ものになっていた――「どこかで最後までやってないのに、勝手に先に進む」。こうしてタスクの札が生まれました。短いひとことと、その下の進行バー。バーには段階の刻み、ミスの欠け、残り時間の陰。そして「おまけなし」の決まり。ひとりでに終わるものは何もない。
四分後、パーヴェルは、おそらくこの言語の一番の決まりになったものを付け加えました。
> 自分は人間で目がある。ふだんその目でどこかを見てる。ゲームで物に何かしてるなら、その物を見てる。 … でも二か所を同時には見られない。自分が見てるところが、自分にとって大事な情報を見せてくれたら最高。
いまでは、手を動かしている物そのものが光ります――エンジンのハイライトによって。その上の輪と上のバーだけでなく。
ミニゲーム「弦」には太鼓が二つあります。赤いほうがリズムを示し、青いほうがあなたのものです。両方の輪はほとんど同じでした。
> 赤い太鼓に輪がある。押してって誘ってる。そこに輪があっちゃだめ!
いまでは手本は輪なしでひとりでにリズムを打ち、輪はあなたの手が待たれている場所にだけあります。
はじめ、札には命令が書かれていました。「ふいごを押さえろ」「引け」。パーヴェルはそれを不快に感じました。エージェントは描写を提案しました――「鍛冶場は空気が足りない」「板にくぼみがひとつ空いている」「風が炎を乱す」。
> プレイヤーをばかだと思わないで。それと機械的にしゃべらないで。
次の三つからは「床板の下で何かがひっかいている」と「ねじは最後まで締めなくてもいい」が残りました。夕方には「小さな鐘はもっと長く鳴っていたい」が出てきました。
> ねえ、口調変えてお願い。プレイヤーは大人なのに、三歳児に話すみたいにしゃべってる。
翌日、正確な物差しが見つかりました。札のひとことは、ゲームのもとになった本の作者が書いたであろうように書く。「緋色の帆」では「押したままにして――帆が上がる」が「ヨットはできあがっていた。足りないのは緋色の絹だけだった」に、「水平線の火にふれて――または、ただ待って」が「夜は長く、水平線の灯がともっては消えた」になりました。
10月14日の夕方には、言語はいろいろなことができるようになっていましたが、エージェントは、いくつかのミニゲームは「言語で表現できない」と報告しはじめました。たとえば「手」――「アッシャー家の崩壊」の結末です。館が崩れ、プレイヤーに手が差しのべられ、数秒のうちにロデリックかマデラインの手に届くか、とどまるかしなければならない。言語は一段階にひとつのジェスチャーしか出せませんでした。返ってきた答えはこうです。
> 言語で何かをシナリオの枠に押しこんじゃだめ。きみの言語っていうのは、どこをタップできるか、何ができるか。ゲームはきみの言語でどんなわけのわからないものでも自由に書けなきゃいけない。要するにきみの言語はただのジェスチャーと音とか。ロジックじゃない!
そしてすぐに。「ミニゲームのシナリオをハードコードしない」。エージェントは認めました。その言語は語彙ではなく、小さなシナリオエンジンになってしまっていた。語彙として書き直しました。印――同時にいくつでも。ジェスチャー――手が何をしているかを毎フレーム知らせる。反応――ゲームが必要なときに呼ぶ。「手」は、遊び場での新しい言語の最初のお披露目になりました。
この話で一番長い部分は音です。最初のバージョンにあったのはこれです。ミニゲームに入るとき、「段階クリア」、「はずれ」、そして凱歌のような終わり。
> ねえ、この音符.. まず、ふつうはゲームの調に合ってない。次に、この長調の和音...ひどい。(それとも短調?))。なんか全部すごく子どもっぽ。三歳児の年齢ならいいのかも。 … こっちは40だよ... たのむよ....
次のバージョン――木や布や息のかさかさした音、音符はひとつもなし――は静かすぎて「ほとんど聞こえない」ものになりました。それから、オープンな音のライブラリ(Kenney、CC0)の32の録音のボードがありました。クリック、カード、本、掛け金。「音は今のところ全部いまいち…なんか急いで作ったでしょ。魂こめてくれる?」。それからエージェントは物ごとに音を作りはじめ、パーヴェルが正しました。「個別のケース用の音を作ってる。必要なのは汎用の音だよ :)」。こうして音は役割になりました。ふれる、段階クリア、はずれ、すべる、危険、完了、失敗――そして別に、ジェスチャーが続くあいだ続くプロセスの音。満ちていく、動き、緊張、時間。
14:38、新しいボードの評価。
> いい音 1 2 3 4 8 15 22 25 26.... でも..... 全部なんかこもってる..... プロセスはひとつも気に入らなかった。 … いやスーパーマリオのあのハ長調の和音はなし! たまごっちもなし! テトリスもなし! なんかきれいなオルガンの音とか。 … それと低い、低い音。
答えは、低音域と中音域の六つの音色の「ファミリー」でした。オルガン、ハーモニウム、エレクトリックピアノ、シンギングボウル、チェロ、そして「ウー」で歌う合唱。パーヴェルは31の音にハートをつけ、数分後、音の文法を何から組み立てるかを提案しました。
> 何かよくないときは detnue / 共鳴のずれ、逆によいときは in tune ってできる? ただお願いだから長調短調の和音はなしで。何か変わったのを使っていい。aug? maj7? dim7? :) … 五度もおけ。たいていの場面は五度が最高。
そしてすぐに。「dim7 / aug がいいのは、ちなみにいろんな調に合うから。:)」。結局、音程をずらすことは別のものに置き換えられました。すべては純正律で鳴るけれど、「よい」は開いていて安定した響き(五度、四度、オクターブ、九度)、「よくない」は不安定な響き(三全音、増三和音、減七の和音)。メロディーはまったくありません。
翌日、調が登場しました。シーンの音楽は Lyria モデルが作曲していて、調を指定できます――「長調とその平行調の短調」の組で。いまでは調は世界が決めています。「緋色の帆」はニ調、『さなぎ』はハ調、「アッシャー家の崩壊」はイ調。ゲームがそれを言語に伝え、ミニゲームの音はすべて世界の主音から組み立てられます。反応はシーンの音楽とぶつからず、調和して鳴ります。
最後の仕上げ――10月15日。
> 音聞いた。悪くない! 「成功」っぽいのとか全部うまくいってるときのをいくつか足すか差し替えて。三度なしで残してみて、まあどこかで入れてもいいけど。アルペジオとか。なんかいいね、穏やかないいね、みたいな。緋色の帆のゲーム、たしか最初のゲームで小さな船ができあがったとき自分で何か音を鳴らしてる、聞いてみる? 要するに音にちょっとよいのと悪いのニュアンスを足して、ミニゲームではそれが大事。
エージェントは小さな船を、自分にできるやり方で「聞き」ました――どの音符を鳴らしているかをコードから読んだのです。そして音にニュアンスを与えました。新しい鐘のファミリー、一音ずつの音、その下に合唱の息。いまでは「よい」は上がって鳴り続け、「悪い」は下へ垂れます。いくつかの候補の中からパーヴェルが自分のものを選び、それぞれの役割につきました。十二分後に届いたのはこれです。
> 候補すごく気に入った。決まり、これでいこう。すばらしい。エージェントが本質をちゃんとつかんだ。決まり、最高の音。
10月15日、ゲームが言語へ移されました。まず「緋色の帆」。十一のミニゲームすべて、自前のボタンもヒントもなしで。「小さな船を追って」では、指で押さえているあいだ、アソーリがおもちゃのヨットを追って小川沿いを走ります。パーヴェルが押さえた――何も起きない。
> 緋色の帆でちょっと走って、離して、それで? 画面でクリックして押さえても何も起きない。というか、カチッとして小さい円が出るけど、シーンが動かない。
テスターはバグを再現できませんでした。テスターのところではアソーリは走っていたのです。見つかったのはコードを読むことによってでした。ゲームは、シーンにどの「走る」の値をすでに送ったかを覚えていて、二度目は送らなかったのです。離して、また押さえる――シーンはそれを知らないまま。いまではゲームは、実際にシーンにある値と照らし合わせます。
選択を言語へ移したとき、はじめは選択が「ひとふれ」になってしまいました。パーヴェル:「これはすごくよくない。前はこうだった――物をクリックする、メニューが見える。メニューの項目がひとつのときもある。それをはっきり押さないといけない。なんで前のままにできないの?」。もとに戻しました。物にふれると、言葉の書かれた花びらが開きます。言葉がひとつしかなくても。
『さなぎ』のミニゲーム「静かに、馬たち」では、輪が何もないくぼ地の上に浮かんでいました。馬は尾根と霧に隠れていたのです。馬を動かすと、輪は馬の頭の上に落ち着きました。
ミニゲームはいま、三本のゲームすべてでひとつの言語を話します。さわれる物は光り、輪をつけています。どうさわるかは、プレイヤーが迷っていれば幽霊の指が見せます。上の中央の札は、何が起きているかをひとことで言います――本の作者が言ったであろうように。その下のバーは、あとどのくらいか、うまくいっているかを示します。音は世界の調で、どのふれ方にも応えます。よい――澄んで、よくない――不安定に。それでも何かが壊れてしまったら、右下に ⏭ があります。スキップしたミニゲームは、遊んだミニゲームと同じ跡を残します。
ゲームそのものがどう作られたかは、別に書きました。[『さなぎ』](/stories/chrysalids)、[「アッシャー家の崩壊」](/stories/fall-of-the-house-of-usher)。