FAQ
PUNIPOに投稿できます。Claude(Claude Code)・ChatGPT・GeminiなどのAIで作ったブラウザゲーム(1ファイルのHTML5ゲーム)を、そのまま無料で投稿して公開できます。スマホで遊ぶ短いミニゲームに向いています。承認されるとフィードに並び、Webのpunipo.comとアプリの誰でも遊べるようになります。
1ファイルで完結するHTMLが基本です。CSSとJavaScriptは同じファイルの中に書いてください。ビルドもバンドラーも不要です。画像や音の多いゲームは、ゲームのフォルダをzipにして投稿することもできます(投稿画面が1つのHTMLにまとめ、スマホでの見え方を確かめてから送れます)。
無料です。投稿もプレイもアカウント作成も費用はかかりません。
どのAIでも構いません。PUNIPOが見ているのは生成に使ったツールではなく、出力されたHTMLが技術要件を満たしているかどうかだけです。
承認後は誰でも遊べます。Webのpunipo.comとアプリの両方のフィードに流れます。
完成品は5MBまでです(zipは1つのHTMLにまとめた後、許可リストのCDNのライブラリは埋め込んだ後の大きさ)。zipファイルそのものは25MBまでです。古いアプリから送るHTMLは1MBまでです。
許可リストにある5本(Tailwind Play CDN / Matter.js / three.js / Howler.js / Phaser)だけ使えます。投稿時にインライン化されるので、プレイ中に外部通信は発生しません。zipで投稿するなら、ライブラリのファイルをzipに入れて使うこともできます。原則は素のJavaScriptを推奨しています。
ゲームオーバー・クリア・時間切れなど終わりがあるゲームでは、終わったときに必ず parent.postMessage({ type: 'gameOver', score }, '*') を呼んでください。score に数値を入れると、PUNIPO側のリザルト画面とランキングに反映されます。スコアが無いゲームは score を付けずに呼んでください(ランキングの無いリザルトになります)。呼んだ直後にリザルトが重なるので、終了演出がある場合は演出のあとで呼んでください。呼ばなくてよいのは終わりの無いゲーム(ずっと遊べるシミュレーターなど)だけで、その場合リザルトには移りません。再生回数はどちらでも数えられます。
表示言語が英語の人にも、日本語の人と同じ並びでゲームが流れます。日本語のゲームは、タイトルと説明文、そしてゲームの中の文字を英語に翻訳したものが原文の代わりに表示されます(翻訳したカードには「Translated from Japanese」と表記されます)。英語のゲームは、日本語の人にタイトルと説明文の日本語訳が表示されます。翻訳はPUNIPO側で自動で行い、ゲームの中身の動きは変えません。ゲームを更新すると翻訳も作り直されます。
投稿できます。HTMLが1つにまとまっていれば、そのファイルを選ぶか、コードを貼り付けて投稿します。ファイルが分かれているときは、フォルダごと(ビルドが要るものは出力フォルダを)zipにして投稿します。Canvasの共有リンクではなく、HTMLそのものを送ってください。