Platform City

City Guide / 使い方

3分ゲームを作る

ゲーム区画は、1〜3分ほどでルールが伝わり、その場ですぐ遊べるゲームを持ち寄る場所です。大きな作品を完成させることより、ひとつの遊びを小さく公開し、遊んだ人の反応を見ながら育てることを重視します。

ひとつの遊びを決める

最初に、プレイヤーが何をして、何が起きたら成功または終了になるかを一文で決めます。短時間で繰り返し遊べるよう、操作とルールを絞るのがおすすめです。

会場で1〜3分で遊べるゲームを作りたいです。スマートフォンでも遊べる簡単なルールを3案出して、ひとつ選んだらアプリ名を一緒に決めてください

ゲームの例は、連打、反射神経、クイズ、パズル、迷路などです。例に合わせる必要はありません。説明を読まなくても最初の操作が分かり、終了後にもう一度遊べる形を目指します。

ゲーム区画に建てる

ゲーム区画へ建物を建てるには、作成時にテーマ game を指定します。テーマとアプリ名が決まってから、エージェントに作成を依頼します。

theme: game で quick-quiz というアプリを作ってください。tenant は taro-yamada です

displayName を渡すと Map に出る表示名になります。省略すると <username>のゲーム という名前が自動で付きます。追加アプリの公開 URL は https://<username>.city.paas.jp/<アプリ名>/ です。

game テーマのアプリは Trust Tier B です。ビルド方法やフレームワークは Dockerfile の中で変更できますが、プラットフォームが用意する CI の流れとデプロイ処理は維持してください。Kubernetes の設定はプラットフォームが生成するため、アプリ側では作成しません。

ゲームとランキングを用意する

ゲーム区画の要件は、GET / で1〜3分ほどで遊べるゲームと参加者ランキングを提供することです。ランキングには、スコア、クリア時間、正解数など、そのゲームの結果を比べられる指標を使います。

ランキングの名前、並び順、結果の保存範囲はゲームの内容に合わせて決めます。まずはテンプレートに入っているサンプルを動かし、エージェントに既存の実装とテストを確認させてから変更すると、ゲームの本体以外に必要な契約を壊しにくくなります。

スマートフォンから遊ぶ参加者もいるため、タップで操作でき、画面の幅が狭くてもゲームと結果が読めることを確認します。音を使う場合は、無音でも遊べる説明を用意し、ユーザーの操作前に再生しないようにします。

参加者共通のランキングを再デプロイ後も残すには、自動で用意される DynamoDB を使えます。静的な雛形にスコア保存用のサーバー処理を追加し、ブラウザーからその API を呼びます。接続方法とキーの形式は DynamoDB にデータを保存する を参照してください。

公開を確認する

実装後は、作成されたプロジェクトの AGENTS.md に従ってテストし、通常の CI でデプロイします。エージェントに status と公開 URL を確認してもらい、次の状態になれば最初の公開は完了です。

  • 公開 URL の GET / でゲームを開始できる
  • ルールを理解して1〜3分ほどで一度遊び終えられる
  • 終了時に結果が表示され、ランキングでほかの結果と比べられる
  • スマートフォンの幅でも主要な操作ができる
  • status が成功を返し、Map のゲーム区画に建物が現れる

最初の公開後は、自分でも数回遊び、難しさ、説明、操作、ランキングの分かりやすさを調整します。建物へのいいねは反応を見る材料ですが、ゲームの完成条件ではありません。

エージェント向けの手順

AI エージェントがゲームアプリを扱うときは、次の順で進めてください。

  1. 遊びを小さく決める: プレイヤーの操作、成功または終了条件、ランキングで比べる結果を確認します。ユーザーが内容を決めていない場合は、1〜3分で遊べる案を少数提示します
  2. 名前とテーマを確認する: アプリ名と theme: game が明示されてから create_app を呼びます。選ばれる前に作成しません
  3. テンプレートを確認する: 払い出されたプロジェクトの AGENTS.md、サンプル、テストを読み、維持する契約を確認します
  4. 実装して試す: GET / のゲーム、ランキング、やり直しの流れを実装し、スマートフォン相当の幅でも操作できることを確かめます
  5. デプロイを確認する: 通常の CI を通し、status と公開 URL、Map のゲーム区画を確認します。失敗した場合は logs と機械可読な案内をもとに修正します