SOMETHING ONLINE ARCADE — COPY THIS BRIEF TO YOUR GAME-BUILDING AI

Build my game for Something Online Arcade using the attached starter kit.
First establish whether this is a new game or an existing game; reuse known answers.
Read README.txt, arcade.json, taxonomy.json and the actual arcade-sdk.js before coding.

NEW GAME: follow the selected creator-guides/25m.txt, 1h.txt or 4h.txt from
https://somethingonline.com/preview/ (or the selected brief included in this kit).
If no guide is selected, agree the intended player playtime before choosing one.
You, the AI builder, create all code, coherent gameplay art or polished code-drawn
visuals, backgrounds, appropriate simple animation/enemies, menus, tests/debugging,
cover, selected cabinet art and upload files. I answer short plain questions,
confirm the plan, playtest and upload; never ask me to write code, assemble files
or run developer checklists. Report a real tool blocker; never fake a ZIP or test.
Ask its relevant questions in short rounds and wait for answers: concept, style,
movement/interaction, controls, levels or session structure and applicable card
rules. Confirm the complete design, menu map and numbered asset list before coding.
The durations describe player playtime, not generation time. The starter sample
does not implement a finished campaign, card game or complete menu flow for you.
Follow that guide's WORK ORDER: design plus menu/art/motion plans; one tested
playable section with menus; incremental level/chapter and save/resume checks;
normal-control beatability and the full connected campaign; consistent art,
seconds-based animation timing and pacing review; reproduce/fix/regression tests;
then final-ZIP clean extraction and local/host checks before my upload/review.
Keep intended difficulty. Use the agreed style sheet and measure animation/frame
timing on supported targets; report unavailable checks, never promise perfect FPS.
Keep your technical inventory and evidence separate from my simple final handoff.

EXISTING GAME: follow creator-guides/existing.txt. Inspect the original and work
on a copy; preserve gameplay, art, IDs and compatible saves. A compatible browser
ZIP may be uploaded unchanged without arcade.json. Add only agreed changes or
missing integration; never replace an existing game with this sample.

Deliver a complete, self-contained HTML5 browser game. Use local JS, CSS, images,
fonts and audio with relative paths; no CDN scripts, trackers or external requests.
Never include API keys, passwords, wallet connections, payments, advertisements,
account forms, or personally identifying player data. AI-assisted development is
allowed; live AI calls need a future platform integration and are not enabled.

Import {Arcade} from ./arcade-sdk.js. Wait for its ready event, restore the provided
progress, and handle pause/resume. Use arcade.save(progress, score, saveVersion)
for JSON saves, with visible retry behavior on failure. Keep progress under 32 KB,
save no more than once per second, and preserve old save compatibility. Report
arcade.setPlaying(true) only during active gameplay; set it false on menus and game
over. Pause simulation and audio when paused. Provide mute and readable controls.
Use the existing example to confirm the SDK payload and method signatures.

Fill arcade.json with a unique lowercase game ID and release version. Select exact
classification IDs from taxonomy.json: category, 1–3 genres, era/style, modes,
player range, and up to 5 tags. Declare inputs, audio and content rating honestly.
This starter is for solo or shared-device play. Use the online board starter and
grid-lines-v1 contract for two-player line games; other online rules require a new
reviewed server template. Era is style, not release year.

Supply one original or licensed JPG/PNG/WebP cover (recommended 960x640), plus
the matching optional cabinet atlas only if selected; follow the exact template
below. Respect the agreed visual style and make titles readable. List every
external asset, its license, and actual AI-generated assets or development help.
Do not claim rights to artwork you do not own or license.

Keep the ZIP under 20 MB and 40 MB expanded, with no file over 12 MB and no more
than 300 entries. Put index.html at the ZIP root. Exclude hidden files, server files,
credentials, node_modules, source-project folders, nested archives and symbolic links.
Deliver ONE complete runtime ZIP; include arcade.json for a newly prepared build.
Supply editable source and actual controls/content/rights/AI/test reports separately;
exclude tests, development tools and unused assets from the upload ZIP.

NEW-GAME COMPLETION CHECKS
Implement and interactively test the selected guide's full appropriate menu flow:
title, new/continue, relevant mode/difficulty/level choices, rules/controls,
settings/audio/accessibility, pause/resume/restart/quit, results, replay/rematch
and return to Arcade. Every presented action must work; omit inapplicable actions.
Record evidence for EVERY authored level played from start to completion using
normal controls, with failure/retry, checkpoints, saves, progression and endings
where applicable. A forced win or solver is not a normal-control playthrough.
For procedural games report tested seeds and generator checks, not exhaustive play.
For card games also test the agreed player modes, deck conservation, turn/legal
move rules, hidden-hand privacy, scoring/ties, round endings, rematches and saves.
This kit does not add online card support; other online rules need separate approval.
Unpack the exact final ZIP into a clean folder and boot it via a local web server.
Check missing assets/errors, supported controls and layouts, resize/focus,
host pause/mute/exit and cleanup, SDK saves/restore and score reporting. Test the
same build in the isolated workshop preview when access is available. Its saves
are session-local; do not claim persistent cloud saves from a preview session.
Review actual cover/cabinet art. Separate automation, normal-control playthroughs,
visual review and checks not run in the report. Fix failures and rerun affected
checks; do not declare ready with required checks failed or unrun. These instructions
require implementation and evidence; they do not prove a future game has passed.

Regular creator release path: private draft → upload checks → isolated test → human
safety review → Beta Arcade testing → qualified votes → final administrator review.
Beta saves remain in memory for one session and award no tickets. Each regular
creator version starts its own testing and votes. Never claim a build is published or safe merely
because structural checks passed or players voted for it.


TWO WAYS TO FINISH — ONE UPLOADABLE ZIP
COPY FOR MY AI: open https://somethingonline.com/preview/creator.html#creator-guide,
choose this kit's game type, then Copy for my AI. The AI asks a few plain questions,
uses the linked kit and returns ONE complete game ZIP, with arcade.json inside.
If it cannot download the kit, attach this exact kit. Never claim an unbuilt ZIP.
STEP BY STEP: use the same workshop's Step by step guide. Build/test the game,
keep all required runtime files and the completed arcade.json at the ZIP root,
then choose that one ZIP. The workshop reads the manifest; review its details and
complete rights/AI disclosures personally. A separate manifest upload is optional.

OPTIONAL CABINET SKIN — EXACTLY ONE NEW IMAGE
Classic upright pilot: cabinet/skin.png, one static opaque 1024 x 1024 PNG, <=4 MiB.
Read https://somethingonline.com/preview/creator-cabinet-kit/cabinet-template.json
and download https://somethingonline.com/preview/creator-cabinet-kit.zip first.
Follow its exact six named regions, shared side/back art and physical obstructions;
never guess UVs or generate separate panel images. Add cabinetSkin with templateId
classic-upright-v1 and texturePath cabinet/skin.png to the manifest. Keep the game's
existing one cover unchanged; for a new game make one cover.png at 960 x 640.
Thus required submission art is one cover plus one atlas, not extra variants.
Agree any gameplay-art filenames, dimensions and count before creating those.
Do not put the template GLB, guides, example skin, nested kits, extra covers,
mockup renders or unused image versions in the game ZIP. The platform supplies
the model. Skin availability is server-gated; use the standard cabinet if off.
Respect an explicit standard-cabinet choice; it needs only the cover, no atlas.
Inspect the actual rotating cabinet preview on every side for readable art and
cropping; if unavailable, report that review as not run. Keep editable art separate.


CURRENT UPLOAD AND REVIEW WORKFLOW — OCTOBER 20, 2026

A compatible existing browser game does not need AI or a starter-kit rebuild. arcade.json is optional: when absent, the workshop suggests entry/cover files and stores your confirmed details alongside the unchanged ZIP. A manifest helps automatic form filling; it does not automatically add pause, saves or scores. Keep the existing SDK contracts.

For a new build prepared using this kit, include a completed arcade.json for convenience. For an update, choose My games → Upload new version and preserve the game ID, ownership and compatible save format. Never replace the original source or uploaded archive in place.

Scanning, structural checks, isolated testing and review still apply. Regular creators use the beta/final review process. The verified site owner may use the audited Publish as owner option for their own tested submissions without beta votes; other developers do not gain that permission. No kit or passing scan publishes a game automatically.

NO-AI PATH: follow Step by step in the workshop and download creator-guides/existing.txt for an existing game. Only declare AI assistance when it was actually used.

GUIDED NEW GAMES: creator-guides/25m.txt, creator-guides/1h.txt and creator-guides/4h.txt contain the staged questions and complete menu, level, card, final-ZIP and artwork requirements. Follow the selected guide, then implement and test the agreed game. The matching browser starter ZIPs are creator-kit-25m.zip, creator-kit-1h.zip and creator-kit-4h.zip. These playtime targets are estimates to measure, not a claim that the sample is a finished campaign. Never publish automatically.
