We are so lucky to have some really dedicated users who have developed their own software to make uploading games easier on the Arduboy. Until now they have been somewhat secret for people to discover once they have dug through the community or been recommended from someone else. That time is past!
This is now the destination when choosing “I want to play games!” from the Quick Start Guide. It should really help new users access the large library of games everyone here in the community has made.
Let me know if you have any suggestions how to make it better or if there are any mistakes! In the future I hope to continue to empower these user-created solutions and try to finally make an “official” game loader working with you to build from what has already been created.
Thanks for the awesome breakout of instructions! I’m not sure if the semantics are an easy fit for how I’ve formatted the guide, but I’ll try to think about how I can build some fly-out accordion section to include instructions or more detailed explination about each system.
The main goal this time was to just get it to the forefront so people can be aware of these and dig in deeper. So, yeah I’ll take this to consideration for a future draft. I’d like to include icons or screenshots or something to make each solution “feel” different from a visual perspective but haven’t figured out a way to do that cleanly.
I do mention Arduino is needed for the USB drivers, but yeah I suppose I could include it at the bottom as well as a 3 star solution… I suppose it is also the only way to flash for mac and linux users? Everything else is PC only.
Probably a better thing for me to realize is that ProjectABE doesn’t actually upload to device >_< and I’ve also forgotten about Clouduboy…
I switched from electron to nwjs, which has a serial port API built in based on chrome’s (which means it might even be possible to support ChromeOS).
Since I’m not using node-serialport anymore, it may also be possible to support Android/iOS in the future, but I haven’t looked at those properly, yet.
I’m not sure about the drivers. All of the machines I’ve tested on have the Arduino IDE installed.
Stars are arbitrarily assigned lol… So is the current build on the web live or do you have to download an executable. I’m sorry I really haven’t had time to dig into everyone’s github fully as I’m still traveling.
Without a plugin, no probably not. Clouduboy uses a an electron app that runs in the tray and functions as a plugin… I think. As far as I remember the electron app also makes use of avrgirl as it’s happier cross platform. But I could be full of hot air.
It would be super neat if @flaki and even @noopkat could come in and give us some tips!
I’d like to just mention the end game here is combining the best of what everyone has built into one “official” app. I’m envisioning a launcher that actually serves most of it’s content through HTML but the uploading and compiling are done locally. Or maybe the plugin method is better?
I’d like to roll the social aspects of the community into the application so there might be a tab for: community, game uploading, code development, documentation, sprite & sound generation and tutorials. A one stop shop, so we could tell people “just get the app!” and know that it’s a portal with everything you need.
I support this idea more than the tray/plugin thing.
Just a simple executable with maybe a bit of support, preferably distributable as a simple .zip or .tar.gz rather than requiring an installer.
(Though clearly an installer would be possible if it can be transported in a .zip.)
Ideally the client would also be open source for several reasons:
To make it clear to people what the client’s doing.
So that people can compile it themselves if they don’t trust downloading executables.
So that people can make their own modified versions with new features.
So that popular features added to derivatives can merged into the main version.
This is definitely starting to sound like Ardu-Steam.
Without meaning to be a killjoy, I think we should focus on just getting the http transfering and the clientside uploader program working before trying to turn the client program into a forum replacement.
That said, it would be nice to put some hash checking facilities into the clientside program so people can validate the code they’ve downloaded to make sure they weren’t man-in-the-middled and that the uploaded .hex is definitely the version of the game that they’re looking for (rather than an outdated version or the wrong game - human error is always a factor).
I think he meant simply a tab which would have the forum embedded, not a replacement. Documentation would be the same thing: an iframe pointing to the library docs.
While I agree that it would be nice to have hashes in the repos… why would anyone do a man-in-the-middle with a hex file?! o_O
In that case I don’t really see the benefit.
Is there some reason someone might want the forum embedded in the upload client instead of just having the forum open in their browser alongside the client?
Although it’s pretty hard to brick an Arduboy, never underestimate what people will attempt out of sheer nastiness, or even just to prove that they can.
Plus it’s better to be safe than sorry, and having a textbox to put a hash in and a button saying ‘verify hash’ is quicker and easier than cd-ing to wherever the .hex files are dumped and using a command line tool to do it.
Plus it should be relatively easy to implement, it’s a fairly common thing to want to do so there should be several libraries available.
I think the itch.io and steam clients do this. When you have the client open and you have a problem, it’s handy to have the community/documentation just a click away.
Hrm, I suppose. Frankly though I find the ‘community’ aspect of Steam (since I can’t really speak for itch.io) to be more of a background thing - I don’t know anyone that uses it regularly.
This might not reflect everyone’s use, but I find apart from the occasional comment on a workshop item or review I rarely use any of the discussion-centred ‘community’ features. Certainly if I have a problem with a game I tend to look for answers in my own web browser rather than digging through steam discussions.
(Also the entire program is pretty much a web browser based on an outdated version of Chrome with other bits bolted on top, which isn’t necissarily a detail to aspire to.)