自分のゲームを作る

moood の中心にあるのは、コードで描かれる生きたシーンと、その上であなたのコードが動くページです。それが何になるかは、あなた次第。何が公開されているか、スタジオが何を手伝えるか、どうすれば入れるか。

moood の根っこには二つのものがあります。コードで描かれる生きたシーン——光と天気と人と音楽のある場所。そして、そのシーンの上であなたのゲームのコードが動くページ。それ以外、つまりどんなゲームになるかは、作者が決めます。

私たちのゲームは、選択のある物語になりました。章ごとに進み、セリフに声がつき、ミニゲームがあります。でも、それはひとつのやり方にすぎません。シーンは、ただしばらくいたくなる場所でもいい。ゲームはパズルでも、おもちゃでも、あてのない散歩でも、会話でもいい。コードに収まるものなら何でも。ここでは、そのために何が用意されていて、どう使うのかをお話しします。

moood のワールドは、シーンの集まりです。シーンはどれもひとつの場所です。夜明けの桟橋、台所、雪の草原。コードが光、水、霧、風、映り込みを描き、そこに人が暮らします。歩き、腰を下ろし、振り返る。カメラは、シーンが見つめている相手を自分で映します。どのシーンにも、それぞれの音楽があります。

シーンは、それだけでも生きています。状態——夜明けか夜か、雨か晴れか、誰がどこに立っているか——はキーで変わり、同じシーンが一分で夕暮れから暗闇まで進むこともあります。ゲームなしで、生きた絵としてシーンだけを見せることもできます。moood.me にはそんなスケッチもあります。

ゲームは自分で書くコードです。どれだけ書くかも、あなたが決めることです。ページは、コードにシーンと、その中で変えられるものすべてを渡します。別のシーンを見せる、天気を変える、人を歩かせる、その人の声でセリフを言わせる、音を鳴らす、セーブする、一時停止する。そこから先は、思い描いたとおりです。

私たちのように、章と選択を書くこともできます。そのための道具はもう用意されています。プレイの地図、やり直し、そしてミニゲームの言葉——説明文がなくてもプレイヤーに伝わる、ジェスチャーや目印や反応です。どれも使わなくてかまいません。シーンをひとつだけ置いて、その中で人に何かをさせるだけでもいい。ゲームを自分のサイトで見せて、そのコードを好きなものとつなぐこともできます。登場人物を演じる言語モデルとだって。

はじめ、ミニゲームはゲームごとにばらばらで、プレイヤーは毎回「ここは何を押すんだろう」と迷っていました。やがて、不満や要望から共通の言葉が育ちました。物につく目印、手のジェスチャー、シーンの反応、上に出るプレート、そして成功したかどうかを知らせる音。くわしくは記事[「ミニゲームの言語」](/stories/minigame-language)で。使わなくてもかまいませんが、手間がずいぶん減ります。

フォルダからです。ワールドもゲームも記事も、git リポジトリの中のただのフォルダです。あなたのリポジトリ、あなたの GitHub の上にあり、共作者もブランチも履歴もあなたのもの。ひとつのリポジトリに、いくつ入れてもかまいません。

AI エージェント——Claude Code、ChatGPT、Gemini、どれでも——と一緒に書くのが楽です。そのために、公開リポジトリ [moood](https://github.com/moood-me/moood) があります。エンジン、シーンのページとゲームのページ、ミニゲームの言葉、チェック、自分のマシンで遊べる小さなプレイヤー。置くときのルールはひとつ、ゲームを作って遊ぶのに必要なものは、そこにある。それから、エージェントがこれを見て作業できるように書いたドキュメントもあります。シーンで大切なことと絶対にしてはいけないこと、光や人の置き方、ゲームの作り、シナリオが必要なときの書き方。

エージェントが見本にできるよう、私たち自身の作品も公開しました。[works](https://github.com/moood-me?q=works) のリポジトリです。moood.me のワールドとゲームが、シーンのコードと、どう作ったかの記録つきで入っています。ジェスチャーをひとつずつ試せるミニゲームの遊び場や、シーンにどんなものがありえるかを試した初期の小さなワールドもあります。役に立つものを持っていってください。

ワールドでもシーンでもゲームでも記事でも、何であれ一行で名前がつきます。`あなたのリポジトリ@ブランチ:フォルダ`。ブランチの代わりにコミットも使えます。スタジオで開くときも、別のゲームから参照するときも、エージェントに渡すときも、これです。ゲームが他の人のワールドの上に立つときも、このアドレスで指します。

はじめはもっと複雑でした。ワールドごとに、公開先のサイトの数だけ専用のブランチがあったのです。エージェントたちは、それに慣れていました。Pavel はそれを見て言いました。「なんだか頭の中が複雑になりますね)… ブランチなしではだめですか?)」。そして、どう直すかではなく、どうすれば簡単になるかを考えてほしいと頼みました。結局、必要なのは git だけでした。あなたのブランチが、そのままあなたの下書きです。

自分のマシンでは、moood のプレイヤーで。あなたのフォルダの上で動き、ファイルを保存するとページが自分で読み込み直され、ゲームはそれまでの続きから進みます。あるいはスタジオで。push のすぐあとに、どのブランチもパソコンでもスマートフォンでも見られます。遊んでいる途中で何か直したら、スタジオが新しい版のまま続けるかを聞いてくれます。最初からやり直す必要はありません。

自分のパソコンではできないことがあります。グラフィックカードが要り、しゃべったり、作曲したり、人を動かしたりするモデルが要ります。そのためのスタジオです。全部を使っても、ひとつだけ使っても、まったく使わなくてもかまいません。

**見る。** スタジオはグラフィックカードでシーンを描きます。一枚の絵、一秒ごとのコマを並べたシート、動画。これはあなただけのためではありません。エージェントは自分の仕事を絵で見て、あなたが別のことをしている間に自分で直します。エージェントがスタジオにつなぐのは一度だけ。何ができるようになるかを平易な言葉で書いたページで、あなたが許可します。そのあとは、あなたの名前で動きます。

**人に命を吹き込む。** 人の動きは言葉で書きます。「ゆっくり前へ歩く」「座って水面を見る」。本物の動きの記録で学習したモデルがそれを作り、シーンに入る前に、スタジオがいろいろな人の姿で見せてくれます。

**声をあげる。** どの行にも声をつけられます。登場人物にはそれぞれの声と話し方があり、ひとつのセリフだけ別の話し方にもできます。「からかうのではなく、うらやましさと感嘆をこめて」。ゲームのセリフはすべてひとつの場所に並んでいて、聴くことができます。

**音楽をつける。** シーンの音楽を言葉で書き、その言葉を重みで混ぜ合わせます。「夕暮れの静かなピアノ」を大きめに、「葉に降る雨」を小さめに。保存する前に、すぐ聴けます。一度作ったものは取っておかれ、同じセリフも同じ音楽も二度は作られません。

**コードなしで始める。** スタジオには画家がいます。ふつうに書き込める AI です。「夜にして、桟橋のランタンに火をともして」。シーンは画家が自分で直し、変えた結果はすぐに見えます。エディタも自分のエージェントもなく、ブラウザの中だけでワールドを始められるように、画家はいます。ただの好奇心でもかまいません。シーンをいくつか作って、何ができるか見てみてください。

**カクつかない。** 生きたシーンは、非力なノートパソコンでもスマートフォンでもなめらかに動くべきです。スタジオはいろいろなマシンで測って、収まらないところを教えてくれます。これが私たちにとってなぜそんなに大事なのかは、記事[「なぜ重かったのか」](/stories/why-it-was-slow)で。

**あらゆる言語で話す。** moood のゲームは十二の言語で話します。あなたのゲームも話せます。チェックは、訳されていない部分、どこにもつながらないリンク、組み立てられないシーンを見つけ、足りない声や音楽や絵も教えてくれます。足りないものは、ボタンひとつで作れます。チェックは速く済みます。グラフィックカードでシーンを描き直すのは、頼んだときだけ。チェックは何度もしたいものですから。

完成したゲームは、moood.me での公開を申し込めます。見せる前に目を通したうえで、サイトの他のゲームと並びます。シーンの絵や声や音楽もそろって。

私たちを通さない道もあります。moood のページは、いくつかの簡単なリクエストに答えられるサイトやアプリなら、どこでも表示できます。エンジンを使って、まったく自分だけのものを作ることもできます。

スタジオは、迷子にならない場所にしたいと思ってきました。ポータルのような作りで、左にサービスが並びます。リポジトリ、ワールド、ゲーム、記事。そして工房——レンダー、計測、音声、音楽、動き、画家、チェック、公開。上には、すべてをまとめて探せる検索があります。「ランタン」と入れれば、ゲームも記事もシーンも出てきます。必要なものには星をつけられます。ダークテーマもスマートフォン表示もあり、スタジオ自身も同じ十二の言語で話します。

細かいことも拾いました。メニューを押しても反応がない——押せたのか、押せていないのか。今は、項目がすぐに光り、ページの読み込みが一瞬より長くかかるときは「読み込み中…」と出ます。もっと速ければ、何もちらつきません。

別のエージェントが、架空の人物を何人か演じて、スタジオ全体を歩き回りました。慣れた作者、初心者、入ってきたばかりの人。すべてのページを二つの言語で、明るいテーマとダークテーマで、パソコンとスマートフォンで開き、つまずいたところを書き留めました。

笑えるものも、悔しいものも見つかりました。作者が「計測」を押すと「見つかりません」に着く——自分の計測が開けないのです。英語のゲームがロシア語のスタジオでは、タイトルも「遊ぶ」ボタンもなく表示されました。初心者は行き止まりにはまりました。入ったのに、その先が何もない。どれも、スタジオを開く前に直しました。

スタジオへの参加は、Pavel が許可します。[Telegram](https://t.me/pavel_zhur) か [[email protected]](mailto:[email protected]) に書いてください。気軽に開けてくれます。そして、moood そのもの——エンジン、ページ、ドキュメント——を手伝いたくなったら、Pavel は喜びます。[moood](https://github.com/moood-me/moood) の issue と pull request は、誰にでも開かれています。