Mutable Set Dressings
March 13, 2022•412 words
I was play-testing a game today and realised there was a need for some more functionality in the TAF program.
Set Dressings are items within a game that don't really affect the game play in the way that problems and objects do.
Instead, set dressings provide texture and atmosphere to a game, and add layers of detail to locations. They may hold clues or information that let the player deduce something, but's as far as they go in terms of game play. Their main purpose is to provide background detail and colour to a location.
Because a set dressing has an associated detailed description the player can ask for more information about a set dresing item, just like they can for a problem, a location, or an object. When the play uses the describe
or examine
commands on a set dressing, they are shown the detailed description.
What occurred to me today is that a set dressing isn't immutable. It could be modified or altered in some way when a problem is solved. A problem has an unsolved and a solved description. There may be an unsolved and a solved image too. It's perfectly feasible that a set dressing may be changed in some way that means a single detailed description isn't sufficient - there must be an unsolved and a solved detailed description for set dressings too.
This required creating a new GDL attribute called .prob_affects
. This attribue is used to create an affects
structure that defines a relationship between a set dressing and a problem. When the problem is solved it checks the list of affects
structures and looks for set dressings that are affected by the solving of that problem. If it finds any, it sets a boolean bChanged
flag in the associated set dressing structure to true
.
If the player uses the describe
or examine
commands on a set dressing it checks the bChanged
flag to see whether it should display the unsolved or solved version of the detailed description.
It's a neat way of adding more realism to games.
Let's say there was a problem that had a large balloon full of paint hanging on a string. The player must burst the balloon to get to a hidden key. Obviously, bursting the balloon releases the paint. If the paint falls on a rug below, and the rug is a set dressing, there needs to be a before and after version of the detailed description of that rug.