Okay, some actual progress, if not very thrilling to look at!
☐ Screen Scrolling – So I thought I was done with this, and the above sure makes it look like I am, but seconds before posting this I found a strange bug. I was adding in more entities to better show off the scrolling, but this somehow broke the scrolling in a very glitchy way. I’m unsure if this is an issue with the scrolling, the graphics pool, or the structs for entities. Hurray! Oh well, I’ll get it sorted tomorrow.
☑ Debug View – This was actually very fun to code and I think it’s pretty cool. This is a “real-time” overlay consisting of a bunch of tiles that draw with sprite / location / color / rotation packed into a byte. I have a little selection of 16 tiles I drew to represent different sets of information and the decoding process is quick and robust. This lets me represent all sorts of information based on the world state quickly and easily. Importantly this adds basically no overhead to the game so I can test things with impunity. This does not include the other debug view I still need to implement -> the daunting brain representation.
☐ Bitwise/Wang Tiles – I think one of the final graphics elements I need to code in is the structure handling. I’m going to do this with something like a simplified set of Wang Tiles. Shouldn’t be difficult.
☐ Plant push – On of the defining elements of Nambug was the plant push. Whenever any second layer object settled on a plan it would push to the left out of the way so you could still see it underneath. This led to cool swaying as entities ran around in fields. Should also not be difficult.
I think I’ll be able to close all of these items out tomorrow and start the week fresh working on some of the more atomic systems and the Dijkstra-esq flow-fields. First up is figuring out what demarks a room so the game can automatically decide where rooms are, and populate the appropriate number of flow fields for each (and update them if anything changes later on).
Thank you for reading! Please stay tuned.