MallARD Hunt (an homage)

hey there.
for the life of me, i couldn’t get my NES zapper to work with my Arduboy… so I decided to do the next best thing :slight_smile:


Please note that i spent a total of about 4 hours on this, and i have almost no time to do anything fun ever, so if there’s bugs, there’s bugs hahahahha

anywho, here’s some gameplay footage:

there’s a better quality version here:

and here’s the git repo:

and yup, i know, there’s the whole .arduboy format and all that, but i’ll do that stuff whenever i get a chance hahaha

oh also, if anyone is keen on making some level end music like duck hunt for it or whatever, that’d be awesome!


That’s really cool for a 4 hour effort. Imagine what you could do if you had a weekend at it!


I am so lucky that i have three arduboys, have to try this, too😊

1 Like

This is begging for a mini zapper over i2c.
Awesome stuff.


We need the dog laughing at you to top it off. :slight_smile:

1 Like

@pixelplatforms, This sketch currently uses less than half of the available program memory. May I ask why you’ve chosen to use boot() instead of begin()?

If it’s to avoid the time required to display the boot logo, this can now be done for each individual Arduboy by setting a flag in system EEPROM. The flag can be set using the SetSystemEEPROM example sketch included with the Arduboy2 library.

I’ve been thinking a lot about this game having some form of mini zapper and thought it may be possible to use a wiimote, mobile or Arduino with accelerometer and send button inputs over serial or for an actual zapper the wiimote and Sensor bar hooked to a Pi or Aduino with shield.

The great part about the wiimote is you could even use it in reverse and make a tiny keychain sized zapper with a IR LED and track it with the wiimote camera.

Edit: I just realised nobody has done Operation Wolf either.

1 Like

oh, that is MOSTLY because i made a little game boiler plate builder sorta dealie that i use and that is the code that i used in the boilerplate.

that boiler plate thing is also what makes it easier to pump out easy little games in no time at all ahhahaha

by no means perfect, but it starts you off somewhere and whatnot, you know?

a tiny zapper would be so awesome. make it magnetic or something to stick to the back of the arduboy hahaha

Then why not change the boilerplate to use begin() instead of boot()?

hehe Ardperation Wolf

would probably be pretty trivial to port this to an operation wolf or freedom force kind of game. i was actually working on a ‘house ard the dead’ zombie shooter but gave up on it a ways back

1 Like

guess i could, is it truly that big of a deal? also, i mean, people can do whatever they want with it, it’s there for the tweaking hahaha

1 Like

Based on a recent poll, a majority of people are in favour of, or don’t mind, seeing the ARDUBOY boot logo, and those that aren’t can now disable it using the EEPROM setting. So, using boot() should generally only be considered if obtaining more program memory is required.

ah, gotcha man, makes sense. i’ll get around to it eventually :slight_smile:

1 Like

The same set of polls also show that the majority of people claim to use boot more than begin.

The polls also discovered that people like to remove the logo for aesthetic reasons and the majority of people think people should be allowed to use whichever they want.

1 Like

Would you mind if I embedded a .webm video into the post?
The quality wouldn’t be as good as the .mp4 so I’d keep the link, but it would save people having to navigate to Google Drive to watch the video.

Getting off topic but:

That was before I added the ability to disable the boot logo with an EEPROM flag. 67% of the people who used boot() instead of begin() did so because “it helps me develop/test quicker”.

Another 9% said they don’t like the logo, and another 8% said they don’t like the flashing LEDs (for 84% total). The LEDs or the entire logo sequence can now be disabled with EEPROM settings, thus addressing these responses.

Which, again, the EEPROM settings allow on a per unit basis. So, as far as I can see, program memory used by the boot logo code is the only consideration. Developers can switch to boot() at the point this becomes an issue.

The question for the poll to which 34% of people replied “No, I’d rather have only have my logo/remove the Arduboy logo for aesthetic reasons” was “Is the EEPROM flag in v5.0.0 an acceptable compromise?”.

22% said yes; 22% didn’t care; and 22% said no, they’d rather have the progmem memory (i.e. whether they needed it or not).

The bottom line is that some people like boot, some people like begin,
and people will use what they want to use.
Neither is better than the other, they’re just different.
And that’s all I’m going to say on the matter.


Does it really need to be discussed every time someone uses boot()? The code is public just edit it to whatever suits your own preferences.
It would be better to suggest flashlight mode was also included if space allowed for user reassurance and recovery or if a program will override a users audio setting.

Maybe a mod can move the posts to the poll discussion on the topic or another poll now that the EEPROM options are available.


don’t mind at all, give’r!

1 Like