Happy New Year 2018 How are we doing?

I’ve got a game uploader repo arcade thing half built in PHP but I’ve got to fix it up so it’s at least semi-secure and accounts for things like people trying to upload games named the same or screenshots with the same filename, stuff like that.

The end game I think would be one application that includes a library of games that can be synced to online repos to get the latest, a hex uploader and going even further to have the compiler environment within it too so you wouldn’t have to use arduino. The suggestion of making a scratch like environment is also super exciting as well.

My thought would also build in a community browser page as well. I would like it if you login to the application with your community info so that syncs your repos and also brings up the latest news and your messages. Of course there would be a 100% offline mode also supported.

It brings up the concept of also piping in an IRC channel too so there could be a live chat but that’s probably getting a bit much potentially.

If you know what the leauge of legends loader looks like, a bit like that maybe.


So… Steam for Arduboy! :smiley:

1 Like

We can call it Vapor or Vapour depending on what side of the pond you’re on.

1 Like

There’s probably a way to solve that using hashes, like hashing the author name along with the game name to generate a directory name or something.

Either way I’m sure it’s a solved problem and there’s a known solution on the internet. If all else fails, ask StackOverflow.

As neat as that sounds, the words ‘feature creep’ come to mind.
Probably best to save that one for a later version.

Sadly KevinB doesn’t have the same ring to it as GabeN.

Maybe not, people might think it’s vapourware.


Is the idea to support existing repos? The app (or the php backend) would then join them together?

Thinking out loud:
Since the same game can be hosted on more than one repo, this would create duplicates. Maybe add a hash of the hex to the repo? Would also be useful if a game has been updated and a local copy needs to be invalidated.

Would be nice if the app/php allowed a user to mark favourite games. This would be useful for ranking the games or for suggesting new games based on what they’ve liked previously.

Maybe a “Upload to Arduboy” counter would also be useful, to know how many times a game is actually played (a roughly parallel metric to the hours spent in-game that Steam tracks).

1 Like

I can imagine that joy :smiley:

That’s why I added remote linking to hex files, so when the official repo comes I can link that source directly … If there are direct links

But redundancy (in the form of mirrors) is a good thing. :confused:

1 Like

I agree, I always keep a local copy of the file… In case something happens

1 Like

This is one of the main reasons I think there should be a standardised REST API for linking to the repo.

Doing that would allow people to maintain mirrored repos, and also permit people to create custom clients for experimental features or for other systems like phones or Pis or custom-built arduino-based devices.


Does it have to be more than a (standardised) static JSON file? Granted, an API would be good for features like easily adding new submissions, but it has restrictions (you can’t host on github, CDNs, or other static file servers) and complications (want to host a mirror on a non-php server? You’ll have to port/reimplement some code first).

I’m not sure.
I only know so much about about web apis.

I was just thinking http get on meaningful urls to fetch games (e.g. GET https://games.arduboy.com/rest.php?user=Pharap&game=Easter+Panic or GET https://games.arduboy.com/rest.php?id=someLongGuidOrUniqueHashCode) and something a bit more secure for posting games (e.g. requiring a key assigned to a user’s forum account to verify).
(And obviously use https rather than http.)

The client is going to request the game from whatever the repo.json points to, so I don’t think there’s a practical difference between https://server/user/Pharap/game/Easter+Panic or the links we have now.
ProjectABE would actually benefit from HTTPS (and enabling CORS). For non-browser-based clients, though, plain HTTP is good enough.

If the API is going to allow for uploads and authentication, then yes, HTTPS is obviously necessary. This is something that might not need standardization, however. If one repo takes submissions by pull request, another takes them by e-mail, and another by POST… is this a problem?

In some cases it’s most likely possible to map the different mechanisms to each other by using a proxy system.

For example, GIthub has its own REST API that allows people to create automated accounts, so it would be possible to create a server that accepts a POST and then creates a PR on a repo in response.

Equally a server could poll a github repo hourly for changes and use that to create POST request (essentially the inverse). The Arduino IDE does something similar for updating libraries.

Email would be pretty much the same story.

I want to set up a google hangout sometime in February for anyone and everyone who would like to contribute, interested in being a moderator, or anyone who is very active on the community site.

I’d love to get your real time feedback on some ideas and hear your suggestions as well. I want to establish something like guidelines and a shared vision for how to continue growing the platform. Then after that we can set up some new moderator privileges and stuff.

P.S. Last month the community activity went up almost 80%! Everyone here is so amazing. I really love to see developers helping beginners!


Does that require some external account or just a forum account?

google hangout you use google

Google hangouts? Doesn’ this forum have the functionality to do what you want without resorting to another technology?

For doing a voice call? No the forum doesn’t have that.

1 Like

After installing a fresh OS I thought I would follow the latest quick start guide to see where new users end up looking at it from a perspective of someone whose never done it before with little tech knowledge :

At the initial “Welcome to your Arduboy!” I’m met with two options:

  1. I want to Learn! - Create your own games, learn about microelectronics and learn to code in C++ using Arduino.

  2. I want to Play Games! - Download and play over 200 incredible games created by members of the community.

Sure I want to lean but yikes that sounds scary… lets go option 2 and just jump into the fun like on a SNES.
–> WTF?? a forum? --> ok we can do this…“Hi I’m new how do I play games?” -->“OMG they are they sent me back to option 1.”

  • I find that step 2 doesn’t flow freely into step 3 it kinda leaves you hanging midway, they could possibly be part of the same step.

  • I would also list the FixedPoints library in step 3 as its required by some games

  • I would unhide the board packages and make it recommended as this has an outcome on compiled size making it an optional step 5.

  • Make step 5 step 6

I feel Option 2 needs to go to an online repo with uploader.


Hrm, that would explain a lot.

Perhaps until we have an official repo and/or client we should be pointing people to the existing repos and clients with the ‘I just want to play games’ option.

Only the one game sadly, but thank you for remembering about that. I forgot to follow that up because I got involved with Dark & Under only a few weeks after publishing.