I also got the impression that we were probably more or less in agreement. My responses were more in the nature of attempts to clarify (and to think out loud) than to disagree.
Indeed so. But at the risk of just going round in circles here, those are in part the kind of questions I attempt to answer in outline at http://users.ox.ac.uk/~manc0049/TADSGuide/adv3Lite.htm. I’m not sure how else I could answer it for someone yet to try either library in a way that wouldn’t involve excessive detail. Perhaps you’ll be able to advise on that when you’ve done your own comparison!
There are subtler differences that, I think, would only become apparent with use, and where it might in any case come down to subjective preference.
For example, whereas in adv3 you have to define both the vocabWords property and the name property on every Thing, in adv3Lite you normally combine them in a single vocab property, which avoids the need to type the words making up the name of the object twice. Also, adv3Lite can generally deduce plurals for itself, so unless they’re highly unusual and irregular they don’t need to be defined explicitly. So, for example, where in adv3 you might define:
redBall; Thing 'big red bouncy ball*balls' 'red ball'
"It's a big red bouncy ball. "
;
The equivalent definition in adv3Lite would be:
redBall; Thing 'red ball; big red bouncy'
"It's a big red bouncy ball. "
;
Which, over a substantial number of objects, is arguaby a worthwhile saving in typing (and duplication).
As a second example, there’s no SuggestedTopic classes in adv3Lite, since adv3Lite assumes that any TopicEntry with a name property defined is meant to be suggested. So where in adv3 you’d need to define:
+ AskTopic, SuggestedAskTopic @tLightouse
"<q>What can you tell me about the lighthouse?</q> you ask.\b
Bob shifts uncomfortably on his feet. <q>The troubles,</q> he begins,
<q>No, you don't want to know about that, you really don't,</q> "
name = 'the lighthouse'
;
In adv3Lite this would become:
+ AskTopic @tLightouse
"<q>What can you tell me about the lighthouse?</q> you ask.\b
Bob shifts uncomfortably on his feet. <q>The troubles,</q> he begins,
<q>No, you don't want to know about that, you really don't,</q> "
name = 'the lighthouse'
;
Which is just that much less typing. (Before you ask, if that had been an AskTellTopic, adv3Lite would have suggested it as “you could ask…”, but the game author could override that).
Incidentally, adv3Lite is rather smarter than adv3 at working out what topics are available to suggest at any one point in time, so you don’t need to define limitSuggestions on ConvNodes and the like, and you shoudn’t get the problem that can arise in adv3 where a topics are incorrectly suggested or not suggested because of the complecxity of the arrangement.
But these kind of differences are all rather subtle, and not at all easily captured in a sound-byte that’s likely to be meaningful to someone who hasn’t tried out at least one if not both of the two libraries we’re comparing.
Incidentally, while we’re basically agreeing that “complexity” is far from being an ideal measure here, part of what I originally had in mind with the term was the complexity of the class hierarchy. which at least for simulation object classes (excluding TopicEntry types) is rather less extensive in adv3Lite than in adv3. So, for example, adv3Lite doesn’t define any subclasses of Room, Actor or ActorState (one simply uses those base classes), and although there are classes that multiply inherit from TravelConnector in adv3Lite one can often use the base TravelConnector class where in adv3 one would have to use one of its several subclasses that have been eliminated from the adv3Lite library. I appreciate that there’s a trade-off here, since in many cases what was done with different classes in adv3 is done with different properties in adv3Lite; what is in part being addressed is some people’s perception that the adv3 class hierarchy is overly complex. (To some extent, then, adv3Lite is a bit like adv3 shifted slightly in the direction of Inform 7).
That would be great. I look forward to seeing what you come up with.