That type of enemy was always top on my list because it’s pretty cheap to implement. Especially since the game already has a projectile. But I always ended up choosing something else since you don’t get a shield, making this style enemy possibly too annoying. Still, it’s worth a shot.
a projectile shooting enemy … it’s worth a shot … nudge nudge wink wink … very punny
It doesn’t necessarily need to be an enemy. It could be a room trap type thing that you have to doge instead of defeat.
Cool! Downloading it now!
Nice game. Just finished it.
Copying wiring.c and wiring_private.h from @Mr.Blinky’s optimised core:
into the ardynia/src folder instantly saved 172 bytes (using IDE 1.8.5) or 164 bytes (using IDE 1.8.7)!
I just wish this didn’t make uploading a different game such a PITA That’s why I avoided it, I only want to go into this territory if absolutely must.
You can easily make it so that if someone holds a button it goes into bootloader mode in case you want to remove the USB stack.
Couldn’t we have a key to make it go into bootloader mode and STAY? Wouldn’t that just require re-flashing the first bit of FLASH with 0xFF?
Yes when the first program word / 2 bytes are FFFF the bootloader will stay active. Unfortunately a sketch can’t reprogram/erase itself with stock bootloader.
And you get a key combo to enter the bootloader mode (UP+DOWN for > 1.5 seconds in latest version)
Are you 110% sure? Often you can do it - it just requires some timer hacks to jump into the bootloader code and then jump back out (using an interrupt and a little stack manipulation)… it’s quite a neat little trick. The bootloader code just needs to contain the SPM instruction anywhere (which it should).
The sketch can’t. But you could use trickery like you discribed. You could probably jump directly into the erase sketch code but I don’t want to go there.
That’s what I’m saying, it can - via the bootloader code… and it might even be simpler if the bootloader has compiled SPM into the end of a function or a smaller piece of code you could just CALL. You setup everything in “userspace” then just call into the bootloader for the
SPM, which can only run from bootloader space. Then a return (or some awesome interrupt tricks) gets you back. Once you have it working it’d 100% reliable since the timing is precise.
I wonder if reflashing the beginning of flash over and over would really have any effect on the long-term durability (in practical terms).
Having a sketch reflash portions of itself (feasibility)
Allow me to applaud you for a great game:
- Nice, readable, commented source code: check.
- License: check.
- Informative readme: check.
- Own website: check.
- Nice documentation for modders: check.
- Using existing tools such as Tiled and scripting languages: check.
I’d just add screenshots to the readme and you can make this an example Arduboy project.
We need more positive feedback like this
(i want it too )
This game is great. One of my favorite Arduboy games, right up there with Arduventure, Dark and Under, Circuit Dude, Mystic Balloon, and the like. I beat it in probably about 3 hours. I’ve got a friend playing it now. Good job on this!
Thanks! Glad you like it.
New Version 1.0.1
This version fixes a bug related to secret rooms: