Chimerror Productions

Quoll Work Thread, 2025-10-26 - 2025-10-26 15:53

Tags: blog gamedev inform7 interactive fiction programming quoll testing text adventures

OK, I didn’t give an update to yesterday’s post here, but I ran into some issues that blocked testing for me, and needed to think how to fix them… (WARNING: Gameplay spoilers for Glitch’s First Exercise)

So, I basically have two different ways that I can play through the game when testing. I can either play through the entire game like a Playerr would, or I can use my testing commands like “XYZZY” (start test mode) and “IDCLEV ” (load level). The first takes some time to get through and run, obviously. The Seattle Apartment level must be completed, and then for where I am testing, Glitch’s Zeroth Exercise must be completed. When doing the second, I can just start from Glitch’s Zeroth Exercise (but I still must complete it).

Since the plan is to make a rather extensive update to taffification, I didn't feel like I wanted to play the game all the way through, so I began testing in test mode. For some reason, I thought that I should taffificate Ada “naturally”, despite having a “SET-TAFFIFICATION ” testing command I can use. To do that, I needed to go to Taffany’s room to expose Ada to her. But when I got to the door, it was locked!

In normal play, this door starts locked, and then unlocks as part of going through the tutorial, or accepting the exercise. But in test mode, we don’t need to go through the tutorial or accept the exercise to generally move around, but then the door is never unlocked. That had to be fixed. Well, not necessarily if I had just remembered the “SET-TAFFIFICATION” testing command, but I may want to have Ada go right into that room regardless in future tests.

The next issue I ran into as I tried to test this is that in the browser, taffification would crash if Taffany started the game in her original gender of female (when in test mode, it’s fine in game). Despite me originally thinking of the character as a woman, there is a 50-50 chance that she will start as her male version, Taffery, instead. I have a phrase to set that up for both male and female (this is the male version just for example):

To set Taffany-Being as male:
  now Taffany-Being is male;
  remove "taffany" from Taffificated-long-words, if present;
  add "taffery" to Taffificated-long-words, if absent;
  if the most relevant woman is Taffany-Being:
    now the most relevant man is Taffany-Being;
    now the most relevant woman is nothing;
  if the noticed woman is Taffany-Being:
    clear the noticed woman;
    set pronouns from Taffany-Being;
  update JavaScript taff-speak lists.

As you can read in the code block, one of the phrases I run is update JavaScript taff-speak lists. This essentially sets up the lists of words that the JavaScript code that handles taffification uses. And since I wasn’t calling the set Taffany-Being as female phrase when the level startup code picked Taffany’s gender, those threw an error because I was trying to call toUpperCase on undefined. Easy fix, make sure to call the right phrase in either case.

And now, I can actually test my intended refactor of the JavaScript taffification code. That’s programming!

Jaycie “chimerror” Mitchell