← Back

FAQ

FREQUENTLY ASKED QUESTIONS

Where can I publish a game made with an AI assistant?

On PUNIPO. Browser games (single-file HTML5 games) made with Claude (Claude Code), ChatGPT, Gemini, or any other assistant can be published as-is, for free. Short mini-games played on a phone fit best. Once approved, the game appears in the feed and anyone can play it on punipo.com or in the app.

What format does a game have to be in?

A single self-contained HTML file is the default. CSS and JavaScript go inside that same file. No build step and no bundler are required. Games with many images or sounds can also be uploaded as a zip of the game folder (the upload screen packs it into one HTML file and lets you check it on a phone-sized preview before sending).

Does it cost anything?

No. Publishing, playing, and creating an account are all free.

Does it matter which AI I used?

No. PUNIPO only checks whether the resulting HTML meets the technical requirements, not which tool produced it.

Who can play a game I publish?

Anyone, once it is approved. It appears in the feed on both punipo.com and the PUNIPO app.

Is there a file size limit?

The finished game may be up to 5 MB (for a zip, after it is packed into one HTML file; allowed CDN libraries count after they are inlined). The zip file itself can be up to 25 MB. HTML sent from older versions of the app is limited to 1 MB.

Can I use external libraries from a CDN?

Only five are allowed: Tailwind Play CDN, Matter.js, three.js, Howler.js, and Phaser. They are inlined at upload time, so no external requests happen while the game is played. If you upload a zip, you can also put library files in the zip and use them. Plain JavaScript is the recommended default.

How do I report the score?

If your game ends (game over, clear, time up and so on), always call parent.postMessage({ type: 'gameOver', score }, '*') when it ends. With a numeric score, PUNIPO shows the result screen and updates the ranking. A game without a score calls it without score (the result screen then appears without a ranking). The result is laid over the game right after the call, so if you have an ending animation, play it out first and call this afterwards. Only games that never end (a simulator you can keep playing, for example) don't call it; they simply never move to the result screen. Play counts are recorded either way.

How does my game look to players in another language?

Players whose display language is English get the same feed, in the same order, as Japanese players. For a Japanese game, the title, the description and the text inside the game are shown in English in place of the original (the card says "Translated from Japanese"). For an English game, Japanese players see a Japanese title and description. PUNIPO makes the translations automatically and never changes how the game plays. When you update a game, the translation is made again.

Can I publish a game made with Claude Code or Gemini Canvas?

Yes. If the game is one HTML file, choose that file or paste the code. If it is split into several files, zip the folder (for a project that needs a build step, zip the build output) and upload the zip. Send the HTML itself, not a Canvas share link.