Publish your game
Prepare a game page, add media, and review it before publishing.
The safest publishing flow has three steps: check the project, prepare the game page, then review it in your browser.
Gameplay footage is strongly recommended
Plan to include both gameplay footage and cover art. Games with gameplay footage are more likely to be played because visitors can see the game in motion before opening it. A short screen recording is enough. You should also supply a banner when you have one; if you do not, Sandscape can generate it for you.
Push your latest game files before you begin. The publish command uses the copy already stored on Sandscape.
sandscape push
sandscape publish --check
sandscape publish --prepare \
--title "Neon Drift" \
--tagline "Outrun the grid" \
--genre Racing \
--short-description "A synthwave time-trial racer built for one perfect lap." \
--tags racing,synthwave \
--platforms both \
--gameplay ./clip.mp4 \
--banner ./cover.png--prepare saves the draft and prints a review link. It does not publish the game. Open
the link to open the Sandscape publishing page with your draft and media ready for
review. Check the page, then press Publish when it is ready.
Check the project
sandscape publish --checkThe readiness report includes:
- whether the project has a root
index.html - whether cover art and gameplay footage are already available
- whether a draft has been saved
- whether the game has been published before
- the accepted genres and platform values
- the review link
A missing index.html is the only item that blocks publishing. Add it at the root of
the game folder, run sandscape push, then check again.
When you republish a game without uploading new gameplay footage, Sandscape keeps the existing preview.
Write the game page
--prepare requires --title. Add as much of the remaining information as the game
needs:
| Option | What it controls |
|---|---|
--title <text> | Game title. Required for prepare and direct publish. |
--tagline <text> | One-line hook below the title. |
--genre <name> | One of the genres returned by --check. Matching is case-insensitive. |
--short-description <text> | Short description used on game cards. |
--long-description <text> | Full description for the game page. |
--tags a,b,c | Comma-separated search and category tags. |
| `--visibility public | unlisted` |
| `--platforms desktop | mobile |
Set --platforms based on the controls, not the screen size. A desktop-only game can
still render on a phone while remaining difficult or impossible to play there.
Sandscape filters discovery results by device compatibility. A direct link to an incompatible game shows a warning before the game loads and lets the player continue.
If you omit --platforms, a new game uses both. A republish keeps its existing value.
Add cover art
Upload an image you already have:
sandscape publish --prepare --title "Neon Drift" --banner ./cover.pngAccepted formats are PNG, JPEG, WebP, and GIF. The limit is 10 MiB. Sandscape converts the upload to WebP.
You can also generate 16:9 cover art:
sandscape publish --prepare \
--title "Neon Drift" \
--gameplay ./clip.mp4 \
--generate-banner "chrome hovercar in a rain-soaked neon canyon, night scene, magenta and cyan palette, cinematic racing key art"Give --generate-banner a concrete art direction. Describe the subject, setting, mood,
palette, and the visual details that identify the game. Sandscape combines that
direction with the saved title and descriptions. It also samples stills from gameplay
footage uploaded in the same command.
The first three cover generations for a game are free. A user can receive at most six free generations across all games in one day. Generations outside either free allowance cost coins, and the command reports how many free generations remain.
Add gameplay footage
sandscape publish --prepare --title "Neon Drift" --gameplay ./clip.mp4The upload limit is 200 MiB. Accepted formats are MP4, MOV, WebM, M4V, AVI, and MKV. Sandscape converts the video to WebM, removes the audio, and keeps the first 20 seconds.
A raw screen recording works. If the best gameplay starts later in the recording, trim the file to the 20 seconds you want players to see before uploading it.
Cover and gameplay conversion happen on Sandscape. You do not need local video or image conversion software.
Upload media without preparing a draft
Media flags can run by themselves:
sandscape publish --gameplay ./clip.mp4
sandscape publish --banner ./cover.png
sandscape publish --generate-banner "art direction"Without --title, --check, or --prepare, the CLI completes the requested media work
and stops. It does not publish.
Publish directly from the terminal
Omitting --prepare publishes immediately:
sandscape publish \
--title "Neon Drift" \
--genre Racing \
--platforms both \
--web-url https://sandscape.appUse direct publishing only when you do not need the browser review step. The CLI prints the game ID, short code, and available play links.
Fix a rejected publish
- For an invalid genre, run
sandscape publish --checkand use one of the listed values. - For an invalid platform or visibility value, choose one of the values shown in the error.
- For a rejected media file, check its path, extension, size, and whether it is empty or a symlink.
- For a missing build, add
index.htmlat the project root and runsandscape push.