Game Uploading Guide Published

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!

Introducing the brand new Game Uploading Guide!

https://arduboy.com/upload-games/

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.

Shoutout: @fmanga @eried @crait @JO3RI @obono @mockfrog

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 everyone!

7 Likes

I think you should at least mention the IDE on this page, as another alternative for uploading.

In the description for each uploader, you should state which operating systems it works with.

2 Likes

I am not sure if “Arduboy Uploader” is the name of my “ecosystem”. This is the dictionary of terms:


  • Erwin’s Arduboy Collection

This is the front-end of the collection. Provides easy access to the games, descriptions, etc. Accessible via http://arduboy.ried.cl


  • Arduboy Uploader

This app can upload games from Erwin’s Arduboy Collection, .hex files, or .arduboy files. It is installed from https://github.com/eried/ArduboyUploader/releases/latest and it is only available for Windows now.


  • Arduboy Collection

This is the back-end of the collection. It is a repository in github. Anyone can upload their binaries following simple instructions available here: https://github.com/eried/ArduboyCollection#submit-your-game

It is reflected in a json file: http://arduboy.ried.cl/repo.json for programmatic access to the collection (this is what the front-end uses)


I personally think that if a newcomer uses Windows, the easiest way is:

4 Likes

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…

Just made an update!

1 Like

The next release will upload to device on windows, mac and linux. The uploading is done, I just need to iron out some other bugs.

The beta linux release also does uploads, but is unreliable.

Very nice! Using a plugin or how are you getting a serial port? You’ll still have to install arduino to get the drivers though right?

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.

1 Like

Release Candidate Linux, MacOS, Windows builds are now online.
Confirmed to work on Linux with two different clone boards.

Confirmed working with my Pro-Micro Clone with Leonardo Bootloader and Arduboy with stock bootloader on Win10 Home.

I have something else to mention but will continue in the ProjectABE thread.

1 Like

@bateske: so… Can I get my star back? :laughing:

1 Like

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.

2 Likes

It’s the executable. I don’t think there’s any way to get the web version to flash an arduboy, except with a custom bootloader supporting WebUSB.

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.

1 Like

I actually tried going the Electron+avrgirl route at first, but it just wouldn’t work reliably. I ended up writing my own flasher.

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.)