Pocket Studio ドキュメント

外で作ったゲーム

部屋で作る PocketJS のアプリでないゲームも、Pocket Studio に置けます。独自のレンダラーを持つ Pocket3D のゲームなどです。棚のケース、アドレス、ゲームページ、メンバー向けのパッケージが付きます。Pocket Tokyo と Pocket Atlas はこの方法で公開されています。作者はゲーム自身のツールでビルドし、その結果を pocket-studio コマンドでアップロードします。

#ゲームを登録する

アカウントにつないだコンピューター(pocket-studio link <CODE>)で、ゲームのリポジトリの中で実行します。

pocket-studio register --title "Native Game" --tagline "A game built elsewhere." --repository https://github.com/example/native-game
Registered "Native Game" as docs-writer

サーバーとゲームの ID を書いた .pocket-studio.json ができます。トークンは含まれないので、コミットしてかまいません。ゲストのアカウントでは登録できません。

オプション設定するもの
--titleゲームのタイトル。
--taglineタイトルの下の 1 行。
--colors <a,b>カバーの 2 色。それぞれ #rrggbb。
--cover <png>カバーの画像。
--repository <url>公開されているソース。公開後に、ほかの人がリミックスできるようになります。あとから pocket-studio repository <url> で設定し、--remove で外せます。

#パッケージをアップロードする

pocket-studio package dist/release/native-game-0.1.0.3dsx --target 3ds --version 0.1.0

パッケージはデバイスごとに 1 つで、新しいものが前のものに置き換わります。デバイスごとのファイルはパッケージにあります。pocket-studio downloads on でメンバーがダウンロードできるようになります。

#公開する

pocket-studio publish --slug native-game

登録したゲームは、パッケージかウェブビルドがあると公開できます。どちらもないうちは Upload a package before publishing と表示されます。

#ウェブビルド

pocket-studio site dist/web

静的ファイルのディレクトリをゲームのアドレスに置きます。ウェブビルドを置けるのは、Pocket Nexus が確認したゲームだけです。 それ以外のゲームでは、Pocket Nexus がこのプロジェクトを確認していないと表示され、アドレスにはゲームのタイトルとカードへのリンクを載せた Pocket Studio のページが表示されます。確認を希望するときは support@pocket.nexus にご連絡ください。

1 回のデプロイは 4000 ファイル、1 ファイル 32 MiB、合計 1 GiB までです。--entry <file> で / に表示するファイルを指定します(既定は index.html)。トップレベルの play/ と runtime/ は、どのゲームのアドレスでも Pocket Studio が使います。

#ゲームページ

/games/<名前> のページには、ゲームの紹介が表示されます。動画、画像、説明、共有用の画像です。紹介は listing.json と、そこに書かれたファイルを置いたディレクトリです。

pocket-studio listing dist/listing
{
  "tagline": "A flight over Shiba, around Tokyo Tower.",
  "description": ["One to six paragraphs of plain text."],
  "media": [
    { "kind": "video", "file": "flight.mp4", "poster": "flight.jpg", "width": 960, "height": 544,
      "seconds": 14, "from": "browser", "caption": "Dusk over Shiba, from the tower to the bay." },
    { "kind": "image", "file": "station.jpg", "width": 960, "height": 544,
      "from": "vita", "caption": "Hamamatsucho station from 80 metres." }
  ],
  "card": "card.jpg",
  "translations": {
    "ja": { "tagline": "…", "description": ["…"], "captions": { "flight.mp4": "…" } }
  }
}
項目決まり
tagline1〜120 文字。ゲームのキャッチコピーとして、どこでもこれが使われます。
descriptionプレーンテキストの段落を 1〜6 個、それぞれ 600 文字まで。
media動画と画像を 2〜12 個、ページに並ぶ順に。最初の 1 つがメインで、ページの上で再生されます。Pocket Nexus がおすすめにしたゲームなら、ランディングページの棚でも再生されます。
動画.mp4、H.264、音声トラックなし、-movflags +faststart、6〜30 秒、毎秒 30 か 60 フレーム、12 MiB まで。seconds は長さを整数の秒で書きます。poster は同じ大きさの .jpg です。
画像.jpg、.webp、.png、2 MiB まで。
width、heightファイル自身の大きさ。横長で 4:3 から 2:1、長い辺が 320〜2560 ピクセル。
from何が描いたか。browser、またはデバイスの ID(psp、vita、3ds、ipod-touch、android)。ページには画像の出どころが表示されます。
caption140 文字まで。画像に写っているもの。
card共有用の画像。文字を入れない 1200 × 630 ピクセルの .jpg、1 MiB まで。
translations.ja日本語の文。どの部分も省略でき、上限は英語と同じです。省略した部分は英語で表示されます。

ファイル名は小文字の英字、数字、ハイフンです。ファイルは合計 96 MiB までです。コマンドは送る前に、ファイルそのもののバイトを読んで、すべての決まりをコンピューター上で確かめます。pocket-studio listing --remove で紹介を外せます。

部屋で作った PocketJS のゲームにも紹介を付けられます。そのプロジェクトの中で同じコマンドを実行します。