It's this guy again! Wanted to talk about what I've been working on. And what I'm working on, is a Python tool that's very daunting but do-able. It's a tool I would have loved to have when I was younger, it's something I'm gonna use for an old games collection, and it's...
When I was around 6 to 7 years old my introduction to game programming was Scratch, an educational tool but powerful coding environment considering it's a buncha blocks you snap together to make things do things. You can make whatever you want within the confines of the program, and Scratch's FAQ states your creations with it are yours to sell or do as you please with. But to bring your work OUTSIDE of the program, you were very limited in functionality and still are. There's a bit of functionality that budding game developers comfortable with Scratch could benefit from...or COULD have benefitted from:
- Save data for less arcade-style games
- APIs for Newgrounds and GameJolt (etc), if you so desired
- Exporting to devices other than PCs
- [insert things other game dev software can do that Scratch can't]
With Graze, you run your .sb2 Scratch project file through the program and it reads your project's code, moves over the sprites and sounds and basically re-codes the game in GML as a GameMaker Studio 1.4 project file! Upon doing some digging around I found that all the code stored within a Scratch project is just stored in a .JSON file, making this conversion tool STUPIDLY easy. It's just a matter of re-creating each Scratch function in GameMaker from the ground up.
So far, the tool carries over the game's background sprites, and object sprites and sounds are next. Once that's all done it'll just be a matter of doing the re-coding code which I've like, started 1% on already and was the first thing I did. As such, Variables from the scratch project are also carried over, seen here:
(yes I later appended "global." to variables and "var_" to the names so they wouldn't conflict with GameMaker function names)
The tool's origins begin with @Megacharlie attempting to code such a tool in Lua and me immediately being like "zomg I need to see something like this exist". Eventually the project stagnated but once I figured out the JSON and GameMaker metadata heavy lifting, the project was back on and even Charlie's like "sweeeeeet" looking at my progress with it so far. So thanks Charlie, for making this happen.
Once it's finished I guess it'll go up on GitHub so stay tuuuned!
In other news my Flash game (emulated in Ruffle) Face It! got frontpaged on Newgrounds. Oh, and the Henry Stickmin fangame Attacking the Tower I'm coding for is still going well - expect some animation teasers in 2021.
OK time to go play the Friday Night Funkin' update.
-Dungeon <3
Graeme
This is a super cool project!
Also, Graze may be TOO clever of a name ;)