Beta only
The following features are available in https://arcade.makecode.com/beta only.
This page describes various ways to publish your game and have friends play them.
The simplest way to publish your game is to press the Share button in the editor. It will create a unique URL that loads this game. This is a great to get started and is friction free.
The downside of the default share is that the link changes on each publishing. If you plan to iterate on your game, you can use GitHub to improve your experience. By publishing to GitHub, you will have a stable URL with a full screen experience.
An example of exported game can be found at https://microsoft.github.io/pxt-kickoff/.
The website generated above supports a few query parameters.
These can be added to the end of the url after a ?
to change what is shown.
nofooter=1
: removes the footer from the page so only the simulator is shownembed=1
: makes the background transparent for use when embedding the pageFor example, these can be used when embedding the page on another platform similar to the share page:
<div>
<iframe
style="position:absolute;top:0;left:0;width:100%;height:100%;"
src="https://microsoft.github.io/pxt-kickoff/?embed=1&nofooter=1"
allowfullscreen="allowfullscreen"
sandbox="allow-popups allow-forms allow-scripts allow-same-origin"
frameborder="0"
></iframe>
</div>
itch.io is a popular indie game web site. To upload any game, click the arrow by your username and then select ‘Upload new project’. If you are submitting to a game jam, click ‘Submit your project’ on the game jam page, then ‘Upload game’ in the dialog that pops up. From here, there are a few ways to link a MakeCode Arcade game.
In the MakeCode Arcade editor with your game, click the Save icon on the bottom toolbar (next to the name of your project). This will download a PNG that also encodes your game! In itch.io, select ‘Downloadable’ as the kind of project and click the ‘Upload files’ button to upload your game PNG. Add title, cover image, and other details if you have them!
In the MakeCode Arcade editor, click ‘Share’ in the top left, then ‘Publish Project’. Copy the generated URL and return to the itch.io ‘Create a new project’ page. Select ‘Downloadable’ as the kind of project, and paste the URL to your game in the description. Then fill in additional details about your game!
Embedding the game in itch.io is a little more complex, but will allow folks to play your game on the itch.io page directly! In the MakeCode Arcade editor, click ‘Share’ in the top left, then ‘Publish Project’. At the bottom of the ‘Share Project’ dialog you will see a blue ‘> Embed’ link. Click on that link and select the ‘Simulator’ tab. Copy the generated embed code into a text file, and save it as [your game].html
In the itch.io ‘Create a new project’ page, select ‘HTML’ as the kind of project. Click the ‘Upload files’ button to upload your HTML file, and check ‘This file will be played in the browser’. Under ‘Embed Options’, we recommend:
500
px x Height 580
pxFill in any additional details about your game, and hit publish!
Zip the contents of the assets
folder and upload them into your itch.io project. Make sure to mark your channel as HTML
.
You can also consider your GitHub repository to upload your game to itch.io automatically on each release.
.github/workflows/itch.io.yml
file in your repository
with the following content# Workflow that pushes compiled game to itch.io
# Add a secret BUTLER_API_KEY to the project to enable uploading.
# If needed update user and project name in script.
name: itch.io
on:
push:
branches: master
paths: assets/**
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: install butler
run: |
curl -L -o butler.zip https://broth.itch.ovh/butler/linux-amd64/LATEST/archive/default
unzip butler.zip
chmod +x butler
- name: push to itch.io
run: |
if [ "$BUTLER_API_KEY" != "" ]; then
./butler push assets $ITCH_IO_PROJECT:$ITCH_IO_CHANNEL --userversion-file assets/version.txt
fi
env:
BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
ITCH_IO_PROJECT: USER/PROJECT
ITCH_IO_CHANNEL: HTML
ITCH_IO_PROJECT
entry in the file to match your user/project
in itch.io.BUTLER_API_KEY
secret on your repository.You repository is ready. Go back to MakeCode Arcade and create a new release of your game to trigger the workflow.