外で作ったゲーム
部屋で作る 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": "…" } }
}
}
| 項目 | 決まり |
|---|---|
tagline | 1〜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)。ページには画像の出どころが表示されます。 |
caption | 140 文字まで。画像に写っているもの。 |
card | 共有用の画像。文字を入れない 1200 × 630 ピクセルの .jpg、1 MiB まで。 |
translations.ja | 日本語の文。どの部分も省略でき、上限は英語と同じです。省略した部分は英語で表示されます。 |
ファイル名は小文字の英字、数字、ハイフンです。ファイルは合計 96 MiB までです。コマンドは送る前に、ファイルそのもののバイトを読んで、すべての決まりをコンピューター上で確かめます。pocket-studio listing --remove で紹介を外せます。
部屋で作った PocketJS のゲームにも紹介を付けられます。そのプロジェクトの中で同じコマンドを実行します。