Arduminer Development Progress

Lemme know when you do and I can add it to the Arduboy Manager repository. :smiley:

OK, Got the save file stuff done. 21 bytes to store the 16 slot inventory, current depth (level), current health, sound preference and current level of boots, helmet, chestplate, pants and sword.

not too shabby, I think i’ll be a little cheeky and use 24, just in case i can cram a few more features in.

1 Like

Alrighty, here is the first playable. I exported the sketch as a hex file, both with and without the bootloader are included in the zip, I’m not sure exactly what people need and if this is sufficient.

Anyway, let me know

If it doesn’t work, also let me know.

I don’t have time right now (midnight, 3 week old and 3 year old in house) to write up detailed instructions, suffice to say that the box in the top right shows what your guy is doing right now, and the b button is always attack. left right to move, up to jump, down to change action. Actions are place, craft, eat and mine.

Place only works if you have mined stone blocks. Eat only works if you have apples or gapples. View these things in the crafting window (hold action key A for a second or so with the craft action).

See if you can figure out some recipes in the craft window. You can save your progress after each stage (complete stage by walking through the door in the bottom right of the level).

Eat restores hearts by using gapples first if you are below 8 hearts (gapples restore 2 hearts) and regular apples after that (half heart). Mobs will do more damage the further through the game you go, and armour will protect you better the higher its level. Every 8 levels is a ‘challenge dungeon’ with a star block at the end. Collect 7 stars to be awesome. Every room has a 50% chance of a regular dungeon as well. Break the dungeon block for more awesome loot.

I think thats it, I sure hope someone is able to get it to work. If not let me know how to trouble shoot and i will fix tomorrow. Enjoy

To use the Arduino IDE we need the source code.

Is there no way to distribute the game without the source code? I’m most definitely not ready to release that and I don’t know If i have the ambition to clean it up to do so at the moment.

1 Like

I believe only the Team A.R.G. loader is capable of uploading a .hex file, and it’s only available for Windows. So MAC and Linux users won’t be able to play it, except for the very few who are skilled enough to use avrdude from the command line.

The source code doesn’t have to be clean and readable. You just need to be able to compile it using the Arduino IDE.

Personally, I wouldn’t go near a game that didn’t make the source available for examination. I wouldn’t want to risk it having flaws or intentional code that could damage my Arduboy.

Fair enough, I have put together a .arduboy file, but I guess if that precludes *nix users I will just stick the source code up.

Seems like it would be pretty dumb to release a malicious .hex file. It’s not like you would be able to affect more than a couple users at most before it was flagged and I presume the mods would remove it and ban you from the community.

Bleh, the only way to get around that would be an App review process, and as someone who develops iPhone Apps for a living I have enough of that for a lifetime at work.

Is the .ino file and the .h file i used to put assets into sufficient? That is all I can find in the directory.

This is the arduboy file
This is the source, as a zip

1 Like

I just re-uploaded the source by replacing EEPROM.write with EEPROM.update. It shouldn’t matter in the slightest as the load/save code should not be something that can be stuck in a loop, but best practices I guess.

Your Arduminer.arduboy file is incorrect. It contains an Ardubminer folder with the required files in it. The required files should be in the root of the .arduboy file.

Is the game called Arduminer or Ardumine? The .hex file is Arduminer but the .ino source file is Ardumine.

Otherwise, the source is fine. It compiles properly in the Arduino IDE. You may wish to put the source files in a folder named Ardumine or Arduminer (whatever matches the name of the .ino file) in the .zip file. This way, after unzipping, the folder and its contents could be copied into the IDE sketchbook instead of having to manually create a folder.

For the game itself, I suggest you switch from using the Arduboy library to the Arduboy2 and ArduboyTones libraries. The original Arduboy library is no longer being developed.

To do this:

#include "Arduboy.h"


#include <Arduboy2.h>
#include <ArduboyTones.h>


Arduboy arduboy;


Arduboy2 arduboy;
ArduboyTones sound(;

Change all instances of to sound.tone

There’s no beginNoLogo() function in Arduboy2. You can use begin(), or if you really don’t want the boot logo, use boot() followed by feature function calls, as described in the documentation.

The ArduboyTones library handles sound muting itself, so you can get rid of all the if (playsound()) tests then control muting using and

Well, it still might help ever so slightly. If an EEPROM location that you’re writing, to save the game state, already contains the value you want to write, using EEPROM.update() will save an EEPROM write cycle.

1 Like

Cheers, I will make the relevant fixes :smiley:

This is one of my favourite games so far! Only thing that bothers me is that when my inventory is full and I have no coal I’m stuck with crafting :disappointed_relieved:

I haven’t done dev on this in ages… i should see about fixing that up.


What happened to arduvalley?

1 Like

Got put on the backburner when my second kid arrived and i never had the time to finish it off. Hopefully I can get back into that too.


That would be awesome!


OK, there is an updated .arduboy file and an update source code available at

In the crafting inventory you can now hold down ‘A’ to drop one of each item. Let me know if that is sufficient :stuck_out_tongue:

I also updated the menu screen for fun


Thank you so much! I was searching for a long lasting game for my Arduboy just now :star_struck:

When I try to compile it gives me:
exit status 1
‘readBlockIDat’ was not declared in this scope

Ok, I’ll look into it today. It might be the library is outdated

1 Like