I'm thinking of writing this up as a dev diary, so I'll keep it short. But my character Glitch has actually been pretty well-behaved within the game. I've thought Glitch was responsible for bugs, but it turned out to be some other reason. However, Glitch has finally been true to name and glitched the game itself...
I've been continuing to work on the first part of the tutorial of my reality programming text adventure, Quoll. The tutorial is given by Glitch the Skunktaur, a being that was erased from the main character Ada's reality but is back to teach Ada everything she needs to know about the Chronomancy she'll use in the game. (Glitch has no pronouns.)
The main part of the game takes place in a set of dynamic rooms called Funge Space that form a 2d grid that wraps around on itself. That is, if you keep moving north, you will pop out on the south side of the grid after moving through a threshold room called Between Funge Cells.
Since these rooms are dynamically generated at runtime, I can't just magic Glitch around the place easily like I had been doing earlier. I actually have to write code so Glitch really does attempt to move from room to room the same way Ada does. This included moving into and through Between Funge Cells.
For this, I thought it would be fun if Ada could catch up and actually see Glitch moving through the rooms, so I had Glitch essentially chill for one turn in Between Funge Cells (BTFC) so Ada can catch up. Everything worked fine in my test where Ada followed Glitch's path, so I added a test where Ada takes a different but equidistant path to hopefully see the two arrive at the destination.
Instead, Glitch was already in the destination and then proceeded to wander off to the east (the last part of the path). What had happened is that Glitch entered BTFC, began to chill for a turn, and then Ada entered BTFC from one room to the east, which with how I implemented BTFC actually moved BTFC, with Glitch one cell to the east.
Sadly for right now, I just decided to to a quick fix and have Glitch not take that turn to chill, which means its impossible for Ada to catch up. And I guess it's not Glitch that is buggy here, but my implementation of BTFC.
So Glitch is blameless... technically.
