(Re my complaints back here, I think I have fixed the very worst speed hangup with optimizations in my own code, and then David Kinder has awesomely put in some work that will lead to the acceleration of all Glulx games produced by I7. Graham and I have discussed some further optimizations in the way I7 handles relations that might streamline the behavior of the underlying conversation library yet further, but that will have to wait until later builds of Inform. I am hopeful that the result will be something that remains usably fast even for fairly large games. As I suspected, that involves approaching the problem at all three levels — terps, I7, and the individual library.)
Anyway, about the graphics, I’ve been thinking more about what graphics should do in this game, and about what I like in successful uses of graphics in other IF.
I think I’ve crystallized it thus: the status bar is there to help resolve the problem of lack-of-agency that players sometimes feel when confronted with a conversation game whose intricate mechanisms aren’t immediately comprehensible.
Therefore, it should help the player recognize when significant changes have occurred in the game (e.g., we have found out something that is going to affect the rest of gameplay). Currently, Alabaster makes a few gestures in this direction by adding new overlays to the window when the player learns certain key facts.
The graphical status bar should also hint — and this is a delicate art — at what possibilities currently lie open to the player. And it should do so (thank you Everybody Dies) in a way that is more subtle than a text rendition of the same information possibly could be.
So, for example, if the player has entered a portion of the conversation tree where relentlessly sticking to a particular topic will yield a dramatic payoff, ideally the graphics bar will (a) indicate that we have reached a crux and (b) give some indication of progress towards the payoff. It’s a way for the game to say to the player, Yes, you are doing something that is leading somewhere — without coming out and putting that in words.
One example: if you exorcise Lilith, you’re left with an emotionally vulnerable Snow White. If you pester her a lot about the details of her experiences, she will eventually have a breakdown. The graphics express the progress toward that breakdown by having her image double, triple, quadruple as you bug her — marks of progress towards her madness, as her sense of identity fragments. So as he asks intrusive questions, the player can immediately see that he’s making some kind of state change, though he doesn’t necessarily know to what end.
It’s not always easy to come up with aesthetically satisfying ways of doing these things, and I suspect this part of the game is going to take a lot more time than I initially had mentally blocked out for it. But I feel better for having worked out at least what I’m trying for.