Quoll Work Thread, 2025-02-01 #2 - 2025-02-01 18:13
Been doing more investigation of that bug and I need to take a break to get some dinner, but I wanted to do some thinking aloud first.
The issue seems to happen on account of Ada seeing the actual physical CDs and presumably then favoring talking about those rather than the two abstract topic Subjects I have for the CDs. There are these two Subjects because one of them fires off if Ada has not figured out that the CDs are Taffany’s problem, while the other fires off if she has. To be honest, it may behoove me to replace this use of multiple subjects with a dead simple Truth State That Varies as I’ve done in many other cases when working with Ada’s knowledge… but this worked before so I am not eager to do that just yet.
Either way, what’s frustrating is that even though she favors talking about the actual physical CDs, she does not
successfully ask about them using the implicit-quizzing
Action that works on known things (which includes the
Subjects), but the implicit-asking
Action that is used to ask about arbitrary text. From my investigations, she
(really the parser) does recognize “cds” as possibly referring to the right things, she just fails to pick it as a
conversation topic.
One easy idea might be to add an explicit Does the player mean
statement disfavoring the implicit-asking
Action,
because I never use that Action to lead to a response. For me, it’s mostly there to catch completely unrecognized
words and divert to the Default Response. This doesn’t feel quite right because as I’ve said, this used to work.
The harder idea is to stash my changes and roll back to when I wrote the failing test, because even though I didn’t re-run the test with my intervening changes, I did run the test until it worked the first time I wrote it. This means something I’ve added since then has caused the change and if I figure out which it is, that may make it clearer.
I think I will do the second just so I have some more insight in how things got broken. My big huge fear is that this is so low-level that I need to start looking at the generated Inform 6 code for some oddity. So be it, if that’s the case.
Either way, I also need food so let me go do that.