So … I tried this and it added a whopping 756 bytes to the program so that’s not going to happen.
“from retro to arduboy in few hours days” < sorry to look like @CDR_Xavier but strikeout is appropriate here. Actually, I might withdraw this post at a random date and time.
I think those little lines will be too subtle - it may be visible in the emulator but on the actual Arduboy screen I would be struggling to see it.
That’s the problem with a small 4x5 font. The even number of pixels in the width causes this. I actually think the wider M, W and V look weird but so be it.
The enemies are spawned back in the original spot they started. The do flash a few times before they stand upright - I will need to test but are you saying you die in this period if you touch them? If so, I can probably change that easily.
All feedback is welcome. Don’;t be offended if I simply say ‘no’ though to an idea because I don’t like it or I cannot fit it into the memory constraints of the Arduboy.
No new features will get it the way of the game having 40 levels !
I kind of frown upon using the TX and RX LEDs. They’re better left for their intended purpose. If used in a sketch, I think they should be reserved for debugging only, as I’ve done with nextFrameDEV().
That said, the proper way to use them is with the TXLED1, TXLED0, RXLED1 and RXLED0 macros.
Is it just me or after level 7, the difficulty is just too much?
I am starting to think that the enemy AI might be the culprit there.
They seem to follow the general position of the player at all time, but that also means that if i am at the top of the stage, and they don’t have something to climb up next to them they just won’t go up. Hence the problem… there’s no way to lure them more than 1 by one unless they are visible on the screen.
So basically that means that everytime that i play, i can get most of the gold without problems, but if i ever have to drop to ground level, most of the time there’s like 5 enemies waiting under. So everytime a gold piece is in a enclosed wall and i need to dig and drop down. they all are waiting for me.
On levels with no ground level like lvl 9, when you dig the floor that isn’t there, they appear and refill at the top of the level. I don’t think it breaks the game so far but i just thought i should let you know.
I watched the AppleII version and in that version, the holes takes 6 seconds before starting to regenerate, in your version it’s after between 3-5 seconds (weird but it seems to not take the same amount of time depending on the level and how many holes there is), that might change the difficulty a lot on later levels.
I also notice that for some levels to be beatable, you have to use where the enemies respawn. On Lvl 25 for exemple, I checked your Levels.xlsm and did’t see the reentry point where it needs to be. So that level might be impossible to complete you can see on this screenshot that the gold (6) at the top right can’t be taken unless an enemy spawn there.
EDIT: After playing a little more on the lvl25 i noticed that there’s no reentry point, they just respawn at their initial position when we start the level. It confirme that some levels like lvl25 can’t be completed in the current version. It does look like you did plan to use reentry point but did not add them yet from looking at the legend in your file.
Thanks @Vampirics … this is exactly the sort of feedback I am looking for.
New Features / Fixes
The player shouldn’t be able to dig on solid ground (obviously) so I have fixed that.
When I looked at the refilling of holes, I noticed that ones burnt to the left of a player were taking longer to fill than those burnt to the right. I had two different values - one as a constant and one as a #define. I increased the delay of the left by about 20% and made the right the same. This is stored in an #define called HOLE_REFILL_TIME and it is set to 220 which may be a little long. This value can be anywhere between 33 and 255 (as the code assumes its an unsigned char and as it counts down the hole begins to fill at 32).
With the re-spawning, I originally had the idea of specifying four reentry points as part of the level but removed it as I ended up randomly choosing the re-entry points or aligning them side by side with the starting points for enemies … eventually, I just pulled it out. But now it all makes sense and I have retrofitted the entry points and arbitrarily picked new values. Its interesting that the original level maker images doesn’t show reentry points so I assume the original randomly picked values.
With @MLXXXp’s help, I have changed the red LED. When committing suicide (the A + B button), its not so bright and it wanes as the player dies. Now @Keyboard_Camper can play the game under his bed covers without upsetting the rest of the family.
Sort out the ‘Men’ count after a restore.
Implement a level selector and ability to complete levels out of order.
Implement a ‘level exit’ arrow and possibly a green LED indicator.
I have had a look at this problem and really I am finding it hard to think of a good solution.
Currently, the players will always try to move towards you. If you are above them on a higher level, sometimes they simply oscillate backwards and forwards below you - even though there is a ladder two or three cells away.
Without some more complex AI that is possibly beyond me and the memory available, I am thinking of simply throwing some random elements into their movements which may overcome this. For the above example, if they start moving left then right then left again then I might ‘force’ them to move three or four elements before they get to choose a direction based on your position. If in this time they have passed a ladder, the natural direction choosing might take them up the ladder …
I have just completed a cut that incorporates some random actions in with the ‘AI’. It should address the issues mentioned above … but the downside is that sometimes the enemies run off in weird and wonderful directions.
Anyhow, I am seriously running low on PROGMEM and will need to spend some time trying to free up memory before I can add any enhancements. I even have small intro music piece contributed by @Vampirics that I want to include be as yet cannot due to memory …
Just noticed another thing. In the original game the enemies can walk over the other enemies that are in holes. In your version they can’t always do it for some reasons. And i believe its needed in some level to complete them.
I really like the gameplay even more now with the new AI.