This is exactly what I use MakeCode for, to not atrophy my code skills. I can feel, every-single-day in my day job how my brain is rotting away every time I just say “eh I’ll ask AI to do it”.
BUT I’d have to say that AI has helped me greatly in learning the inner open-source projects that are pxt and pxt-arcade. With what it shown me I would never even think to dig into that codebase to see how all this works (and I still don’t know how it works …really… but I’m just dangerous enough to expand upon it).
After reading this thread, I didn’t see any mentions of the MakeCode Arcade VS Code Extension, just wanted to put that out there that it exists! (I haven’t personally used it yet, but it looks well done, then again, I prefer Webstorm…which is now free! So maybe an extension for Webstorm would be cool as well…but that’s a different tangent…)
Yeah…although I have been quite busy with my studies these past several years I realize that I essentially abandoned that website due to the fact I’d always tell myself that eventually I’d revamp the site, as I did have plans and notes, so that’s why I’ve been “procrastinating” on updating the website, as I keep telling myself one day I’ll make a new version of the website. Google Analytics also suggests that there is still some traffic to the site, so losing all that SEO with a new website (I definitely don’t plan on deploying on Vercel if I were to redo Awesome Arcade) is unfortunate…although who knows how much of those are just ChatGPT and Gemini crawling the web to answer user queries…
I planned that you could sign up with a GitHub account, suggest extensions and tools to be added, and you could post to a dedicated games section with ratings…kind of like Steam but for MakeCode Arcade. Unfortunately, moderating content (even if I were to not implement comments on games, and force people to link to the MakeCode Forums if they wanted to comment) is I believe one of the most difficult parts of building an online website, and finding the time to review all public facing changes (e.g. someone edits the description of their game, or they change an image, or they suggest an edit to an extension’s description) to the website is hard. Additionally, hosting this website would also involve either 1. more time and maintenance to self-host on my part, or 2. money lol (both of which are quite scarce as a university student lol)
Yes, although there are tools that have been developed to create executables of games such as MakeCode-Arcade-to-App (self promotion I guess) they are obviously not official and essentially just a bunch of scripts to cobble things together, which isn’t ideal. An official MakeCode-Arcade-backed solution, although would be very cool, would require a lot of work from the developers for a feature not many people use (especially supporting different OSes and configurations and even code signing and similar; and I’m not even considering the Google Play and Apple App stores). But last I checked, Scratch doesn’t have an official executable feature either…
After reading this thread, I didn’t see any mentions of the MakeCode Arcade VS Code Extension, just wanted to put that out there that it exists! (I haven’t personally used it yet, but it looks well done, then again, I prefer Webstorm…which is now free! So maybe an extension for Webstorm would be cool as well…but that’s a different tangent…)
The Visual Studio plugin is actually quite nice and I use it when I’m doing some serious work (half the time trying to understand how the whole thing operates under the covers).
It does have some limits though such as multiplayer not being available (online or just the extra buttons to test locally).
The Visual Studio aspect was a good half of my reasoning for the “why isn’t it more popular”. You can use a full IDE to make games… if that’s not “a real game framework” then what is?!
Yes, although there are tools that have been developed to create executables
Yes we can wrap websites into executables via Electron or Tauri but I’m not sure how many games exist like that (I’m out of the loop on that one). But one of the biggest things that I get requested is “ok great how do I get this game in Steam?” and I don’t have a solid answer (besides the complexities of Steam itself).
especially supporting different OSes and configurations and even code signing and similar
Different platforms are already supported, the funny thing is I feel like the ones that are supported are actually more complex than a .exe or .dmg. The current .elf export IS an executable already just built for Linux, so it’s almost as if it’s | | this close!
I keep thinking about a community site but fear that it becomes “yet another thing” that fractures the community, but that won’t stop me from experimenting if nothing else to just learn
Thanks for the inspiration @UnsignedArduino and all that you’ve done and did, I can see the trail of things you’ve created and it’s impressive. It just feels now that the excitement of this platform has died down, there are extensions in github being automatically labeled as “will be archived” because they haven’t been touched in years!
Although I have never done this myself, I’m pretty sure Steam will accept an executable file, so after running the tools you would drag and drop the folder or something like that. Not much different to uploading a game executable generated by Unity or Godot, although those may have built in integrations / support to make it even easier. @randomuser is planning to put Hebes onto Steam with the MakeCode-Arcade-to-App tool!
About the community site…I’ve been brainstorming a lot but I’d probably need to ask the forum moderators to see what’s ok and not ok, as I also desire that the website will be linked to from these forums, at least for extensions and tools. (Because it will definitely link back to the forums)
Uploading the executable is good (I’ve never done that sort of thing) but the steps required to get there are still tough for people. And maybe that’s a good thing to prevent just random things landing in Steam
Wrapping a 700kb game in a 200mb electron wrapper just bugs me
I’d love to help with any community site as long as it doesn’t cause fracture. My initial thought was that there’s NO comments/conversations in that site. It’s very similar to your awesome arcade project already where it lists the extensions. But with additional features such as:
Easy contributions, heck maybe even pull from the forum posts for game links!
Likes = trending and top liked games/extensions
Explanations of extensions so it’s much easier to understand what it is before you install it on your game and realize it’s not what you wanted or just “how do I use this thing”. << Not sure how that would be maintained, perhaps a form on submission of an extension and then human/AI reading of those instructions to make sure it’s not spam/etc.
I mean, it would have been a similar process anyway with any other game engine…and Steam requires a monetary investment to post a game anyway, I’m pretty sure, which does help prevent a lot of crap building up. (I’m not sure how it works for free games though…anyways I never aspired to become a big game developer…I just enjoy tinkering and fooling around in MakeCode Arcade!)
You can also use Tauri to get it down to ~10 MB, or 2.5 MB if you compress with upx, although I’ve heard antivirus software doesn’t like compressed executables. Regardless if you were distributing a game on Steam, you probably have the money to do code signing anyway. Additionally, the typical binary.js in a MakeCode Arcade game is several MBs, not only a couple of hundred KBs as I estimate, although I could just be busy looking at larger games, which are most likely the ones that would get packed up for an executable anyways.
No comments is easy, but no private conversations is a harder one to satisfy for such a site, as if there is going to be user-generated content, there must be a report button and therefore flagging and reporting must be implemented, which naturally leads itself to private conversations between the person who flagged it, the offending person, moderators, etc.. Or, GitHub Issues is used once again but I would give more people to edit the repo / database and let them close issues so it’s a team basically.
Maybe just some more work would be needed to put into the descriptions, examples, etc. Additionally they would link back to the forum posts where these extensions originated, as all conversations around MakeCode Arcade should be happening on this platform anyways
I like makecode because it is real coding. in scratch you can plug a boolean into a number slot, no conversions (like int() in python, etc) needed. its nice but weird. much harder to find an error in scratch (because technically there is no specific sytax). I just say “if you’re not smart enough to use it, don’t”
spammy monster is crazy. am I spamming right now? but I agree. people spam “trash” (made by beginners), and somehow it makes it to the featured list? I spend like 5 months on a project and it gets 2 views (me and my other computer).
That’s literally not fair. He has no experience with makecode arcade, doesn’t know what it is for, and is calling it a scratch ripoff. Makecode’s block editor is inspired by scratch probably, yes, but Typescript is Typescript and python is python. I could basically make a YouTube video about how scratch is a really bad ripoff version of makecode arcade. also I had 8 years of scratch but all my accounts got hacked and deleted, and I sent a help email to help@scratch, and they didn’t help, so I rage quit scratch.
Nope … Not directly, anyway. MakeCode uses the Blockly library (formerly by Google, now maintained by the Raspberry Pi Foundation) as the basis of its interface, but takes it far beyond the initial capabilities of the Blockly framework.
MakeCode’s direct inspiration is the project that it replaced, Microsoft’s TouchDevelop, first released in 2011. That’s the project that drew me to programming – and teaching – in a block-based environment to begin with, and not Scratch.
Scratch claims to be the “one of the original languages ever to use blocks, inspiring other languages to inherit the idea.”[1] The initial grant to fund Scratch was awarded in 2003.[2] While originally leveraging their own framework, Scratch 3.0 switched to the Blockly framework, too.
I think overall (and not because I’ve really fallen in love with MakeCode) MakeCode is generally better in almost all ways for teaching and learning to code.
Not sure if I’ve said it before but I found MakeCode in a desparate attempt to make a “gameboy style game” for my daughter. This was a perfect find, JS was the first part I started in and then suddenly realized “oh this block thing is great for starting to learn”. Since then it’s been a fantastic time teaching classes with this tool.
Another awesome victory for the MakeCode team: I’m a professional software developer, been flinging code for over 18 years and I actually learned my first Typescript code in MakeCode arcade! I needed some solid inspiration to break out of the vanilla JS world (I was using things like Knockout, jQuery… oh man ancient stuff) and I was working professionally on a React application that was pre-typescript. We started migrating it in and I saw that wave coming, MakeCode arcade helped me stay ahead of the wave and now I use Typescript EVERY DAY!
Mushy stuff aside, MakeCode Arcade has a 10000% higher chance of a person creating a game that could be distributed outside the platform (think mobile, web, even desktop). Scratch has no chance for that. But what they DO have is the open market of games people have created. This draws eyes like crazy, a TON of game inspiration I’ve seen from students comes from playing random games created by others and then “remixing” them. I think there’s some solid opportunity for MakeCode if it was just slightly easier to find games that people have created.
The forum things get lost, hard to find, hard to know if anything is worth playing, etc. A summary of all games posted in the forum, plus the like count + trending, etc. would/could really inspire people to build more games and expand upon others work.