├── .github └── ISSUE_TEMPLATE │ ├── tool-suggestion.md │ ├── extension-suggestion.md │ └── feature_request.md └── README.md /.github/ISSUE_TEMPLATE/tool-suggestion.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Tool suggestion 3 | about: Suggest a tool to be added to this list. 4 | title: Add tool [insert link to tool] 5 | labels: new tool 6 | assignees: UnsignedArduino 7 | 8 | --- 9 | 10 | **Link to tool**: [Insert a GitHub pages link. Required] 11 | **Link to GitHub repo**: [Insert link to GitHub repo here. Not required] 12 | **Link to Forum post**: [Insert a link to a Forum post if the extension was introduced at forum.makecode.com. Not required] 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/extension-suggestion.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Extension suggestion 3 | about: Suggest an extension to be added to this list. 4 | title: Add [insert link to GitHub repo] 5 | labels: new extension 6 | assignees: UnsignedArduino 7 | 8 | --- 9 | 10 | **Link to GitHub repo**: [Insert link to GitHub repo here. Required] 11 | **Link to demo**: [Insert a GitHub pages link or an Arcade share link. Not required, but if included must demonstrate most features of the extension] 12 | **Link to Forum post**: [Insert a link to a Forum post if the extension was introduced at forum.makecode.com. Not required] 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | > NOTE: Please do not use this issue template for suggesting extensions. Use this template for suggesting an idea, like a table of contents. (Yea we didn't have that before) 11 | 12 | **Is your feature request related to a problem? Please describe.** 13 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 14 | 15 | **Describe the solution you'd like** 16 | A clear and concise description of what you want to happen. 17 | 18 | **Describe alternatives you've considered** 19 | A clear and concise description of any alternative solutions or features you've considered. 20 | 21 | **Additional context** 22 | Add any other context or screenshots about the feature request here. 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | > Note: This repository is depreciated by the new Awesome Arcade Extensions website at [**https://awesome-arcade-extensions.vercel.app/**](https://awesome-arcade-extensions.vercel.app/). 2 | 3 | # MakeCode Arcade Extensions 4 | This is a list of MakeCode Arcade extensions that I find super useful in my projects. If you would like to suggest an extension be added, please open an issue with a link to the extension on GitHub. Or even better, open a pull request for adding an extension! Make sure to include a description, import url, links to it's GitHub repo, GitHub Pages example if any, forum post showcasing the extension if any, and an entry in the table of contents! 5 | 6 | You can find the old Gist [here](https://gist.github.com/UnsignedArduino/3bc2adce4b3f687ea1967578449d014d). 7 | 8 | ## Table of contents 9 | - [**Built-in extensions**](#built-in-extensions) 10 | - [arcade-sprite-data](#arcade-sprite-data) 11 | - [Timers](#timers) 12 | - [settings-blocks](#settings-blocks) 13 | - [Color Fading](#color-fading) 14 | - [pxt-button-combos](#pxt-button-combos) 15 | - [arcade-minimap](#arcade-minimap) 16 | - [arcade-grid](#arcade-grid) 17 | - [arcade-storytelling](#arcade-storytelling) 18 | - [arcade-tile-util](#arcade-tile-util) 19 | - [pxt-raycasting](#pxt-raycasting) 20 | - [arcade-text](#arcade-text) and **1** fork: 21 | - [arcade-text by AqeeAqee](#arcade-text-by-aqeeaqee) 22 | - [character-animations](#character-animations) 23 | - [**Not built-in extensions**](#not-built-in-extensions) 24 | - [arcade-tilemap-a-star](#arcade-tilemap-a-star) 25 | - [arcade-custom-menu](#arcade-custom-menu) and **1** fork: 26 | - [arcade-custom-menu by AqeeAqee](#arcade-custom-menu-by-aqeeaqee) 27 | - [arcade-block-objects](#arcade-block-objects) 28 | - [arcade-story](#arcade-story) 29 | - [arcade-split-screen](#arcade-split-screen) 30 | - [arcade-sprite-util](#arcade-sprite-util) 31 | - [arcade-image-text](#arcade-image-text) 32 | - [pxt-lantern](#pxt-lantern) 33 | - [pxt-rtttl](#pxt-rtttl) 34 | - [arcade-shader](#arcade-shader) 35 | - [small-tilemaps](#small-tilemaps) 36 | - [Fast-Random-Blocks](#fast-random-blocks) 37 | - [pxt-arcade-image-transform](#pxt-arcade-image-transform) 38 | - [pxt-password-save](#pxt-password-save) 39 | - [pxt-scaling](#pxt-scaling) 40 | - [notifications](#notifications) 41 | - [Achievements](#achievements) 42 | - [pxt-countup](#pxt-countup) 43 | - [pxt-sight](#pxt-sight) 44 | - [smaller-tilemaps](#smaller-tilemaps) 45 | - [arcade-background-scroll](#arcade-background-scroll) 46 | - [pxt-image-morph](#pxt-image-morph) 47 | - [grafxkid-tiles](#grafxkid-tiles) 48 | - [Inventory](#inventory) 49 | - [Stats](#stats) 50 | - [pxt-real-multiplayer](#pxt-real-multiplayer) 51 | - [pxt-arcade-database](#pxt-arcade-database) 52 | - [TilemapPath](#tilemappath) 53 | - [arcade-premium-life](#arcade-premium-life) 54 | - [ColorBlock](#colorblock) 55 | - [arcade-camera-offset](#arcade-camera-offset) 56 | - [RPGMuisic](#rpgmuisic) 57 | - [Musical-Images](#Musical-Images) 58 | - [pxt-sound-effects](#pxt-sound-effects) 59 | - [arcade-snapshot](#arcade-snapshot) 60 | - [pxt-deltatime](#pxt-deltatime) 61 | - [pxt-blur](#pxt-blur) 62 | - [pxt-zoom](#pxt-zoom) 63 | - [arcade-sprite-events](#arcade-sprite-events) 64 | - [arcade-mini-menu](#arcade-mini-menu) 65 | - [**Experimental extensions**](#experimental-extensions) 66 | - [arcade-soundtrack](#arcade-soundtrack) 67 | - [**Tools**](#tools) 68 | - [Convert-Image-to-MakeCode-Arcade-Sprite](#convert-image-to-makecode-arcade-sprite) 69 | - [pxt-arcade-asset-tool](#pxt-arcade-asset-tool) 70 | - [arcade-sprite-pack](#arcade-sprite-pack) 71 | - [arcade-image-tools](#arcade-image-tools) 72 | - [arcade-font-renderer](#arcade-font-renderer) 73 | - [games-gallery](#games-gallery) 74 | - [Image-to-MakeCode-Arcade](#Image-to-MakeCode-Arcade) 75 | 76 | ## Built-in extensions 77 | These extensions are already built in to the editor, all you have to do is go to the toolbox, open the `Advanced` tab, click on `Extensions`, and click on the extension you want to import! 78 | 79 | ### arcade-sprite-data 80 | It's local variables, but for sprites! Super useful for saving certain attributes of a sprite like the health of an enemy. This will add a section full of blocks called `Data` under the `Sprites` category in the toolbox. 81 | 82 | [Official docs](https://arcade.makecode.com/pkg/microsoft/arcade-sprite-data) | [GitHub repo](https://github.com/microsoft/arcade-sprite-data) | [Forum post](https://forum.makecode.com/t/sprite-data-extension/1590) 83 | 84 | ### Timers 85 | It's literal multithreading! Setup a callback for your code or run it in a separate fiber (thread) with this extension! This will add another category in the toolbox called `Timer`. 86 | 87 | [Official docs](https://arcade.makecode.com/pkg/microsoft/arcade-timers) | [GitHub repo](https://github.com/microsoft/arcade-timers) | [Forum post](https://forum.makecode.com/t/timers-extension-after-x-debounce-throttle-and-in-background/1925) 88 | 89 | ### settings-blocks 90 | Save data in an easy-to-use JSON-like format, now avaliable for the block users! This will add another category in the toolbox called `settings`. 91 | 92 | [Official docs](https://arcade.makecode.com/pkg/microsoft/pxt-settings-blocks) | [GitHub repo for block defs](https://github.com/microsoft/pxt-settings-blocks) | [GitHub repo for implementation](https://github.com/microsoft/pxt-common-packages/tree/master/libs/settings) | [Forum post](https://forum.makecode.com/t/settings-extension/1594) 93 | 94 | ### Color Fading 95 | Want some cool fade-in and fade-out effects for your cutscenes? Or want to change the default colors at runtime? This is the extension for you! This extension goes together nicely with the Story extension linked down below. This will add another category in the toolbox called `Color`. 96 | 97 | [Official docs](https://arcade.makecode.com/pkg/jwunderl/pxt-color) | [GitHub repo](https://github.com/jwunderl/pxt-color) | [Forum post](https://forum.makecode.com/t/fireworks-and-pxt-color-extension/315) 98 | 99 | ### pxt-button-combos 100 | A simple-to-use extension that allows you to have handlers when buttons are pressed in a certain order. Great for a dancing game! This extension adds a section called `Combos` in the `Controller` category. 101 | 102 | [Official docs](https://arcade.makecode.com/pkg/jwunderl/pxt-button-combos) | [GitHub repo](https://github.com/jwunderl/pxt-button-combos) 103 | 104 | ### arcade-minimap 105 | 106 | Want a map for your tilemap? You've come to the right extension! This will take your tilemap and scale it down to a specified ratio - you can also add sprites that will be drawn on top of the map! This extension adds a new category called `Minimap` in the toolbox. 107 | 108 | [Official docs](https://arcade.makecode.com/pkg/microsoft/arcade-minimap) | [GitHub repo](https://arcade.makecode.com/pkg/microsoft/arcade-minimap) | [Forum post](https://forum.makecode.com/t/minimap-extension-beta/1709) 109 | 110 | ### arcade-grid 111 | 112 | Have an extension do that hard work of aligning sprites to a tilemap! This will add a new category called `Grid`. 113 | 114 | [Official docs](https://arcade.makecode.com/pkg/microsoft/arcade-grid) | [GitHub repo](https://github.com/microsoft/arcade-grid) | [Forum post](https://forum.makecode.com/t/gemcrush-and-sprite-grid-extension-beta/1842) 115 | 116 | ### arcade-storytelling 117 | 118 | The new and improved `arcade-story` now part of the built-in extensions with new improvements! This will add a category called `Story` in the toolbox. Note the old story extension is not compatible at all with this one! 119 | 120 | [Official docs](https://arcade.makecode.com/pkg/microsoft/arcade-storytelling) | [GitHub repo](https://github.com/microsoft/arcade-storytelling) | [Forum post](https://forum.makecode.com/t/new-arcade-story-extension/6744) 121 | 122 | ### arcade-tile-util 123 | Import this extension with the URL: 124 | > https://github.com/microsoft/arcade-tile-util 125 | 126 | This is the updated tilemap extension allows you to do a lot more with tiles animate them move them and much much more..... 127 | 128 | [GitHub](https://github.com/microsoft/arcade-tile-util) | [Stream](https://www.twitch.tv/videos/1429569379) | [Demo](https://arcade.makecode.com/10829-55411-68884-03658) 129 | 130 | ### pxt-raycasting 131 | Import this extension with the URL: 132 | > https://github.com/AqeeAqee/pxt-raycasting/ 133 | 134 | Raycasting has been implemented in many projects before, but this extension brings along a blocks API, allowing raycasting games in blocks! Many new features have been added (saying text, jumping) and it has also been added as a built-in extension! This extension adds a "3D Render" category to the toolbox! 135 | 136 | [GitHub repo](https://github.com/AqeeAqee/pxt-raycasting/) | [Demo](https://arcade.makecode.com/48334-41673-84191-43936) | [Forum post](https://forum.makecode.com/t/raycasting-3d-render-blocks-edition/12921) 137 | 138 | ### arcade-text 139 | 140 | > Note: This extension has **1** fork! Please take care in selecting the correct extension! 141 | 142 | Easily add text in the form of sprites to your game with this extension! It gives a plethora of options to customize your text, plus with Unicode support! (At the expense of the text being larger) This extension adds a "Text Sprite" category. 143 | 144 | There is **1** available fork of this extension. 145 | 146 | [GitHub repo](https://github.com/microsoft/arcade-text) 147 | 148 | #### arcade-text by AqeeAqee 149 | 150 | Import this extension with the URL: 151 | > https://github.com/AqeeAqee/arcade-text 152 | 153 | This fork of the extension adds multi-line support! 154 | 155 | [GitHub repo](https://github.com/AqeeAqee/arcade-text) | [Demo](https://arcade.makecode.com/73556-43866-67413-93047) | [Forum post](https://forum.makecode.com/t/multilines-for-arcade-text/12555?u=unsignedarduino) 156 | 157 | ### character-animations 158 | 159 | A version of the `Animation` extension but much more easier to handle if your sprites (Ex. main player) has a lot of different movements, like moving up, down, left, and right. The `character-animations` extension will automatically start and stop animations depending on what the player is doing. This will add another category in the toolbox called `Character`. 160 | 161 | ## Not built-in extensions 162 | The following extensions, while just as good as the ones listed above, will require some slightly different steps while importing. First go to the toolbox, open the `Advanced` tab, click on `Extensions`, and you will see a text box that says `Search or enter project URL...`. This is where you will paste in the URL to the extension. The URL will be posted along with the listing. 163 | 164 | ### arcade-tilemap-a-star 165 | Import this extension with the URL: 166 | > https://github.com/jwunderl/arcade-tilemap-a-star 167 | 168 | Help your sprites find their way around your tilemaps with this extension! Just provide 2 locations on a tilemap and it will automagically compute the fastest path between the 2 spots while also moving around walls using the [A* algorithm](https://en.wikipedia.org/wiki/A*_search_algorithm)! This will add another section in the `Scene` category called `Path Following` in the toolbox. 169 | 170 | [GitHub repo](https://github.com/jwunderl/arcade-tilemap-a-star) | [Forum post](https://forum.makecode.com/t/tilemap-path-finding-a-beta/1846) | [Wikipedia article on the A* algorithm](https://en.wikipedia.org/wiki/A*_search_algorithm) 171 | 172 | ### arcade-custom-menu 173 | 174 | > Note: This extension is depreciated! There is a new better extension called [arcade-mini-menu](#arcade-mini-menu) that does the same thing but is much more customizable! 175 | > Note: This extension has **1** fork! Please take care in selecting the correct extension! 176 | 177 | Import this extension with the URL: 178 | > https://github.com/riknoll/arcade-custom-menu 179 | 180 | One of my favorite extensions, it allows you to make a menu out of a list of strings! Use this for selecting options where using `game.askForNumber()` and `game.askForString()` would be unintuitive or clumsy. This will add another category in the toolbox called `BlockMenu`. 181 | 182 | [GitHub repo](https://github.com/riknoll/arcade-custom-menu) 183 | 184 | There is **1** available fork of this extension. 185 | 186 | #### arcade-custom-menu by AqeeAqee 187 | 188 | Import this extension with the URL: 189 | > https://github.com/AqeeAqee/arcade-custom-menu 190 | 191 | This fork of the extension adds icons and multi-column support! 192 | 193 | [GitHub repo](https://github.com/AqeeAqee/arcade-custom-menu) | [Demo](https://arcade.makecode.com/11158-18248-69309-63621) | [Forum post](https://forum.makecode.com/t/block-menu-icons-multi-column-edition/13286) 194 | 195 | ### arcade-block-objects 196 | Import this extension with the URL: 197 | > https://github.com/microsoft/arcade-block-objects 198 | 199 | OOP is no doubt an important topic in programming. This extension will help you make objects in blocks! Attach all sorts of data to an object, like numbers, strings, images, sprites, locations, and more! This will add a category in the toolbox called `BlockObject` with 7 sub-categories. 200 | 201 | [GitHub repo](https://github.com/microsoft/arcade-block-objects) 202 | 203 | ### arcade-story 204 | 205 | > Note: This extension is depreciated! There is a new better extension under the same name but different repo that is now part of the built-in extensions! Check out the Forum post about it [here](https://forum.makecode.com/t/new-arcade-story-extension/6744). 206 | 207 | Import this extension with the URL: 208 | > https://github.com/riknoll/arcade-story 209 | 210 | Need some cutscenes with dialog? This extension is for you! Comes with a variety of blocks designed to make writing stories and scenes much easier. This extension pairs great with the `Color Fading` extension linked above. This will add a new category called `Story` in the toolbox. 211 | 212 | [GitHub repo](https://github.com/riknoll/arcade-story) 213 | 214 | ### arcade-split-screen 215 | Import this extension with the URL: 216 | > https://github.com/riknoll/arcade-split-screen 217 | 218 | Playing MakeCode games with friends can be hard to do without a second device, without the splitscreen extension! This extension allows the user to split the screen, dividing the play area into two separate canvases, each following a different sprite. The extension adds a `Split screen` category to the toolbox. 219 | 220 | [GitHub repo](https://github.com/riknoll/arcade-split-screen) | [Demo](https://arcade.makecode.com/66629-31960-05105-39180) | [Forum post](https://forum.makecode.com/t/extension-arcade-split-screen/14970) 221 | 222 | ### arcade-sprite-util 223 | Import this extension with the URL: 224 | > https://github.com/jwunderl/arcade-sprite-util 225 | 226 | As the name says, this extension has a bunch of utilities for sprites and more, especially anything dealing with trigonometry. This extension adds a new category called `Sprite Utils` in the toolbox. 227 | 228 | [GitHub repo](https://github.com/jwunderl/arcade-sprite-util) | [GitHub pages demo](https://jwunderl.github.io/arcade-sprite-util/) 229 | 230 | ### arcade-image-text 231 | Import this extension with the URL: 232 | > https://github.com/pelikhan/arcade-image-text 233 | 234 | Simple but sweet, this extension adds the very much-need blocks to print text onto images. This will add a new section called `Text` under the `Images` category in the toolbox. 235 | 236 | [Official docs](https://pelikhan.github.io/arcade-image-text/README) | [GitHub repo](https://github.com/pelikhan/arcade-image-text) | [Forum post](https://forum.makecode.com/t/arcade-print-text-extension/1827) 237 | ### pxt-lantern 238 | Import this extension with the URL 239 | > https://github.com/felixtsu/pxt-lantern 240 | 241 | Light up your games with this extension! It allows you to turn the lights on or off and add lanterns to sprites so that they have light around them when you turn the lights off. This will add 2 categories called `Lantern` and `Multilights` under the toolbox. 242 | 243 | [GitHub repo](https://github.com/felixtsu/pxt-lantern) | [GitHub pages demo*](https://riknoll.github.io/pxt-lantern/) | [Forum post](https://forum.makecode.com/t/hope-this-ext-can-bring-some-light-s/3229) 244 | 245 | *Note that the GitHub pages demo only demonstrates the original features of the lantern extension written by @riknoll [here](https://github.com/riknoll/pxt-lantern). A more up-to-date example can be found [here](https://arcade.makecode.com/25139-51900-79237-05503). 246 | 247 | ### pxt-rtttl 248 | Import this extension with the URL: 249 | > https://github.com/pelikhan/pxt-rtttl 250 | 251 | Play beautiful melodies encoded in the RTTTL language in MakeCode with this extension! You can use this [website]([http://midi.mathewvp.com/midi2RTTL.php](http://midi.mathewvp.com/midi2RTTL.php)) to turn yoru `.mid` and `.midi` files into a RTTTL-compatible string of text! This extension adds a block in the `Melody` section in the `Music` category in the toolbox. 252 | 253 | [GitHub repo](https://github.com/pelikhan/pxt-rtttl) | [GitHub pages demo](https://pelikhan.github.io/pxt-rtttl/) | [Forum post](https://forum.makecode.com/t/rtttl-tunes-extension/4193/6) | [MIDI to RTTTL converter](http://midi.mathewvp.com/midi2RTTL.php) 254 | 255 | ### arcade-shader 256 | Import this extension with the URL: 257 | > https://github.com/riknoll/arcade-shader 258 | 259 | Arcade games can get more realistic with shadows! This extension will add a category called `Shaders` in the toolbox. 260 | 261 | [GitHub repo](https://github.com/riknoll/arcade-shader) | [Forum post](https://forum.makecode.com/t/shader-extension/4860) 262 | 263 | ### small-tilemaps 264 | > NOTE: This extension is depreciated! There is now an 8x8 tilemap block in the built-in tilemaps extension! 265 | 266 | Import this extension with the URL: 267 | > https://github.com/riknoll/small-tilemaps 268 | 269 | Easy access to an 8x8 tilemap in blocks! Note: If you are switching from an 16x16 to an 8x8 tilemap, don't forget to switch tiles in your code! And delete the 16x16 tiles in the tilemap editor, otherwise you are going to get really confused. This will add a block under `Tiles` section in the `Scene` category. 270 | 271 | [GitHub repo](https://github.com/riknoll/small-tilemaps) | [Forum post](https://forum.makecode.com/t/why-is-it-going-strait-to-level-2/4290/25) 272 | 273 | ### Fast-Random-Blocks 274 | Import this extension with the URL: 275 | > https://github.com/UnsignedArduino/Fast-Random-Blocks 276 | 277 | Blocks for Fast Random! Have separate RNG objects for different aspects of your game, and with seeding! This will add a `Random` category in the toolbox. 278 | 279 | [GitHub repo](https://github.com/UnsignedArduino/Fast-Random-Blocks) | [Forum post](https://forum.makecode.com/t/fast-random-extension/5365) 280 | 281 | ### pxt-arcade-image-transform 282 | Import this extension with the URL: 283 | > https://github.com/robo-technical-group/pxt-arcade-image-transform 284 | 285 | Rotate images with this extension! This works best with large images. Don't forget to enlarge the base image so when it rotates it has enough room to spin! This will add a `Sprite Transforms` category in the `Advanced` section of the toolbox. 286 | 287 | [GitHub repo](https://github.com/UnsignedArduino/Awesome-Arcade-Extensions/issues/11) | [Example](https://arcade.makecode.com/27800-70465-05726-62974) | [Forum post](https://forum.makecode.com/t/having-a-blast-with-makecode-arcade/59/6) 288 | 289 | ### pxt-password-save 290 | Import this extension with the URL: 291 | > https://github.com/jacobcarpenter/pxt-password-save 292 | 293 | Shove bytes and bools into a string as a save code! Note: This extensions seems to still be in beta (as of January 30, 2021) as importing the extension causes the example code to run instead of your own. This will add a category in the toolbox called `Password Save`. 294 | 295 | [GitHub repo](https://github.com/jacobcarpenter/pxt-password-save) | [GitHub pages demo](https://jacobcarpenter.github.io/pxt-password-save/) | [Forum post](https://forum.makecode.com/t/password-save-extension-work-in-progress/5819) 296 | 297 | ### pxt-scaling 298 | Import this extension with the URL: 299 | > https://github.com/jwunderl/pxt-scaling 300 | 301 | Like [pxt-arcade-image-transform](#pxt-arcade-image-transform), this also allows you to rotate images and scale them too!!! Much better than manually doing it, at the expense of RAM. This extension adds a category called `Scaling` in the toolbox. 302 | 303 | [GitHub repo](https://github.com/jwunderl/pxt-scaling) | [GitHub pages demo](https://jwunderl.github.io/pxt-scaling/) | [Forum post](https://forum.makecode.com/t/arcade-advanced-stream-128-spinning-dishes/3885) 304 | 305 | ### notifications 306 | Import this extension with the URL: 307 | > https://github.com/unsignedarduino/notifications 308 | 309 | Shows and scrolls notifications like a sprite-say dialog but s c r e t c h e d out! It also supports variable speed and 8x8 icons! (Although it doesn't push notifications down when you display more than one at a time - you need to wait until the current notification is over otherwise you will cover it up - but there are blocks to wait for the notification to finish) This adds a category called `Notification`. 310 | 311 | [GitHub repo](https://github.com/unsignedarduino/notifications) | [GitHub pages demo*](https://unsignedarduino.github.io/Notifications/) | [Forum post](https://forum.makecode.com/t/notification-extension/5557) 312 | 313 | *Note that the GitHub pages demo was generated a long time ago so you won't be able to see the code in `main.ts` or `test.ts` but the notification still looks the same. 314 | 315 | ### Achievements 316 | Import this extension with the URL: 317 | > https://github.com/UnsignedArduino/Achievements 318 | 319 | Your games can ascend to a new level with freaking _achievements_ in MakeCode Arcade! Easily track and display achievements with this extension! This will add a category called `Achievements` in the toolbox. 320 | 321 | [GitHub repo](https://github.com/UnsignedArduino/Achievements) | [Demo](https://arcade.makecode.com/89228-26205-83094-83249) | [Forum post](https://forum.makecode.com/t/achievements-extension/6308) 322 | 323 | ### pxt-countup 324 | Import this extension with the URL: 325 | > https://github.com/shakao/pxt-countup 326 | 327 | Stop hacking the built-in countdown in your code - it's ugly! Instead, use this extension which does the same thing for you in a nice little extension! This adds a section called `Countup` in the `Info` category. 328 | 329 | [GitHub repo](https://github.com/shakao/pxt-countup) | [Demo](https://arcade.makecode.com/48048-78498-38407-75985) | [Forum post](https://forum.makecode.com/t/small-count-up-timer-extension/6786) 330 | 331 | ### pxt-sight 332 | Import this extension with the URL: 333 | > https://github.com/felixtsu/pxt-sight 334 | 335 | Inteligent sight now comes to your sprites in MakeCode Arcade! This extension can help you detect whether one sprite can "see" another sprite with some math! (Much better than sending "see" sprites everywhere) This adds a section called `Sprite Sight` in the toolbox. 336 | 337 | [GitHub repo](https://github.com/felixtsu/pxt-sight) | [Demo](https://arcade.makecode.com/97022-62922-00013-89813) | [Forum post](https://forum.makecode.com/t/sneaking-demo/4961) 338 | 339 | ### smaller-tilemaps 340 | Import this extension with the URL: 341 | > https://github.com/riknoll/smaller-tilemaps 342 | 343 | Now we get 4x4, 2x2, and "1x1, at your own risk" tilemaps! Initialize a tilemap and use 4x4 or 2x2 or 1x1 images to manually draw your tiles by code. Note this extension was made in 1 hour so it may be buggy and performance will not be as good as a 8x8 or 16x16 tilemap. This will add a `Smaller Tilemaps` category. 344 | 345 | [GitHub repo](https://github.com/riknoll/smaller-tilemaps) 346 | 347 | ### arcade-background-scroll 348 | > NOTE: This extension is depreciated! There is a new better extension under the same name but different repo that is now part of the built-in extensions! 349 | > As of March 2022, the built-in extension supports parallax! ([Forum post](https://forum.makecode.com/t/announcement-arcade-background-scroll-now-supports-parallax/12479)) 350 | 351 | Import this extension with the URL: 352 | > https://github.com/riknoll/arcade-background-scroll 353 | 354 | Don't use a sprite to manually scroll the background - use this extension instead! It can scroll your background in with variable vx and vy too! This will add a `Scroller` category in the toolbox. 355 | 356 | [GitHub repo](https://github.com/riknoll/arcade-background-scroll) 357 | 358 | ### pxt-image-morph 359 | Import this extension with the URL: 360 | > https://github.com/UnicycleDumpTruck/pxt-image-morph 361 | 362 | "Morph" images in MakeCode Arcade! Very cool for switching between images and could be used in say, the reveal of a bad guy's true form! Also very fun for switching between images that are used as instructions instead of a snap change which is boring. This adds an `Imagemorph` category in the toolbox. 363 | 364 | [GitHub repo](https://github.com/UnicycleDumpTruck/pxt-image-morph) | [Demo](https://arcade.makecode.com/04630-02278-77688-89486) | [Forum post](https://forum.makecode.com/t/pixel-by-pixel-morphing-slows-down/2980/7?u=unsignedarduino) 365 | 366 | ### grafxkid-tiles 367 | Import this extension with the URL: 368 | > https://github.com/riknoll/grafxkid-tiles 369 | 370 | Don't want to draw up a platformer tileset? @logic_lab on the MakeCode Forums has converted GrafxKid's tileset into MakeCode tiles so you can use them as well! Comes in 4 different seasons and adds 4 new dropdown categorys in the tile category picker in the tilemap editor. 371 | 372 | [GitHub repo](https://github.com/riknoll/grafxkid-tiles) | [Forum post](https://forum.makecode.com/t/platformer-tileset/3023) 373 | 374 | ### Inventory 375 | Import this extension with the URL: 376 | > https://github.com/UnsignedArduino/Inventory 377 | 378 | Man, rendering inventories are a pain in the butt. Until you add this extension! This extension allows you to make items, (which can hold an image, a name, and more) toolbars, (like Minecraft hotbars) and inventories! This extension adds an `Inventory` category in the toolbox. 379 | 380 | [GitHub repo](https://github.com/UnsignedArduino/Inventory) | [Demo](https://makecode.com/_JAh7zk2m5Afo) | [Forum post](https://forum.makecode.com/t/inventory-extension/8662) 381 | 382 | ### Stats 383 | Import this extension with the URL: 384 | > https://github.com/UnsignedArduino/Stats 385 | 386 | The only reason this extension exists so you can programmatically turn the FPS and sprite count on and off lol. This adds a `Stats` category to your toolbox. 387 | 388 | [GitHub repo](https://github.com/UnsignedArduino/Stats) | [Forum post](https://forum.makecode.com/t/stat-extension/8859) 389 | 390 | ### pxt-real-multiplayer 391 | Import this extension with the URL: 392 | > https://github.com/distintiva/pxt-real-multiplayer 393 | 394 | Makes coding multiplayer games over JACDAC easier! It also works in the simulator as well! Note at the time of writing, JACDAC for Arcade is in the middle of a rewrite so things are most likely broken. This will add a `Real Multiplayer` category to the toolbox. 395 | 396 | [GitHub repo](https://github.com/distintiva/pxt-real-multiplayer) | [Demo](https://arcade.makecode.com/84138-42853-06448-38206) | [Forum post](https://forum.makecode.com/t/new-extension-real-multiplayer-with-blocks/1202) 397 | 398 | ### pxt-arcade-database 399 | Import this extension with the URL: 400 | > https://github.com/distintiva/pxt-arcade-database 401 | 402 | Extremely similar to the built-in `settings-block` extension, this extension also allows you to save data like a database! This will add a `Database` category. 403 | 404 | [GitHub repo](https://github.com/distintiva/pxt-arcade-database) | [Demo](https://arcade.makecode.com/07492-27953-74313-26225) | [Forum post](https://forum.makecode.com/t/new-extension-arcade-database-in-flash-memory/1198) 405 | 406 | ### TilemapPath 407 | Import this extension with the URL: 408 | > https://github.com/UnsignedArduino/TilemapPath 409 | 410 | Don't manually place walls to make your A-star paths do what you want, use this! You can set a sprite to follow a path between tilemap locations and have handlers when they finish. Note that everytime you set a path, it will recalculate the paths using the A-star extension which can take a long time depending on how big the tilemap is and how many elements there are. This extension adds a `TilemapPath` category. 411 | 412 | [GitHub repo](https://github.com/UnsignedArduino/TilemapPath) | [Demo](https://makecode.com/_87j1jxLV358K) | [Forum post](https://forum.makecode.com/t/tilemappath-extension/9480) 413 | 414 | ### arcade-premium-life 415 | Import this extension with the URL: 416 | > https://github.com/jwunderl/arcade-premium-life 417 | 418 | It's life but _better_. This extension uses the default set life and change life by blocks to change the values, but for configuring the look you can use the blocks in the `Profile Life` category. 419 | 420 | [GitHub repo](https://github.com/jwunderl/arcade-premium-life) | [Demo](https://jwunderl.github.io/arcade-premium-life/) 421 | 422 | ### ColorBlock 423 | Import this extension with the URL: 424 | > https://github.com/UnsignedArduino/ColorBlock 425 | 426 | Imagine memorizing the values of colors in MakeCode Arcade. This extension will add a block at the very bottom of the `Images` category. 427 | 428 | [GitHub](https://github.com/UnsignedArduino/ColorBlock) | [Forum post](https://forum.makecode.com/t/colorblock-extension/9518) 429 | 430 | ### arcade-camera-offset 431 | Import this extension with the URL: 432 | > https://github.com/riknoll/arcade-camera-offset 433 | 434 | This simple extension adds a block to the `Scene` category that allows you to follow a sprite with the camera with an offset! Much better then hacking a sprite to always be off a certain amount. 435 | 436 | [GitHub repo](https://github.com/riknoll/arcade-camera-offset) | [Forum post](https://forum.makecode.com/t/camera-offset/10263?u=unsignedarduino) 437 | 438 | ### RPGMuisic 439 | Import this extension with the URL: 440 | > https://github.com/LucasMayhew/RPGMuisic 441 | 442 | This extension adds another category called `Music` which contains a block to play some (very nice) looping music made by @LucasMayhew! 443 | 444 | [GitHub repo](https://github.com/LucasMayhew/RPGMuisic) | [Demo](https://arcade.makecode.com/06547-32796-52098-57963) | [Forum post](https://forum.makecode.com/t/an-extension-that-adds-loopable-songs-to-use-in-your-games/10894?u=unsignedarduino) 445 | 446 | ### Musical-Images 447 | Import this extension with the URL: 448 | > https://github.com/UnsignedArduino/Musical-Images 449 | 450 | This extension allows you to easily add complex music to your games with a [script](https://github.com/UnsignedArduino/Musical-Images-Generator)! This adds a new category called "MusicalImages" to your toolbox. 451 | 452 | [GitHub repo](https://github.com/UnsignedArduino/Musical-Images) | [Demo](https://makecode.com/_0t46cj0j24jH) 453 | 454 | ### pxt-sound-effects 455 | Import this extension with the URL: 456 | > https://github.com/klausw3/pxt-sound-effects 457 | 458 | This extension allows custom sound effects other than the boring square wave! This adds a new category called "Sound Effects". 459 | 460 | [GitHub repo](https://github.com/klausw3/pxt-sound-effects) | [Demo](https://arcade.makecode.com/44206-54587-15263-92450) | [Forum post](https://forum.makecode.com/t/testing-modifications-to-the-sound-engine/3351/17?u=unsignedarduino) 461 | 462 | ### arcade-snapshot 463 | Import this extension with the URL: 464 | > https://github.com/AqeeAqee/arcade-snapshot 465 | 466 | This extension allows you to take a screenshot of the screen, or a snapshot of the current tilemap and print it on the console! It will add a category called "Snapshot". 467 | 468 | [GitHub repo](https://github.com/AqeeAqee/arcade-snapshot) | [Forum post](https://forum.makecode.com/t/a-snapshot-extension-for-screen-or-tilemap/13064) 469 | 470 | ### pxt-deltatime 471 | Import this extension with the URL: 472 | > https://github.com/kiwiphoenix364/pxt-deltatime 473 | 474 | This small extension adds a category called "Delta" which has a single block that exposes the delta time function in blocks, so projects that rely movement or time based on frames can work when the game is running slower than expected! Make sure to look at the [example](https://makecode.com/_Y0j7ef139dmo) on how to use it! 475 | 476 | [GitHub repo](https://github.com/kiwiphoenix364/pxt-deltatime) | [Demo](https://makecode.com/_Y0j7ef139dmo) | [Forum post](https://forum.makecode.com/t/extension-for-adding-delta-time-to-blocks/13194) 477 | 478 | ### pxt-blur 479 | Import this extension with the URL: 480 | > https://github.com/kiwiphoenix364/pxt-blur 481 | 482 | This extension allows you to blur the screen in and out, just like the Colors extension does with fading! This adds a category called "Blur". 483 | 484 | [GitHub repo](https://github.com/UnsignedArduino/Awesome-Arcade-Extensions/issues/45) | [Demo](https://arcade.makecode.com/46662-72254-40051-03086) | [Forum post](https://forum.makecode.com/t/blur-extension/12135) 485 | 486 | ### pxt-zoom 487 | Import this extension with the URL: 488 | > https://github.com/kiwiphoenix364/pxt-zoom 489 | 490 | This extension allows you to smoothly zoom in or out of the screen by calling a single block! A very simple (0 < x < 1 for zoom out, and x > 1 to zoom in, and negatives for flipping screen upside down) extension that adds a "Zoom" category in the toolbox. 491 | 492 | [GitHub repo](https://github.com/kiwiphoenix364/pxt-zoom) | [Demo](https://arcade.makecode.com/55896-03193-59005-39058) | [Forum post](https://forum.makecode.com/t/zoom-extension/13745) 493 | 494 | ### arcade-sprite-events 495 | Import this extension with the URL: 496 | > https://github.com/riknoll/arcade-sprite-events 497 | 498 | The default sprite overlap and tilemap overlap blocks are called _for every frame it is happening_, which can lead to unexpected results. You can use a state variable to only run code when you start and stop overlapping sprites/tiles/areas, but that is annoying. This extension adds new blocks which make it great for advanced tilemap games or making sprite overlaps easier! This adds a category called "Sprite Events". 499 | 500 | [GitHub repo](https://github.com/riknoll/arcade-sprite-events) | [Forum post](https://forum.makecode.com/t/arcade-sprite-events-extension/13453?u=unsignedarduino) 501 | 502 | ### arcade-mini-menu 503 | Import this extension with the URL: 504 | > https://github.com/riknoll/arcade-mini-menu 505 | 506 | This extension is a much more advanced and highly customizable version of (the now depreciated) [arcade-custom-menu](#arcade-custom-menu) that has _tons_ of options to customize your menus to fit your game's theme! The menu is also a sprite, which allows you to use all standard sprite blocks on it. This adds a category to the toolbox called "Mini Menu". 507 | 508 | [GitHub repo](https://github.com/riknoll/arcade-mini-menu) | [Forum post](https://forum.makecode.com/t/arcade-mini-menu-extension/14368?u=unsignedarduino) | [Demo](https://riknoll.github.io/arcade-mini-menu/) 509 | 510 | ## Experimental-extensions 511 | 512 | Shouldn't need an explanation: "VERY UNSTABLE" - @livcheerful 513 | 514 | ### arcade-soundtrack 515 | Import this extension with the URL: 516 | > https://github.com/livcheerful/arcade-soundtrack 517 | 518 | In this extension you can make soundtracks within images! But it is pretty confusing and "might break your game." This extension was made by @livcheerful in a hackathon. 519 | 520 | [GitHub](https://github.com/livcheerful/arcade-soundtrack) | [Forum post](https://forum.makecode.com/t/hackathon-link-request/9751/2?u=unsignedarduino) | [Demo](https://arcade.makecode.com/10829-55411-68884-03658) 521 | 522 | ## Tools 523 | Yes, this is about useful MakeCode Arcade extensions but these tools will level up your game-making experience! 524 | ### Convert-Image-to-MakeCode-Arcade-Sprite 525 | This tool will convert your images (like `.png` files) to Arcade code! Simply copy the output, open JavaScript mode in your project, navigate to where you want the image block to go, and paste in the image code! You may need to remove some redundant characters. Remember that Arcade has a maximum image size of 500x500! 526 | 527 | Find this tool here: 528 | > https://kristianpedersen.github.io/Convert-Image-to-MakeCode-Arcade-Sprite/ 529 | 530 | [GitHub repo](https://github.com/kristianpedersen/Convert-Image-to-MakeCode-Arcade-Sprite) | [Forum post](https://forum.makecode.com/t/ive-made-an-image-file-to-arcade-sprite-converter-feedback-and-code-improvements-wanted/2076) 531 | 532 | ### pxt-arcade-asset-tool 533 | This tool will also convert you images to Arcade code, but it also supports using 16-color palettes, in case you don't want to use the default palette! Simply copy the output, open JavaScript mode, navigate to where you want the image to go, and paste away! You may need to remove some redundant characters. Remember that Arcade has a maximum image size of 500x500! 534 | 535 | Find this tool here: 536 | > https://riknoll.github.io/pxt-arcade-asset-tool/ 537 | 538 | [GitHub repo](https://github.com/riknoll/pxt-arcade-asset-tool/) 539 | 540 | ### arcade-sprite-pack 541 | Have a bunch of images you want to send to someone, but they hate exercising their pinkie and pointer finger? This will convert a set of images into a MakeCode project that, when you import, will put the images into the image gallery! And as of December 2021, this tool has been updated to be even better than before, with support for animations, tiles, and tilemaps! ([Forum post](https://forum.makecode.com/t/the-arcade-sprite-pack-tool-is-back-in-business/11392)) 542 | 543 | Find this tool here: 544 | > https://shakao.github.io/arcade-sprite-pack/ 545 | 546 | [GitHub repo](https://github.com/shakao/arcade-sprite-pack) 547 | 548 | ### arcade-image-tools 549 | The ultimate Arcade image manipulator! Rotate and flip your sprites with this! 550 | 551 | Find this tool here: 552 | > https://felixtsu.github.io/arcade-image-tools/ 553 | 554 | [GitHub repo](https://github.com/felixtsu/arcade-image-tools/) | [Forum post](https://forum.makecode.com/t/sprite-image-tools-rotating-flipping/5375) 555 | 556 | ### arcade-font-renderer 557 | Stop drawing your title screen text by hand! With this tool, you can render _any_ (well, any font on your computer and in Google Fonts) font onto a Arcade image with outlines _and_ shadows! 558 | 559 | Find this tool here: 560 | > https://arcade-font-renderer.jacobcarpenter.com/ 561 | 562 | [GitHub repo](https://github.com/jacobcarpenter/arcade-font-renderer) | [Forum post](https://forum.makecode.com/t/arcade-font-renderer/7174) 563 | 564 | ### games-gallery 565 | @jacobcarpenter [on GitHub](https://github.com/jacobcarpenter) has written a neat tool that scrapes the [MakeCode Forum's arcade section](https://forum.makecode.com/c/share-your-arcade-projects-here/5) and shows the games in a gallery-like view! So you don't have to ~~suffer~~ and scroll through debug programs and tons of comments to find that dang link. You can also view the most liked-games of all-time and by author, like [me](https://games-gallery.jacobcarpenter.com/author/416) for example hehe. 566 | 567 | Find this tool here: 568 | > https://games-gallery.jacobcarpenter.com/ 569 | 570 | [GitHub repo](https://github.com/jacobcarpenter/games-gallery) | [Forum post](https://forum.makecode.com/t/games-gallery-an-alternate-view-for-games-posted-to-these-forums/4025) 571 | 572 | ### Image-to-MakeCode-Arcade 573 | 574 | I have written a Python script that will turn images and multi-frame GIFs into MakeCode Arcade images and arrays! Note that this tools requires at least Python 3.9 on a computer, and command line knowledge is highly recommended! 575 | 576 | Find this tool here: 577 | > https://github.com/UnsignedArduino/Image-to-MakeCode-Arcade 578 | 579 | [GitHub repo](https://github.com/UnsignedArduino/Image-to-MakeCode-Arcade) | [Forum post](https://forum.makecode.com/t/image-to-makecode-arcade-image-converter-again/12367) 580 | 581 | *** 582 | Written with [StackEdit](https://stackedit.io/). 583 | --------------------------------------------------------------------------------