Skip to content

Instantly share code, notes, and snippets.

@UnsignedArduino
Last active March 17, 2022 09:51
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save UnsignedArduino/3bc2adce4b3f687ea1967578449d014d to your computer and use it in GitHub Desktop.
Save UnsignedArduino/3bc2adce4b3f687ea1967578449d014d to your computer and use it in GitHub Desktop.
Useful MakeCode Arcade Extensions

MakeCode Arcade Extensions

This is a list of MakeCode Arcade extensions that I find super useful in my projects.

NOTE: This gist is depreciated! I've made a new repo for this which you can submit pull requests for extensions you want in! You can find it here.

Built-in extensions

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!

arcade-sprite-data

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.

Official docs | Github repo | Forum post

Timers

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.

Official docs | Github repo | Forum post

settings-blocks

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.

Official docs | Github repo for block defs | Github repo for implementation | Forum post

Color Fading

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.

Official docs | Github repo | Forum post

Not built-in extensions

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.

character-animations

Import this extension with the URL:

https://github.com/riknoll/character-animations

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.

Github repo

arcade-tilemap-a-star

Import this extension with the URL:

https://github.com/jwunderl/arcade-tilemap-a-star

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! This will add another section in the Scene category called Path Following in the toolbox.

Github repo | Forum post | Wikipedia article on the A* algorithm

arcade-custom-menu

Import this extension with the URL:

https://github.com/riknoll/arcade-custom-menu

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.

Github repo

arcade-block-objects

Import this extension with the URL:

https://github.com/microsoft/arcade-block-objects

Object-oriented programming is no doubt an important topic in prograaming. 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.

Github repo

arcade-story

Import this extension with the URL:

https://github.com/riknoll/arcade-story

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.

Github repo

arcade-sprite-util

Import this extension with the URL:

https://github.com/jwunderl/arcade-sprite-util

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.

Github repo | Github pages demo

arcade-image-text

Import this extension with the URL:

https://github.com/pelikhan/arcade-image-text

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.

Official docs | Github repo | Forum post

pxt-lantern

Import this extension with the URL

https://github.com/felixtsu/pxt-lantern

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.

Github repo | Github pages demo* | Forum post

*Note that the Github pages demo only demonstrates the original features of the lantern extension written by @riknoll here. A more up-to-date example can be found here.

pxt-rtttl

Import this extension with the URL:

https://github.com/pelikhan/pxt-rtttl

Play beautiful melodies encoded in the RTTTL language in MakeCode with this extension! You can use this website 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.

Github repo | Github pages demo | Forum post | MIDI to RTTTL converter

riknoll/arcade-shader

Import this extension with the URL:

https://github.com/riknoll/arcade-shader/tree/master

Arcade games can get more realistic with shadows! This extension will add a category called Shaders in the toolbox.

Github repo | Forum post

Tools

Yes, this is about useful MakeCode Arcade extensions but these tools will level up your game-making experience!

kristianpedersen/Convert-Image-to-MakeCode-Arcade-Sprite

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.

Find this tool here:

https://kristianpedersen.github.io/Convert-Image-to-MakeCode-Arcade-Sprite/

Github repo | Forum post

shakao/arcade-sprite-pack

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!

Find this tool here:

https://shakao.github.io/arcade-sprite-pack/

Github repo


Written with StackEdit.

@Dreadmask197
Copy link

This is great! I love how this is easy to get to with all your favorite extensions! Yes, I found out how to comment on stuff now but I can't find the recent topics.

@UnsignedArduino
Copy link
Author

Thank you! If you have any extensions that you think I should add, just comment here or on the Forum! I'll consider adding it.

@cosmoscowboy
Copy link

@UnsignedArduino
Copy link
Author

Haha, yea forgot that one! Thanks for letting me know! Just updated it.

@andrew-ski
Copy link

I've been using the RTT(T)L melodies extension a lot. Pretty easy to use in conjunction with an midi to RTTL converter.
https://github.com/pelikhan/pxt-rtttl
http://midi.mathewvp.com/midi2RTTL.php

@UnsignedArduino
Copy link
Author

Yes, that is a great extension! Just added it in.

@Shiven121S
Copy link

UnsignedArduino how about adding Button Combos in built-in extensions. This can be used to use even more buttons. Also arcade-minimap and sprite grid.

@UnsignedArduino
Copy link
Author

👍 I've added an issue here: UnsignedArduino/Awesome-Arcade-Extensions#5

@UnsignedArduino
Copy link
Author

@Eden264
Copy link

Eden264 commented Jul 6, 2021

@UnsignedArduino
Copy link
Author

Hi @Eden264, this Gist is depreciated. The new repo (https://github.com/UnsignedArduino/Awesome-Arcade-Extensions) already has that extension :)

@SmartGuy101
Copy link

Thanks a lot!!! This really helped!!!

@UnsignedArduino
Copy link
Author

<3

@JwilJr25
Copy link

JwilJr25 commented Feb 3, 2022

Thank you so much for this. It helps a lot with my coding.<3

@StefanStudios-Games
Copy link

Do you know how to use the buzzer (vibration) in microsoft arcade?

@UnsignedArduino
Copy link
Author

You can use the vibration motor (if that is what you are talking about?) by importing the controller extension:

image

Then there is a block to vibrate:

image

Next time, you can try asking on the MakeCode forums as that place will get more people then the comment section of this depreciated gist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment