340 … but I still have a few to add!
I’ve got about 140 done for mine. Still have a number I’d like to add, but it’ll take some time
Once I’m all set, I’ll try to add a PR to add it to the cart builder.
It sure does. Are you adding descriptions into the flash-cart-index.csv file?
not sure which version you added but i’ve gotten answer for gibs about the arduboy file / port. He gave me this link Smash i did not test yet if it contains the sound.
I will download the file and add it to the manhole topic as the link is only valid for a few days
Please do … and I will update the repo.
edit: it contains sound as the sound is working in offline projectabe and not crashing
I have added it … along with:
- Blade Runner
- Pip Boy 32u4
- Platformer (not very creative name!)
- Cat Mines
- Floor Fall
- Pawn Path
- Single Ennead
- Cistercian Number Counter
- Chess (by Drummyfish)
- Mega Missiles
rooftop rescue is listed twice once in action (on the bottom) once in arcade. Still going through some of them but this list has expanded quite a lot already and we are not even in the half of used flash
No. Currently, I just place the .hex, .png and .bin (for FX data) files in local folders and run a fork of this flashcart builder. It works great for me, and as a benefit I have my flash cart builds version controlled.
I plan to use your tool, though, to share my config more broadly once I have it ready. I’ve wanted to expand on mine, and rearrange a few games, for a while, but I’m on the home stretch of finishing off the Arduboy STEM builds (today is the last session ), and I’ve been swamped.
Now… I can’t remember if I’ve tested them, but Mr Blinky shared a link to the original 8bitCade that has a bunch of games pre-compiled for SH1106, which may help me (or others) when I get back to finishing up my collection.
Actually, I do have one more question about your tool. I was planning on using it to find missing gems for my collection (like you, I prefer to keep a ‘curated’ list, not the whole lot of them), and was hoping that it had links to the source where available (like eried’s collection does, for instance).
In reality, I’ve probably already got most of it downloaded but it could be useful for anyone who has to compile from source. I see that you have the source in
.zip files in your repo for many of the games. Perhaps the
version X.X text in under the game author in the modal could be a link to download the source for games that contain it.
Are the one action should be ‘Rooftops’ … I have fixed that now.
Ahhh … that would be nice. I wished we had done that from the start however I designed the system to use the existing CSV format of @Mr.Blinky’s system and it does not have a column for this. The intent was / is that Arduboy.com could take over the site if they want.
I also didn’t want to have a proper database for this same reason - I didn’t know if Kevin’s site has a DB instance behind it or one that is usable so I kept it simple
I inherited those from the repos of the official Arduboy and 8BitCade XL carts. I actually do not want to keep the source at all as it is just something else that I need to maintain and try to keep in line with any updates the original authors might make.
A link to the source would be a much better idea.
Yeah, I don’t blame you. Nice to avoid it when you can. There are some easy hands-off options, like Firebase, though, that work well for these sorts of small projects without much administrative overhead/burden.
Perhaps a version
2.0 feature. Again, something I’d be happy to implement at some point down the road (I do this for a living, so not a big effort for me) - just lacking the spare minutes for the time being.
The tool is already great, as-is, and this feature would only benefit a subset of us in the DIY space.
Got this working pretty easily and updated the games on both my Arduboy FXs (the one im using to develop on and the one i just got in the mail a few days ago just to play on ) but now that im trying to add my own games i had a quick question (and sorry if this might be addressed somewhere and i missed it)- is there any suggested best practices for getting a PNG file? I tried opening a game in the emulator, taking a screenshot, and cropping/resizing to 128x64 (in paint then in gimp) but came upon some issues… i can probably get it working later just by showing/snapping to a grid but ran a little short on time before work, just figured id ask in case there might be an easier/quicker way. Thanks!
I can load up SQL to handle the database. The main site runs squarespace which doesn’t allow any other hosting but I still have old.arduboy.com which has the old site still running on it just the wordpress is broken because it’s still trying to get content from arduboy.com
At some point I would be interested in hosting this but this seems to let @filmote develop quickly right now.
Yep … I never thought the page would evolve as far as it has.
LOL … I am a developer so it should be easy for me too. My own site provides a MySQL background which I have used for other things but not knowing what the end result was going to look like, I opted to stay with the CSV files. That way, no one can hack the site and trash the DB … it also means people could do a PR on the CSV files to help add games (though no one has done that yet).
More games? Anything that should be permanent?
Half way there … when the game is running in the emulator, press the ‘P’ key and it will produce a 512x256 PNG for you. You can then easy resize this to 128x64 in paint or whatever.
Right. While we are still rapidly developing features and populating it, it makes sense to leave me to run wild. We can look at moving it later. Howev
One can easily be added.
I think a database would kind of be overkill for the amount of data it needs to handle. Also a CSV file would be easier to use with different tools.
Yeah, I know. When I started, it didn’t anticipate your involvement. Glad you got on board to help with the BIN generation. My 1.0 release was going to be you download the repo from github, generate your CSV file and run the existing scripts.
My 2.0 was (hopefully) to decipher you python scripts and create a PHP version. When you joined the project and made that a reality and early, the need to stick to the CSV structure sort of was less important.
I agree. An advantage would be that we have a lot of descriptions and so forth replicated across the ‘full enchilda’ csv, the XL csv, the PPOT.csv, the PPOT_XL.csv and the curated list. This would get slightly worse if we were to host a version for the SH1106 home build. A database would allow you to de-dup this data.
A second advantage would be the ability to host a voting / rating system for games. Something I would love to do!
If you were to add more metadata…
I found when compiling the EEPROM game list, it was really helpful to store two URLs:
- "Source" - link to the main repository. Often GitHub, etc. but sometimes obscure .zip archives hidden away on a forum post, dropbox or personal website, etc.
- "Website" - link to the ‘homepage’ or origin of info and support. Normally the Arduboy forums, but sometimes social media posts, personal websites, etc.
Whenever I discovered a new URL, I tried to submit it to the Internet Archive for backup purposes. Based on what happened with Team ARG’s site… some caution needs to be taken here(!)… perhaps anything outside of GitHub and this Community, should always be linked to the archived version?.. It’s a tough balance between staying up-to-date and protecting users from unwanted changes…
While it’s possible to edit CSV files with spreadsheet software, I think that using a format that identifies fields with a name rather than an index would be better.
Partly to make it easier to edit by hand without needing anything more specialised than a basic text editor, and partly because it would make the format self-documenting.
JSON would probably make the most sense because then games could just reuse the format that’s already in use for
.arduboy files, though from an ‘ease of implementation’ perspective, something that’s just
key: value without any kind of fancy compound data types or nesting would be easier to get up and running.
(Also, technically the ‘CSV’ files are actually ‘SCSV’ - semicolon separated values.
One possible way to reduce the amount of duplicated data without using a database would be to have each game stored as a
.arduboy file, then you’d just retrieve the information from the embedded
.json file, which would mean the curated lists could omit the duplicated information (title, author, version et cetera).
.arduboy files can contain multiple
.hex files for different targets.
Obviously it’s going to mean more work rewriting the system, but in the long term it would be simpler.
I’d like to point out that
.arduboy files already have this capability.
There’s a separate
url field and a
(By the way, I just updated the links from the old
.arduboy file guide to point to the ‘museum’.)
One thing I’ve been thinking about for a while but don’t have the know-how to pull off is to create either a GitHub repo or account/organisation that could use some kind of mechanism like web hooks to automatically pull in data from GitHub repos that host Arduboy games, acting like Eried’s collection but being more automated.
That way people could have their games included in the system by providing some kind of informational file and then requesting that the repo be tracked.
Basically it would be like how Arduino tracks libraries by having users provide a library file (I can’t remember if it’s the
library.properties that Arduino uses) and then submit an issue to have their library tracked by the system.
Nice. It seems a lot of good ideas went into the format design.
The CSV file has column headings embedded in it.
Unzip the arduboy files, parse the JSON file for 350 games? This makes having a CSV file (or a database) seem like a very good choice.
Anyhow that gets the data onto the screen. The beauty of the CSV approach is that you can create your own cart and save a copy of the CSV file on your own machine. Reloading the file allows you to add different or new games into your own curated cart and save that locally again.
The CSV file can be used to create a BIN at any time. You could even download my repo and use your copy of the CSV to create a BIN locally.
I would vote against any structure that has a file per game. As mentioned earlier, having that tucked away in a zipped Arduboy file is just inefficient. Extracting the JSON out to file system once when the game is loaded into the site could save the unzipping requirement but doesn’t remove the need to parse 350+ files.
If I was planning on doing anything, I wouldn’t choose any of these over CSV files. None of them have a ‘built-in’ validation mechanism and would just be trading one format for another with no gains. XML with an embedded DTD (not an XLST) is the only real self contained format but is useless unless people edit it within an aware tool.
If I was planning on doing anything, it would still be a database but I would still allow the persistence of the modified cart to a CSV file for local storage. I would also ensure it was compatible with the existing python tools.
But, I am not planning on doing anything at the moment