Disambiguation and gates

I open a new thread, for not cluttering the debate elsewhere

the fixturing of the gate fixes the immediate problem, but I ended with unusual disamb issues.

the west gate (on the opposite side of Luroz, as players of Creative Cooking know) works reasonably fine:

West gate

The west “gate” isn’t precisely a defensive one (there’s no walls, anyway), being a stone open arch whose only function is being an “Here you enter Luroz” marker of sort.
I can return west to the teleport beacon or go to Luroz’s lower plaza east.

x gate

Which do you mean, West arch or the west gate?

Then, disambiguation became surreal:

e.e.e.e.e.e

[descs of rooms traversed]

East Gate

The ancient, millennia-old, East gate, the only surviving defensive gate of Luroz, flanked by short remains of the wall, now repurposed into the west walls of the two houses beside the gate leading out to the road to Sarneste
west is the market, and east you can exit Luroz on the Sarneste road.

x gate

Which do you mean, the east gate on the ground or the lit east gate?

whose speaks for itself. I don’t get where ‘lit’ came (I suspect refers to the E gate room, whose by default IS lit) and that a gate is on the ground, well, the fixture IS on the ground of the location by world model (@egate) but the most awkward disambiguation is incoming: let’s move to a place roughly equidistant to the gates:

w.w

[traversing loc descr again]

go to gate

Which do you mean, the west gate, the lit east gate, West arch, or the east gate in the east gate?

no need to enter into the detail of the utter awkwardness: the last disamb question speaks for itself…

with the extensive map, with areas (regions) often extended along long axis (even U-D, there’s a sizeable tower…) I think that GO TO is a good, if not excellent, QoL for the player, so removing it from the verb & action set is out of question, notwhistanding that indeed CAN be “considered harmful”…

Opinions ?
Best regards from Italy,
dott. Piergiorgio.

1 Like

This to me looks like what you get if you have multiple objects with the name “gate”. One solution is to give them all different names. Another solution is to give each of them a distinct disambigName which the parser can use to distinguish them in its disambiguation prompt, for example:

gateroom: Room 'Gate' 'gate;;location'
    "A room with a gate and an exit west. "
    west = otherRoom
    
    disambigName = 'gate location'
    
//    dobjFor(Examine) { verify() { logicalRank(95); } }
;

+ Fixture 'gate; big iron'
    "A big iron gate decorated with lions and unicorns. "
    
    disambigName = 'big iron gate'
    
//    vocabLikelihood = 10
;

Note that in that case you need to make sure you supply vocab on each object to match its disambigName.

A third approach is to tinker with the vocabLikelihood property and/or with logicalRank() to guide the parser to choose one object in preference to another, as in the commented out code in the above example.

2 Likes

I have slept above your post, and it’s perfect. a combination of disambigName and unique adjective. on top of it, the unique adjective I chose for the E gate (ancient) subtly reinforce the subtle human condition/political message. purrfect !!

Thanks for the solution and
Best regards from Italy.
Dott. Piergiorgio.