Picking a game making platform day 1: MakeCode Arcade

Introduction: as outlined in my initial blog post, I am going to attempt to create the same basic game - that of the first few minutes of Gradius for NES - using a number of different game making platforms, one per day during my week off. I'm using GitHub to store the different projects. See my progress in the repo.
NameMakeCode Arcade
Web sitehttps://arcade.makecode.com/
Alt web sitehttps://github.com/microsoft/pxt
LicenseMIT Open source
Git/GitHub integrationyes
My github for this projecthttps://github.com/tildesarecool/grad-dah-clone
Export format(s)binary for ESP32 devices, no stand alone exe or HTML5 (that I found)

I’m not sure how if at all well known MakeCode Arcade is, but I like it a lot actually. It doesn’t hurt that one of the tutorials walks me through creating a horizontal shmup similar in scope to that of Gradius – I’m going to make mine starting over from blank, though. The main interface uses these inter-locking jigsaw-looking puzzle pieces to put together the logic, nearly identical to that of Scratch.

One of the more noteworthy things about MakeCode is the separate tabs that produce equivalent code in both Python and JavaScript out of the Scratch-like snap together blocks (and code converts back to blocks). If it comes down to it I can edit how the logic works using Python. Even as someone who knows nothing of Python I can usually figure it out as it’s relatively simple.

On a separate note, it’s also possible to export a game made with MakeCode to one of those relatively simple devices such as an ESP32 in the form a M5Stack sold by adafruit. It’s like an even-more-simpler version of the DMG GameBoy from 1990. When starting a new project you have choose a device and the device may well have a limited color palette, limiting your color options.

I feel like I should probably emphasize the Git and GitHub integration with MakeCode Arcade: if you already have a GitHub account you can just link it over and from there any project made can be auto-saved to GitHub with one click. It even generates a readme.md file with a screenshot of the blocks. I don’t know that literally any other solution has GitHub integration on that level.

At the end of the day

I finished practicing with MakeCode for the day and the results aren’t really that great. In Scratch at least there was this code for cloning sprites and a “glide to” function alrighty built in. In other words it did a lot for you. In make code there isn’t a way to clone a sprite as far as I know. At least not as far as I could tell. There are lots of things that Scratch doesn’t have like an explicitly way of making arrays and functions that can take parameters.

Big disadvantage to MakeCode is not being able to import original art work. If I wanted a way to re-create the ships from Gradius in the little bitmap editor it’s all from hand one pixel at a time.

There are more advanced features besides actual programming in Python and JavaScript: some kind of CLI system called PXT. I never actually went any deeper into it besides noticing it exists in the docs.

Outside of actually coding in a real language I don’t see a lot of advantages to using this system as a main editor. I’ll likely come back to it if I want to figure out how to connect an ESP32 device (like the M5Stacker) to my PC to put a game on to that.

2 thoughts on “Picking a game making platform day 1: MakeCode Arcade

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s