Lazzah: How often do you access a property directly (that is, you use something like GoldCoin.Value) as opposed to indirectly (something like %Object%.Value)? (Syntax may be wrong; I haven't been looking at ADRIFT code much recently.) If you're only using properties directly, they offer only cosmetic advantage of ordinary variables.
Lumin: I think some of the most important feature additions in ADRIFT 5 can be things that the author isn't likely to notice explicitly; there are some things that an author needs to work at carefully to get them right under ADRIFT 4, while an author using ADRIFT 5 will get right by default.
Specifically, take cases like this:
- overriding a command whose object can be referred to by multiple names
- overriding a command whose object shares vocabulary with other objects
For an example of the first, see _The Plague Redux_. IIRC, you could refer to a bottle of water as either "bottle" or "water", and refer to person as "woman" or "kate", but "GIVE BOTTLE TO WOMAN" would give a fallthrough message indicating she didn't want it, while "GIVE WATER TO KATE" would solve the puzzle.
For the second, see the crystals from _Sophie's Adventure_. There were five of crystals (the Torazin crystal, the Mult crystal, and so on) scattered throughout one section of the game. If the player got one and waved it, then one barrier would be weakened and the crystal would disappear; using a total of three crystals would destroy the barrier. The player had to include the name of the crystal when waving it ("WAVE MULT" or "WAVE TORAZIN"), even if only holding one crystal ("WAVE CRYSTAL" would give a message that you needed to say which one.)
TADS, Inform, and Hugo have long had the default behaviors that the exact noun phrase doesn't matter; "GIVE BOTTLE TO WOMAN" or "GIVE WATER TO KATE" will be handled the same (assuming that the bottle of water is the only bottle or water present, and Kate is the only woman present; if there were other objects and the player went through appropriate disambiguation prompts, then that command would also be handled the same). Only if the author goes out of his/her way to fiddle with disambiguation are they different.
Similarly, TADS, Inform, or Hugo would have handled disambiguating the crystals without any particular effort by the author. If the player types "WAVE CRYSTAL", and there's only one crystal around, those systems would run the overridden command for waving that crystal. If there are two crystals around, and the player typed "WAVE CRYSTAL", the game would put up a disambiguation prompt. "WAVE CRYSTAL" / "Which crystal do you mean, the Mult crystal or the Torazin crystal?" / "MULT" is handled exactly the same as if the player had typed "WAVE MULT CRYSTAL".
And if I understand things correctly, ADRIFT 5 also gets those things right by default. (This is why ADRIFT 5 needs the distinctions of "General Task", "Specific Task", and "System Task".)
Unfortunately, the documentation for A5 is weak on this and doesn't do a good job of explaining those. The examples don't really demonstrate the improvements; the most advanced example, "Jack and the Beanstalk", is still something that could have been done in A4. People coming from A4 see the changes, but don't realize the advantages of those changes.
So I think A5 unfortunately combines some of the difficulties of more powerful systems with the limitations of less powerful systems.
Bloodhounds can make you laugh and cuss in the same breath. They are endearing, faithful, and can sling drool ten feet in any direction. -- Virginia Lanier