UNPKG

pxt-arcade

Version:
778 lines (777 loc) 27.7 kB
{ "id": "arcade", "name": "arcade", "nickname": "arcade", "thumbnailName": "MakeCode Arcade", "title": "Microsoft MakeCode Arcade", "description": "Develop your programming skills by quickly creating and modding retro arcade games with Blocks and JavaScript in the MakeCode editor", "corepkg": "device", "cloud": { "workspace": false, "sharing": true, "thumbnails": true, "importing": true, "packages": true, "publishing": true, "githubPackages": true, "showBadges": true, "cloudProviders": { "github": { "id": "github", "name": "GitHub", "icon": "/static/providers/github-mark.png", "identity": false, "order": 4 }, "microsoft": { "id": "microsoft", "name": "Microsoft", "icon": "/static/providers/microsoft-logo.svg", "identity": true, "redirect": true, "order": 1 }, "google": { "id": "google", "name": "Google", "icon": "/static/providers/google-logo.svg", "identity": true, "redirect": true, "order": 2 }, "clever": { "id": "clever", "name": "Clever", "icon": "/static/providers/clever-logo.png", "identity": true, "redirect": true, "order": 3 } } }, "bundleddirs": [ "libs/animation", "libs/accelerometer", "libs/azureiot", "libs/base", "libs/buttons", "libs/color", "libs/color-coded-tilemap", "libs/controller", "libs/controller---none", "libs/core", "libs/core---linux", "libs/core---nrf52", "libs/core---samd", "libs/core---stm32", "libs/core---rp2040", "libs/core---vm", "libs/corgio", "libs/d5prj", "libs/darts", "libs/device", "libs/edge-connector", "libs/esp32", "libs/f4prj", "libs/feather", "libs/game", "libs/game---light", "libs/hw", "libs/hw---n3", "libs/hw---n4", "libs/hw---rpi", "libs/hw---samd51", "libs/hw---stm32f401", "libs/hw---rp2040", "libs/hw---vm", "libs/keyboard", "libs/light", "libs/lightsensor", "libs/microphone", "libs/mixer", "libs/mixer---ext", "libs/mixer---linux", "libs/mixer---none", "libs/mixer---nrf52", "libs/mixer---samd", "libs/mixer---stm32", "libs/mixer---rp2040", "libs/mouse", "libs/mqtt", "libs/multiplayer", "libs/net", "libs/net-game", "libs/palette", "libs/power", "libs/radio", "libs/radio-broadcast", "libs/rotary-encoder", "libs/rpiprj", "libs/screen", "libs/screen---ext", "libs/screen---linux", "libs/screen---st7735", "libs/serial", "libs/serial---linux", "libs/servo", "libs/settings", "libs/settings---files", "libs/sevenseg", "libs/shader", "libs/sprite-scaling", "libs/storyboard", "libs/template", "libs/thermometer", "libs/browser-events" ], "staticpkgdirs": { "base": [ "libs/hw", "libs/hw---n3", "libs/hw---n4", "libs/hw---samd51", "libs/hw---stm32f401", "libs/hw---rp2040" ], "extensions": [ "libs/accelerometer", "libs/color", "libs/edge-connector", "libs/esp32", "libs/feather", "libs/light", "libs/lightsensor", "libs/mqtt", "libs/net", "libs/net-game", "libs/palette", "libs/radio", "libs/radio-broadcast", "libs/serial", "libs/servo", "libs/settings", "libs/sevenseg", "libs/shader", "libs/thermometer" ] }, "cacheusedblocksdirs": [ "skillmap/space", "skillmap/platformer" ], "compile": { "useUF2": true, "deployDrives": "(ARCADE|PY|FTHR840BOOT|ARCD|RPI-RP2)", "deployFileMarker": "INFO_UF2.TXT", "driveName": "ARCADE", "floatingPoint": true, "taggedInts": true, "nativeType": "thumb", "gc": true, "upgrades": [], "webUSB": true, "saveAsPNG": true, "patches": { "0.0.0 - *": [ { "type": "missingPackage", "map": { "(DigitalPin|AnalogPin|pins)\\.P\\d\\d?": "edge-connector", "serial\\.": "serial" } } ], "0.0.0 - 0.1.1": [ { "type": "api", "map": { "controller\\.controlSprite": "controller.moveSprite", "controller\\.controlPlayer": "controller.movePlayer" } } ], "0.0.0 - 0.3.23": [ { "type": "package", "map": { "local-multiplayer": "" } } ], "0.0.0 - 0.3.24": [ { "type": "api", "map": { "sprites\\.createEmptySprite\\(([^)]+)\\)": "sprites.create(img`.`, $1)" } }, { "type": "blockId", "map": { "keysdx": "keydx", "keysdy": "keydy" } } ], "0.0.0 - 0.11.20": [ { "type": "api", "map": { "SpriteKind": "SpriteKindLegacy" } } ], "0.0.0 - 0.14.57": [ { "type": "missingPackage", "map": { "scene\\.setTileMap": "color-coded-tilemap", "scene\\.setTile": "color-coded-tilemap", "scene\\.getTile": "color-coded-tilemap", "scene\\.getTilesByType": "color-coded-tilemap", "scene\\.placeOnRandomTile": "color-coded-tilemap", "scene\\.setTileAt": "color-coded-tilemap", "scene\\.onHitTile": "color-coded-tilemap", "\\.tileHitFrom": "color-coded-tilemap" } } ], "0.0.0 - 0.18.9": [ { "type": "api", "map": { "tilemap\\s*\\.\\s*createTileSprite": "tiles.createTileSprite", "tilemap\\s*\\.\\s*coverAllTiles": "tiles.coverAllTiles", "tilemap\\s*\\.\\s*createSpritesOnTiles": "tiles.createSpritesOnTiles", "tilemap\\s*\\.\\s*destorySpritesOfKind": "tiles.destroySpritesOfKind", "tilemap\\s*\\.\\s*tileIs": "tiles.tileIs", "tilemap\\s*\\.\\s*tileIsWall": "tiles.tileIsWall", "tilemap\\s*\\.\\s*forEachTileOfKind": "tiles.forEachTileOfKind", "tilemap\\s*\\.\\s*forEachTileOfMap": "tiles.forEachTileOfMap", "tilemap\\s*\\.\\s*replaceAllTiles": "tiles.replaceAllTiles", "tilemap\\s*\\.\\s*columnInDirection": "tiles.columnInDirection", "tilemap\\s*\\.\\s*rowInDirection": "tiles.rowInDirection", "tilemap\\s*\\.\\s*forEachDirection": "tiles.forEachDirection", "tilemap\\s*\\.\\s*centerCameraOnTile": "tiles.centerCameraOnTile", "tilemap\\s*\\.\\s*locationOfSprite": "tiles.locationOfSprite", "tilemap\\s*\\.\\s*RowCol": "tiles.RowCol", "tilemap\\s*\\.\\s*spriteRowCol": "tiles.spriteRowCol", "tilemap\\s*\\.\\s*locationColumn": "tiles.locationColumn", "tilemap\\s*\\.\\s*locationRow": "tiles.locationRow", "tilemap\\s*\\.\\s*XY": "tiles.XY", "tilemap\\s*\\.\\s*locationXY": "tiles.locationXY", "tilemap\\s*\\.\\s*locationInDirection": "tiles.locationInDirection", "tilemap\\s*\\.\\s*_directionEditor": "tiles._directionEditor", "tilemap\\s*\\.\\s*tileWidth": "tiles.tileWidth", "tilemap\\s*\\.\\s*tilemapColumns": "tiles.tilemapColumns", "tilemap\\s*\\.\\s*tilemapRows": "tiles.tilemapRows", "tilemap\\s*\\.\\s*screenCoordinateToTile": "tiles.screenCoordinateToTile", "tilemap\\s*\\.\\s*tileCoordinateToScreen": "tiles.tileCoordinateToScreen", "tilemap\\s*\\.\\s*centeredTileCoordinateToScreen": "tiles.centeredTileCoordinateToScreen", "tilemap\\s*\\.\\s*OVERWORLD_MAP_ID": "tiles.OVERWORLD_MAP_ID", "tilemap\\s*\\.\\s*MAP_LOADED_EVENT": "tiles.MAP_LOADED_EVENT", "tilemap\\s*\\.\\s*WorldMap": "tiles.WorldMap", "tilemap\\s*\\.\\s*WorldMapConnection": "tiles.WorldMapConnection", "tilemap\\s*\\.\\s*createMap": "tiles.createMap", "tilemap\\s*\\.\\s*copyMap": "tiles.copyMap", "tilemap\\s*\\.\\s*loadMap": "tiles.loadMap", "tilemap\\s*\\.\\s*getLoadedMap": "tiles.getLoadedMap", "tilemap\\s*\\.\\s*onMapLoaded": "tiles.onMapLoaded", "tilemap\\s*\\.\\s*onMapUnloaded": "tiles.onMapUnloaded", "tilemap\\s*\\.\\s*connectMapById": "tiles.connectMapById", "tilemap\\s*\\.\\s*loadConnectedMap": "tiles.loadConnectedMap", "tilemap\\s*\\.\\s*getConnectedMap": "tiles.getConnectedMap", "tilemap\\s*\\.\\s*setWorldLocationToMap": "tiles.setWorldLocationToMap", "tilemap\\s*\\.\\s*loadMapAt": "tiles.loadMapAt", "tilemap\\s*\\.\\s*getMapAtWorldLocation": "tiles.getMapAtWorldLocation", "tilemap\\s*\\.\\s*loadMapInDirection": "tiles.loadMapInDirection", "tilemap\\s*\\.\\s*loadedWorldColumn": "tiles.loadedWorldColumn", "tilemap\\s*\\.\\s*loadedWorldRow": "tiles.loadedWorldRow" } } ], "0.0.0 - 1.9.0": [ { "type": "api", "map": { "myCorg\\s*\\.\\s*follow": "myCorg.cameraFollow" } } ] } }, "compileService": { "buildEngine": "codal", "githubCorePackage": "lancaster-university/codal", "gittag": "v0.8.0", "dockerImage": "pext/yotta:latest", "codalTarget": { "branches": {} } }, "variants": { "stm32f401": { "compile": { "hasHex": true, "openocdScript": "source [find interface/stlink-v2.cfg]; source [find target/stm32f4x.cfg]", "flashEnd": 524288, "uf2Family": "0x57755a57" }, "compileService": { "codalTarget": { "name": "codal-big-brainpad", "url": "https://github.com/lancaster-university/codal-big-brainpad", "branch": "v1.3.1", "type": "git" }, "codalBinary": "STM32", "serviceId": "codal2stm32", "dockerImage": "pext/yotta:latest" } }, "samd51": { "compile": { "hasHex": true, "openocdScript": "source [find interface/cmsis-dap.cfg]; set CHIPNAME at91samd51g19; source [find target/atsame5x.cfg]", "openocdScriptAlt": "source [find interface/stlink-v2.cfg]; set CPUTAPID 0x2ba01477; set CHIPNAME at91samd51g19; source [find target/at91samdXX.cfg]", "ramSize": 196608, "flashEnd": 524288, "uf2Family": "0x55114460" }, "compileService": { "codalTarget": { "name": "codal-itsybitsy-m4", "url": "https://github.com/lancaster-university/codal-itsybitsy-m4", "branch": "v0.2.7", "type": "git" }, "codalBinary": "ITSYBITSY_M4", "serviceId": "codal2samd51", "dockerImage": "pext/yotta:latest" } }, "nrf52840": { "compile": { "hasHex": true, "openocdScript": "source [find interface/cmsis-dap.cfg]; source [find target/nrf52.cfg]", "webUSB": false, "flashEnd": 1007616, "uf2Family": "0xada52840" }, "compileService": { "codalTarget": { "name": "codal-nrf52840-dk", "url": "https://github.com/mmoskal/codal-nrf52840-dk", "branch": "v1.1.7", "type": "git" }, "codalBinary": "NRF52840_DK", "serviceId": "codal2nrf52840", "dockerImage": "pext/yotta:latest", "yottaConfig": { "pxt": { "board": { "id": "BOARD_ID_NRF52840" } } } } }, "nrf52833": { "compile": { "hasHex": true, "openocdScript": "source [find interface/cmsis-dap.cfg]; source [find target/nrf52.cfg]", "webUSB": false, "useUF2": false, "flashEnd": 524288, "deployDrives": ".*", "deployFileMarker": "DETAILS.TXT" }, "compileService": { "codalTarget": { "name": "codal-nrf52833-dk", "url": "https://github.com/mmoskal/codal-nrf52833-dk", "branch": "v2.0.2", "type": "git" }, "codalBinary": "NRF52840_DK", "serviceId": "codal2nrf52840", "dockerImage": "pext/yotta:latest", "yottaConfig": { "pxt": { "board": { "id": "BOARD_ID_NRF52833" } } } } }, "rp2040": { "compile": { "hasHex": true, "openocdScript": "???", "flashChecksumAddr": 0, "flashEnd": 2097152, "uf2Family": "0xe48bff56" }, "compileService": { "codalTarget": { "name": "codal-pi-pico", "url": "https://github.com/lancaster-university/codal-pi-pico", "branch": "v0.0.13", "type": "git" }, "gittag": "v0.9.0", "codalBinary": "PI-PICO", "serviceId": "codal2pico", "dockerImage": "pext/arm:gcc9" } }, "rpi": { "compile": { "hasHex": true, "useELF": true, "runtimeIsARM": true, "flashCodeAlign": 256, "webUSB": false, "stackAlign": 2 }, "compileService": { "buildEngine": "dockermake", "dockerImage": "pext/rpi:alsa", "serviceId": "rpi" } }, "vm": { "compile": { "hasHex": true, "useELF": true, "flashCodeAlign": 256, "webUSB": false, "nativeType": "vm", "stackAlign": 2 }, "compileService": { "buildEngine": "dockercross", "dockerImage": "pext/crossbuild", "serviceId": "crossbuild", "skipCloudBuild": true } } }, "serial": { "useEditor": true, "log": true, "editorTheme": { "graphBackground": "#d9d9d9", "lineColors": [ "#009DDC", "#FB48C7", "#40bf4a", "#8073E5", "#d25b33" ] } }, "runtime": { "mathBlocks": true, "loopsBlocks": true, "logicBlocks": true, "variablesBlocks": true, "textBlocks": true, "functionBlocks": true, "breakBlock": true, "continueBlock": true, "pauseUntilBlock": { "category": "loops" }, "functionsOptions": { "useNewFunctions": true, "extraFunctionEditorTypes": [ { "typeName": "Sprite", "icon": "send", "defaultName": "mySprite" }, { "typeName": "Image", "icon": "image outline", "defaultName": "myImage" }, { "label": "Location", "typeName": "tiles.Location", "icon": "tree", "defaultName": "myLocation" } ] }, "listsBlocks": true, "tilesetFieldEditorIdentity": "images._tile", "bannedCategories": [ "pins", "control", "input", "serial", "power" ] }, "simulator": { "autoRun": true, "autoRunLight": false, "emptyRunCode": "pxsim.pxtcore.updateScreen(new pxsim.RefImage(160, 120, 4))", "aspectRatio": 0.85, "dynamicBoardDefinition": true, "keymap": true, "messageSimulators": { "jacdac": { "url": "https://microsoft.github.io/jacdac-docs/tools/makecode-sim?webusb=0&parentOrigin=$PARENT_ORIGIN$", "localHostUrl": "http://localhost:8000/tools/makecode-sim?webusb=0&parentOrigin=$PARENT_ORIGIN$", "aspectRatio": "0.89", "permanent": true } } }, "appTheme": { "logoUrl": "https://makecode.com/org", "logo": "/static/logo.svg", "docsLogo": "/static/logo.svg", "cardLogo": "/static/logo.png", "appLogo": "/static/icons/favicon.ico", "portraitLogo": "/static/logo.svg", "footerLogo": "/static/logo.svg", "organization": "Microsoft MakeCode", "organizationText": "MakeCode Arcade", "organizationShortText": "MakeCode", "organizationUrl": "https://makecode.com/org", "organizationLogo": "/static/Micorsoft_logo_rgb_W-white_D-square.png", "organizationWideLogo": "/static/Micorsoft_logo_rgb_W-white_D.png", "homeUrl": "https://arcade.makecode.com/", "embedUrl": "https://arcade.makecode.com/", "privacyUrl": "https://go.microsoft.com/fwlink/?LinkId=521839", "termsOfUseUrl": "https://go.microsoft.com/fwlink/?LinkID=206977", "githubUrl": "https://github.com/microsoft/pxt-arcade", "boardName": "Arcade", "addNewTypeScriptFile": true, "docMenu": [ { "name": "Docs", "path": "/docs", "popout": true }, { "name": "Hardware", "path": "/hardware", "popout": true }, { "name": "Forum", "path": "https://forum.makecode.com" } ], "coloredToolbox": true, "monacoToolbox": true, "selectLanguage": true, "availableLocales": [ "en", "ar", "de", "es-ES", "es-MX", "fr", "ga-IE", "it", "ja", "ko", "ru", "zh-CN", "zh-TW", "nl" ], "invertedMenu": true, "showHomeScreen": true, "useTextLogo": true, "highContrast": true, "greenScreen": true, "print": true, "hasAudio": true, "allowPackageExtensions": true, "homeScreenHero": { "imageUrl": "/static/hero-gallery/multiplayer-banner.png", "name": "Multiplayer Games!", "url": "/--multiplayer", "buttonLabel": "Try Now", "description": "Multiplayer Games!", "cardType": "link" }, "homeScreenHeroGallery": "/hero-banner", "socialOptions": { "orgTwitterHandle": "MSMakeCode", "hashtags": "MakeCode", "discourse": "https://forum.makecode.com/", "discourseCategory": "Arcade" }, "blocklyOptions": { "grid": { "spacing": 30, "length": 1, "colour": "rgb(189, 195, 199)", "snap": false } }, "blockColors": { "loops": "#20BF6B", "logic": "#45AAF2", "math": "#A55EEA", "variables": "#EC3B59", "text": "#F5D547", "arrays": "#FF8F08", "functions": "#1446A0" }, "defaultColorTheme": "arcade-orange", "highContrastColorTheme": "pxt-high-contrast", "simAnimationEnter": "fly right in", "simAnimationExit": "fly right out", "crowdinProject": "makecode", "monacoColors": { "editor.background": "#F8FAFC" }, "monacoFieldEditors": [ "image-editor", "tilemap-editor", "soundeffect-editor", "music-editor" ], "scriptManager": true, "saveInMenu": false, "debugger": true, "importExtensionFiles": true, "experiments": [ "debugExtensionCode", "snippetBuilder", "experimentalHw", "recipes", "tutorialBlocksDiff", "blocksErrorList", "identity", "accessibleBlocks", "palettePicker" ], "blocksCollapsing": true, "errorList": true, "workspaceSearch": true, "extendEditor": true, "simScreenshot": true, "simScreenshotKey": "P", "simScreenshotMaxUriLength": 300000, "simGif": true, "simGifKey": "R", "qrCode": true, "shareFinishedTutorials": true, "nameProjectFirst": true, "githubEditor": true, "githubCompiledJs": true, "chooseLanguageRestrictionOnNewProject": true, "openProjectNewTab": true, "hasReferenceDocs": true, "python": true, "assetEditor": true, "immersiveReader": true, "tutorialCodeValidation": true, "multiplayer": true, "songEditor": true, "shareToKiosk": true, "tours": { "editor": "/tours/editor-tour" }, "showOpenInVscode": true, "hideReplaceMyCode": true, "timeMachine": true, "timeMachineDiffInterval": 600000, "timeMachineSnapshotInterval": 1800000, "feedbackEnabled": true, "ocvAppId": 50315, "ocvFrameUrl": "https://admin-ignite.microsoft.com" }, "queryVariants": { "skillmap=1": { "appTheme": { "embeddedTutorial": true, "allowParentController": true, "shareFinishedTutorials": false, "hideReplaceMyCode": false } }, "teachertool=1": { "appTheme": { "hideMenuBar": true, "workspaceSearch": true } }, "ninja=1": { "appTheme": { "embeddedTutorial": true, "allowParentController": true, "shareFinishedTutorials": false, "hideReplaceMyCode": false } } }, "unsupportedBrowsers": [ { "id": "ie" } ], "uploadDocs": true, "noSimShims": true, "defaultBadges": [ { "id": "skillmap-completion-save the forest", "type": "skillmap-completion", "image": "/static/badges/badge-forest.png", "lockedImage": "/static/badges/badge-forest-locked.png", "sourceURL": "https://www.makecode.com/api/md/arcade/skillmap/forest", "title": "Save the Forest" }, { "id": "skillmap-completion-zookeeper", "type": "skillmap-completion", "image": "/static/badges/badge-zoo.png", "lockedImage": "/static/badges/badge-zoo-locked.png", "sourceURL": "https://www.makecode.com/api/md/arcade/skillmap/zoo", "title": "Zookeeper" }, { "id": "skillmap-completion-rockstar", "image": "/static/badges/badge-rockstar.png", "lockedImage": "/static/badges/badge-rockstar-locked.png", "sourceURL": "https://www.makecode.com/api/md/arcade/skillmap/rockstar", "type": "skillmap-completion", "title": "80's Rockstar" }, { "id": "skillmap-completion-build a platformer game!", "image": "/static/badges/badge-jungle.png", "lockedImage": "/static/badges/badge-jungle-locked.png", "sourceURL": "https://www.makecode.com/api/md/arcade/skillmap/jungle", "type": "skillmap-completion", "title": "Jungle Jump" }, { "id": "skillmap-completion-space", "image": "/static/badges/badge-space.png", "lockedImage": "/static/badges/badge-space-locked.png", "sourceURL": "https://www.makecode.com/api/md/arcade/skillmap/space", "type": "skillmap-completion", "title": "Space Explorer" }, { "id": "skillmap-completion-shark", "image": "/static/badges/badge-shark.png", "lockedImage": "/static/badges/badge-shark-locked.png", "sourceURL": "https://www.makecode.com/api/md/arcade/skillmap/shark", "type": "skillmap-completion", "title": "Shark Splash" } ] }