I’m working on a game and, as one often does when working on games, I run the game to test it. It gives me the first prompt. I enter my gender and…
Nothing happens. Nothing. I can’t delete my command, I can’t type more, and it doesn’t print any output or another prompt.
I check Activity Monitor. There is no CPU usage by glulx.
I export it to a blorb and run it in Zoom. It works fine, but I want my inform testing commands and AFAIK there’s no way to release a blorb with I7’s built in testing commands… right? And that’s ignoring the skein, test me, et al.
I then begin commenting out things I have changed recently, and I find the one line that is causing the problem:
Kitchen contains two small green snakes.
What! How does this even affect the parser if the game starts in an entirely different room and is at this point just scanning the command for a gender?!
In fact, I have an old backed up copy of my game on a flash drive and it works perfectly, including that line. I have not touched that line of code since then.
What is odd is that elsewhere in my game I have the line:
The forest-items-box contains three small green snakes, two medium green snakes, a large green snake, two red potions...
So it can’t be that nameless object assigning (or whatever the real jargon is) is broken. Then I try rephrasing the offending line.
Kitchen contains one small green snake.
Kitchen contains three small green snakes.
Kitchen contains a small green snake (called bob)
These compile and work as intended. However, I specifically balanced the power of the small green snakes around the first battle including two. Now I try to rephrase it again, this time to definitely include two of them.
Kitchen contains 2 small green snakes.
Kitchen contains a small green snake and a small green snake.
Kitchen contains two small green snakes (called bob and susan)
These all compiled, but still gave me the weird parser freeze. It also breaks on other types of monsters substituted. Eventually I hit upon what should have been obvious before:
[code]Kitchen contains a small green snake.
There is a green snake.
When play begins:
now kitchen contains a random small green snake held by nothing.[/code]
Which I guess solves my problem… maybe… but it’s awkward. I’ll have to do this for every location that exactly two of the same enemy appear in the same room. I don’t like this solution very much, it’s ugly, it’s longer than should be necessary and it circumvents the problem meaning the devs are less likely to fix whatever is causing it. Anyone have a clue as to why this issue is occurring?