8:00pm on Thursday and Day 4 of SkullDorado is done.
The screenshot for today doesn't do a whole lot to show the vast amount of changes behind the scenes as I did a whole lot of work on enemy AI today, creating different creatures and giving them little package scripts to follow various behaviors and it's really super cool I promise! At the very least you can see one of the new enemies, the Monkey! (mainly because I disabled Line of Sight code for enemies so I could see them running around )
The Monkey specifically I used because he gave me a variety of problems; being invisible after I rewrote some of the color filter code, running wild when I accidentally forgot to break out of a switch statement in the behavior code, and generally being a nuisance. One thing that I've realized is that enemy facing direction is actually kind of important and without it, makes it kind of hard to predict enemy behavior. This means that likely I'll be putting in custom sprites for enemies, since single ascii characters are quickly becoming obsolete. However, I'll keep them as long as possible, as I've a debug function that turns all enemies into colored arrows for testing purposes.
Another thing that happened was that I gave a build to a friend with a tablet to see how the game looked on a large screen device and found out that while the layout was perfect-- the images being sampled from my spritesheet were all wrong! It turns out that the function I was using to load the image resource was "helping" by resizing it as soon as it was loaded, and not when it was being drawn, so my pixel-perfect calculations were then incorrect. Luckily with some help I got the problem debugged and discovered that I had to explicitly tell the system that I didn't want help with resizing at different screen densities, and that sussed it all out.
So, now after some more testing, SkullDorado will definitely run on any screen size! (At least I hope there's no corner cases I'm forgetting.)
With Enemy AI almost completely finished (just a couple more hours, promise!) I've still got Items and Map Generation to do, and three days to do it. If two of those days were not weekend days, I'd certainly be sunk.