Skip to content

Sharing And Publishing

The primary publishing path is the hosted Opal portal:

text
Editor project -> File -> Publish to Arcade... -> public game page

Use exports for backups, moving projects, standalone builds, and technical deployment workflows.

Publishing Options

OptionUse
Publish to ArcadePublic playable game page hosted by Opal
Export GameFull .opal project backup
Export SceneOne-scene JSON backup or bug repro
Build playerStatic player folder from a .opal bundle
Static mirrorDeveloper/demo deployment of the editor and docs

Publish To The Arcade

Publish from the hosted editor:

Sign in

Publishing needs an account because the game needs an owner, project record, and public slug.

Set the start scene

The start scene is the scene players see first. Test from that scene before publishing.

Choose File -> Publish to Arcade...

Opal snapshots the project, prepares publish metadata, and asks whether the game can be remixed.

Open the public link

Published games get pages such as /g/<slug> and playable routes such as /play/<slug>.

Publishing is not just a final step. Publish small builds during development so you can test the real player route and share progress.

Remixing

When publishing, decide whether other users can remix the game.

ChoiceMeaning
Remix allowedOther users can open a copy as a starting point for their own project
Remix offThe game remains playable, but visitors do not get a remix starting point

For tutorials, starter kits, and examples, enable remixing. For personal finished games, choose based on how open you want the project to be.

Update A Published Game

When you change the project:

  1. Make the edit.
  2. Press Play and test.
  3. Use File -> Publish to Arcade... again.
  4. Open the public game page in a fresh tab.

The exact public page behavior depends on the current publish metadata and slug, but the habit is simple: edit, test, publish, verify.

Export A Game Backup

Use File -> Export Game to download a .opal bundle containing the full project.

Use .opal exports for:

  • Milestone backups
  • Moving work between machines
  • Saving a snapshot before risky changes
  • Standalone player builds
  • Bug reports and repro files

Even with account storage, exports are worth keeping. They are your local "I can always get back here" file.

Export One Scene

Use File -> Export Scene to download the active scene as JSON.

Scene exports are useful for:

  • Sharing one level draft
  • Moving one scene into another project
  • Creating small bug repros
  • Backing up before a large scene rewrite

A scene export is not the full game. It does not include every project scene or the whole project asset library.

Build A Standalone Player

For technical deployments, build a static player from an exported game:

bash
npm run build:player -- Demos/game.opal

The output is a static folder that can be hosted by any basic web server. The player is for playing the game, not editing it.

Use this path when you need a standalone archive or a deployment target outside the Opal arcade.

What Needs The Hosted Server

FeatureNeeds hosted/server API?
Account loginYes
Cross-device project storageYes
Publish to ArcadeYes
Public /g/<slug> and /play/<slug> pagesYes
Password or magic-code authYes
Background removal toolingUsually yes
Local IndexedDB editing (no server API)No
Static standalone playerNo

Release Checklist

Before publishing:

  1. Set the correct start scene.
  2. Play from the start scene to the ending.
  3. Test fullscreen layout.
  4. Verify images, .ssb bundles, and sounds load.
  5. Resolve Problems panel warnings.
  6. Confirm the UI/HUD works at likely screen sizes.
  7. Export a final .opal backup.
  8. Publish to the arcade.
  9. Open the public game page in a new tab or device.

Opal Engine — MIT licensed