Difference between properties and various-to-one relations?

I am wondering if there is a difference between using properties instead or various-to-one relations.

Example:

[With relations]

Loving relates various people to one person (called the crush).
The verb to love means the loving relation.

[Or with properties]

A person has a person called the crush.
The verb to love means the crush property.

In practice, both result in the same thing. With relations however, you can use the command RELATIONS to test, and also pathfinding, so I guess they are a bit more powerful?

I don’t know how relations are stored, so maybe it also has an impact on speed or memory? And what would be the best practice, the most “informian” way of doing?

I suppose whatever is fine, but I’m a bit curious nonetheless.

They’re stored as properties, so there’s no real difference in efficiency. The main differences are:

  • Relations are easy to refer to in source code: now the player loves Big Brother, or if a man (called S) in Redmond loves a company (called M). You can get some of this functionality for properties by defining a verb, as you noted, but I’m not sure you can get all of it.

  • There are standard mechanisms that work for all relations, like the RELATIONS verb, pathfinding, and Dynamic Objects’ preserving relations option.

2 Likes