To be honest, I would have thought anyone capable of actually writing a game would be capable of writing a JSON file and zipping it up.
Though I don’t think it would be particularly difficult to create a tool for editing .arduboy
files either.
There actually was a JSON editor specifically set up for editing the Arduboy JSON format at one point, but as far as I’m aware it was hardly ever used. Probably because the url was so ridiculously long. From what I can tell, it just encodes the entire schema into a URL parameter using Base64.
I’ve dumped it in a gist here if you want to take a look:
I concede that INI files are simpler, but I wouldn’t have thought JSON is prohibatively complicated. I’ve written JSON parsers in a few different languages, and the most complex parts tend to be the character escapes and the floating point numbers.
Though that raises the question “If INI files are so much simpler, why does the .arduboy
format not just use INI files in the first place”?
I would presume the answer would either be the need for arrays, the need for typed data, or the fact INI files aren’t actually standardised, so different INI editors use slightly different rules and support different feature sets.
What did it do instead? Did it actually incorrectly format things, or was it just missing certain information?
The list number? Or just the optional zero-terminated strings?
One thing that’s hindered me a bit when trying to deal with the cart formatting is the SHA256 signature. If it weren’t for that, I’d probably have made my own cart editor by now. (I’ve already got something that can upload .hex
files and edit the FX memory.)
The ‘uniquely identifying games’ problem has been around more or less since year 1, though applied to different things. Originally it was for EEPROM usage, then game cataloguing, then for the FX.
Ultimately it would either have to involve identifiers handed out by some kind of central authority, identifiers generated by some universally agreed algorithm, or identifiers that are just chosen randomly and are made long enough that the odds of a clash are astronomically high (i.e. UUIDs/GUIDs).
Having a centralised database of games is at least a good step towards the ‘central authority’ idea.
Though whatever ends up in use, there’s always the possibility of someone flouting the system and doing their own thing.
Why would not having GitHub integration be better?
Last I checked, moderators don’t have the ability to edit groups, so unless there’s a way to grant them that ability the onus of allowing people into the ‘publisher’ group would all fall on one person’s shoulders (i.e. @bateske).
Have the developers said why?
I would presume it would potentially be a security issue for one thing.
Personally I’d prefer this anyway. It makes sense to have a system that can function without an internet connection or a web browser.
The only downside is the onus of security.