Seal of quality -- By Aurélien Rodot

Quality Seal

Author :  Aurélien Rodot

Why Would I do this?

Have more people to enjoy your game! We'll put it in every new Gamebuino (with your agreement).

Inspire the others. If your game is well made and documented, others will follow your path.

Make money. Step 1 Quality Seal - Step 2 - Step 3 Profit (nah, seriously, we'll tell you more later).

How do I apply?

Make sure you comply with everything below and send us a message through the chat :)

Things in bold are mandatory. Other things are optional, you might not need them. It's just so you know where they go.

File structure

Have the game with the source + the binaries on GitHub (or other repos) with the following structure.

Let's say your game is named MyGame:

  • Binaries to copy/paste on the microSD card
    • binaries/MyGame/MYGAME.BIN
    • binaries/MyGame/TITLESCREEN.BMP (80x64px BMP RGB 24 bit)
      • The title screen must NOT be a plain screen recording to avoid user confusion
      • Show the version number so that people know if they have the latest
    • binaries/MyGame/ICON.BMP (32x32px BMP RGB 24 bit)
      • Make it real nice looking and earn money from it *___*
    • binaries/MyGame/TITLESCREEN.GMV (see note below)
    • binaries/MyGame/ICON.GMV (see note below)
    • binaries/MyGame/assets/track.wav (44.1Khz 8-bit uncompressed WAV)
    • binaries/MyGame/assets/tileset.bmp
  • Source code
    • Put it in a folder of the same name, or Arduino won't open it.
    • MyGame/MyGame.ino
    • MyGame/OtherSource.h
    • MyGame/OtherSource.cpp
  • Asset sources (the files you use to create your assets, eg. photoshop psd)
    • assets/tileset.psd
    • assets/track.mp3

Note: *.GMV files are automatically generated when you display the *.BMP for the first time on the Gamebuino META. It's better to include them so people don't have to wait for them to be generated. Include GMV if you have animated *.BMP as conversion times can be long. More information on that can be found here.


Make a Creation so that it appears in the Creations page. Please include the following.

  • GitHub link or other repository
  • Download link usually the GitHub zip link
  • Cover picture
  • Game description
  • Screen recording or screenshots of gameplay
  • Credits if any

User experience

  • The main goal is consistency across games and ease of use.
  • Use self explanatory controls. People don't have to RTMF if they need no manual.
  • TEST, TEST, TEST. User experience is based on what the user do, no what you think they should do.
  • Use as little text as possible. Replace it with pictograms. This way a kid that don't read, or someone that don't speak English could still enjoy your game. Plus, people are lazy and often don't read what's written (trust me on this one).
  • If you do use text, translate it into other languages, using the language API. More information on that here.
  • Use the default 80*64px resolution and use the Official Gamebuino Palette.
  • Use the lights. Make your game go beyond the screen. Be gentle, don't go disco-ball!
  • Buttons usage
    • A OK/validate/enter/start/shoot/main action
    • B cancel/return/discard/jump/secondary action
    • Menu items/game menu/map
    • Home It's there by default, don't change it. It allows to change settings, pause and exit.
    • Arrows Well do you need an explanation for that?
    • If you need key combinations, think twice about it. If you still need them, introduce them in the tutorial so people don't have to guess (or read the manual, because they won't).

Coding style

Check out the Arduino Style Guide for easy-to-read, beginner-friendly code.


You need to have the rights of what your share, including the art, the code and the names.

Author :  jicehel

You could maybe add the resolution preconised for the screenshots and specifications (as you done for titlescreen.bmp) for the recording

You write tileset.psd but any reason for the psd ? why not png for example ? it's because it's the source of the asset and have to be converted to be used ?

binaries/MyGame/ICON.BMP is writen 2 times

Another question but probably because i have a little brain: i see TITLESCREEN.BMP and i understand why but no idea for the TITLESCREEN.GMV (i don't remember the use)

It's all i see for the moment about this "Seal of Quality" and i think it's a very good idea to have write it quickly  ;)

Author :  Aurélien Rodot

It's a draft, thank you very much for your feedback, we'll improve it over time :)

I fixed ICON.BMP thanks

For tileset.psd it's a photoshop format... it's just an example. The idea is to put the source of the assets (if any), not the final exported assets. This way if anybody want to edit them it's easier.

You didn't see the note about the GMV files ? It's not clear ?

Author :  jicehel

Sorry Rodot, i missed it... The note is clear. No problem exept my attention on the text (sorry).

Not sure but you could maybe add a part on the start commentary with recommandation on the form

(Title, version, date of creation, author, source if any or modification of an existing open code to standardize a little but it's not very important as it could be in the game description too

Author :  Aurélien Rodot

No problem at all, I added "see note" so people dont miss it now :)

You mean explanation about the form on the Create page ? We're going to improve the creation page for it to be self-explanatory, it won't need no manual ;)

Author :  PanStyle

Use the default 80x64px resolution and use the Official Gamebuino Palette (follow the link to see why).

Wait what ?
I actually thought the 160*128 with 16 indexed color (which is the Gamebuino Palette, no ?) would be the "norm" ?

And that 80*64 would be the "other norm". Is this why i only see 80*64 in the mockup thread ?

Even if i see plenty of awesome things there i'm more locking forward to 160*128 games. Don't you think this would make people only do 80*64 games ? (even if it's not bolded and not mandatory this seems heavily suggested).

I already feel that the 160*128 is really underused and i fear that it would become worst with that.

Other than that it's an awesome idea. Games will be clean and looks more polished like this and it'll help a lot to have the same "structure" when you add a game to your Gambuino.

Also the "seal of quality" reminds me a lot of the NES area. And that's not a bad thing !

Author :  Aurélien Rodot

Well yes we prefer the 80*64px resolution over 160*128px because:

  • It's close to the Gamebuino Classic resolution (84*48px)
  • It's enough to fit plenty of things now that we have a color screen, cf the mockup thread
  • It forces people to draw "big" stuff so it's readable even with old eyes (the screen is 1.8", not huge)
  • It¬†enforces actual pixel art (I'm not saying you can't do pixel art with 160*128px, but the more pixel people have the more lazy they get on the pixel art)
  • It makes pixels more visible on the 1.8" screen, so even old eyes can rejoice on good pixel art
  • It's 4x faster. Don't get me wrong. Sending the buffer to the screen is always the same time because we convert it to 160*128 while sending. But when drawing to the RAM buffer, it's 4 times less pixels to refresh.

But you are free to go off-palette and off-resolution ;)

And yes "Seal Of Quality" is pretty retro, but doesn't seem to be trademarked by Nintendo so I thought it was a cool name. Kudos to @Valden for the suggestion!

Author :  STUDIOCRAFTapps

I knew you were about to include something like this!

Author :  lastfuture

All BMPs I try to create for TITLESCREEN.BMP or ICON.BMP crash the Gamebuino META as soon as it tries to display them. Is there a guide how to save the right format, or how to generate the .GMV files off-device?

e.g. as soon as I scroll to a position in the loader menu where a part of my icon would be displayed, the menu freezes. If my application was open and I add the title screen, turning the Gamebuino META back on freezes it on a black screen where it would normally display the title screen.

I've tried BMP export in Pixelmator and Preview but I am comfortable with the command line if there's a bullet proof way to convert to the right format using CLI

Author :  alxm

Some things to check:

  • 32x32 res
  • 24bit depth (RGB, no alpha channel)
  • Make sure to properly unmount the SD card after copying the files over

You could also just copy and edit a working icon from another game :-)

Author :  Sorunome

Ooof, invalid BMPs shouldn't crash the loader. Would you mind sending them to me somehow so that I can look into it?

Author :  Come

O.K i'm the most lucky dude on the planet i've done everything (maybe) fine

BUT everytime i launch the game i have a white screen 11 time on 12 

here is the content of the file with the game 

Author :  Sorunome

rename rmkebab.ino.gamebuino_meta.bin to rmkebab.bin, that filename is probably way too long

Author :  Come

steel not :/

Author :  lastfuture

Here, these are the BMPs crashing the loader:

Author :  Sorunome

Thank you, I was able to find and fix the issue:

It was a problem within the library itself where BMPs with negative height weren't supported correctly. BMPs with negative height are supposed to be flipped, so I added support for that now in the library, and tried to recompile the loader and it is working. Since I didn't update any binaries....just wait a bit for that to distribute! ^.^


Also, the loader didn't crash. It just thought it had to convert 65535 frames......which takes ages, lol

Author :  lastfuture

I didn't even know BMPs could have negative height. TIL!

Glad I could help make Gamebuino better

Author :  Aurélien Rodot

Quality seal updated, apply now!

Author :  eriban

I would like to submit my Bumble Bots game for a quality seal. The game is still a Work in Progress but I hope that is not an issue. The main thing that is still pending is more levels. The game already features six fully playable levels and meets all Quality Seal criteria as far as I can see. If not, let me know what requires fixing.

Author :  STUDIOCRAFTapps

I'm not gonna get this