Design and documentation journal for my interactive fiction (text games); also reviews and other miscellaneous stuff.

Friday, November 13, 2009

Compiler breaking is fun!

So just got through the first major slog-through of code - basically commenting out everything piece by piece until it worked, and then adding code back in piece by piece until it doesn't.

Since a lot of stuff is interrelated, that involved sorting out stuff individually.

I just found my majorly broken piece. (Apparently - hopefully - the only majorly broken piece.) Surprisingly, the nomenclature stuff didn't seem to be the gamebreaker. Nor did any of the other stuff I was deeply concerned about.

Want to know what was? Here's the smallest 'game' that will break Inform.

"test" by Gravel

Month is a number that varies.
Day is a number that varies.

Ovine Estrus is a recurring scene. Ovine Estrus begins when Month is 11 and day is 1 and time of day is 12:00 AM. Ovine Estrus ends when Month is 1 and day is 30 and time is 12:00 AM.

Testing room is a room.

That's it. Did you catch the typo? It's time vs. time of day. (The one that restores sanity is time of day.) Now, I know that names of things are important, but I would have expected an error thrown here, rather than a complete code shut-down. Inform does use "time" as something separate, in a way I think I understand but haven't worked with (i.e. "At the time when the sheep goes to sleep . . .").

Anyway, it's kind of nice to have the first major bug quashed. The code above worked fine with the previous version, and the change isn't mentioned in the documentation, so I'm glad to have that sorted out. Now I need to decide what to tackle next. There's sort of a lot of basic issues - the sheep get hungry and sort of fake eating if they have access to food, but it's pretty raw - for instance, the food never disappears, and the pasture magically has food for infinite sheep from spring to the end of fall. And sheep don't die except if I explicitly kill them - and even then, they vanish without a trace of a corpse. So, yeah. Good times.

No comments:

Post a Comment