I'm sharing with you my first creation on the Gamebuino. It's a very simple "collect falling coins while avoiding other stuff" kind of game. The idea for the game came from watching @archonik's stream documenting his creation of the perpetually hungry Guinea Pig simulator "Gruniozerca". If you speak polish, I'd highly recommend watching it and coding along.

Your job is to collect coins while avoiding arrows and defeating enemies. The arrows and enemies drain your health if they hit you. While there is no stopping the arrow, you can hit the enemy to stop him. You lose points each time you let a coin fall off the screen.


  • Collecting a coin +1 point
  • Defeating an Enemy +1 point
  • Missing a coin - 5 points


  • Movement - Left /Right
  • Attack - 'A'
  • Menu (hold) - Back to Main Menu

This is the first time I went into creating and animating images; there's a ton I still have to learn on that front. The time it took me to prepare this is around 8 hours, plus give or take 1 hour for refactoring. The code is a linear state machine, one .ino file, and no real OOP going on there. I come from the electronics side of the Arduino world, making LEDs blink and RC cars drive, so I have limited experience in designing game systems, collision, and complex object interaction. I'm looking forward to learning more about how to develop something more complicated. Any and all comments greatly appreciated :)

Last comments

1 year ago
Author :  jicehel

OK UnPalocaLoco, images and sprites are given so no need of credits. (I you want add a message, it's cool but really no need as i like do that)

If you want change sprites and need help to make animation for walk / attack and ennemies, i can help too and so you could add a credit for gfx but is as you want. With bigger sprites, dimensions of the sprites could have to change because when sword is attacking it's more long.

You could may add an blood sprite (or hit 'star')  animation for when sword touch ennemi.

Else, collision détection is enough easy for the sword (you have just to test if the dots of the sword are in the rectangle of the ennemi's sprite) and adjust the coordinates for ennemi hit player, coin and arrow. I'm sure that it's will not be a problem with your skillset as i saw it wasn't so low that you could think when i have look at your code.

1 year ago
Author :  UnPolacoLoco

Thanks for these images and sprites! I'll for sure use the icon and titlescreen. How would you like to be credited for these?

I will revisit this project when I get a bit more experience and try to address the weapon length issue. Currently, I just set the "attackRange" to be at 4 pixels, which may not be very apparent given that the sprite is always the same size. I'll just have to add a better attack animation sprite (which might be an issue with my skillset) and rewrite the collision code (which shouldn't be that much of an issue). 


1 year ago
Author :  jicehel

This is my try for icon.bmp and titlescreen.

I have done before transfering your bin in my sd 

If you want make the coin turn you can use this:

Else the game is good. It's hard to be at good timing to kill ennemies. It's could maybe more easy with sprites a little more big (to have longer arms / sword and so having more time to hit ennemies).

For menuEntries[] at the start of your code, you coud use:

const MultiLang entryPlay[] = {
    { LANG_EN, "Play" },  { LANG_FR, "Jouer" }, 
    { LANG_DE, "Spielen" }, { LANG_ES, "Jugar" }, 

const MultiLang entryHowToPlay[] = {
{ LANG_EN, "How to play" }, { LANG_FR, "Comment jouer" },
{ LANG_DE, "Wie spiele" }, { LANG_ES, "Como jugar" },

const MultiLang entryCedit[] = {
{ LANG_EN, "Credits" }, { LANG_FR, "MĂ©rites" },
{ LANG_DE, "Ehre" }, { LANG_ES, "Honors" },

const MultiLang* menuEntries[] = {

With that, the menu is in this 4 languages (i hope i don't have make mistake in translations ...). It's not very important because alot of us use english but it's can b cool for youngs.

No real other thing to say. I hope you'll add sounds / music and yes it's maybe an idea to make sprites of player and ennemies a little bigger, i don't know it's depend of your own choice. I put below the change if you pass from 8x8 (actual to 10x12)