11
\$\begingroup\$

The objective is to make the smallest SB3 file that can simply be imported into Scratch 3.0 without a "The project file that was selected failed to load" error. Any means can be used, like editing the JSON or better compression. Here's where I am with project.json, the only file inside mine:

{"targets":[{"isStage":true,"name":"Stage","variables":{},"lists":{},"broadcasts":{},"blocks":{},"comments":{},"costumes":[{"assetId":"00000000000000000000000000000000","name":"","md5ext":"00000000000000000000000000000000.svg","dataFormat":"svg"}],"sounds":[]}],"meta":{"semver":"3.0.0","vm":"0.0.0"}}
\$\endgroup\$
2

2 Answers 2

2
\$\begingroup\$

303 bytes

I think this is the lowest possible score. I managed to remove some more stuff from project.json and used the best compression 7-zip could offer me. File is here.

project.json

{"targets":[{"isStage":true,"name":"Stage","variables":{},"blocks":{},"costumes":[{"assetId":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","name":"","md5ext":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.svg","dataFormat":"svg"}],"sounds":[]}],"meta":{"semver":"3.0.0","vm":"0.1.0"}}
\$\endgroup\$
2
\$\begingroup\$

263 257 bytes

The MD5 uses 0s instead of As, semver and vm's locations are swapped, vm's 0.0.0, project.json's creation, modification and access times are 01/01/2000 00:00:00 with the N (none) attribute (Attribute Changer 10 used) and FileOptimizer's used to optimize the SB3's compression.

{"targets":[{"isStage":true,"name":"Stage","variables":{},"blocks":{},"costumes":[{"assetId":"00000000000000000000000000000000","name":"","md5ext":"00000000000000000000000000000000.svg","dataFormat":"svg"}],"sounds":[]}],"meta":{"vm":"0.0.0","semver":"3.0.0"}}
I've done some more swapping, used the A (archive) attribute and changed all the numbers to 3, even the date and time (03/03/3333 03:33:33). Oddly, the year 2108 problem occurs after optimization.
{"targets":[{"costumes":[{"assetId":"33333333333333333333333333333333","md5ext":"33333333333333333333333333333333.svg","dataFormat":"svg","name":""}],"name":"Stage","isStage":true}],"blocks":{},"sounds":[],"variables":{},"meta":{"semver":"3.3.3","vm":"3.3.3"}}

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.