After finishing version 4 of the walking frames for Guybrush, I thought to lay down the list of things I want to do, in the order I plan to do them:
- a point-to-point demo in which Guybrush walks from his current position to where the user’s pointer is, upon pressing the fire button: this is required for me to make sure that Guybrush only makes vertical steps that ensure the stability of the sprite multiplexer. It essentially means coding a custom line algorithm;
- add sprite clipping: for the current design of Guybrush’s sprites there is a huge simplification that I can leverage due to the fact that in each zone sprites overlap perfectly, so only one clipping mask is required per zone. For the generic case I’ve thought of a further change that might come handy: pre-calculate clipping masks and store them in memory arranged in a convenient way for building sprite masks. Both simplifications require quite a few changes in my clipping code;
- implement a proper walk from point to point algorithm, using navigation meshes: I essentially need library functions for things like “find if a point belongs to a trapezoid” at runtime, everything else can be pre-calculated and stored in memory;
- put everything together in a playable demo 🙂
All good fun if you ask me. However I don’t anticipate a speedy implementation as I’ve been abusing my eyes quite a lot recently in order to get to version 4 of Guybrush’s walking frames: I need a well deserved rest from PC monitors!