Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
The ModFather
retired moderator
Original Poster
#1 Old 15th Nov 2008 at 11:09 AM
Default Prim 0x001A: "Relationship" = ???
Will someone please provide me information about the meaning and usage of this primitive? What is the "relationship" (long- and short-term) it checks or sets?
I see that it is used not only to check/set the relationship between sims, but also between a sim and an object

Example: BHAV 0x2041 from BookcaseGlobals ("Read Novel"), lines 8 and 9, sets the STR between the novel and the sim that is about to read it to a given value (literal 1 or 0)...

I've finally started my Journal. Information only, no questions.

My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)


I *DON'T* accept requests, sorry.
Advertisement
One horse disagreer of the Apocalypse
#2 Old 15th Nov 2008 at 11:36 AM
Well the relationship to objects is used (or was meant to be used) in cases where a sim is habituated to using an object, like their own bed. It was meant to increase the attractiveness of that bed. It took TwoJeffs to actually implement it

I guess the relationship between the novel and the sim is so the sim can remember whether he read that novel, or perhaps it was meant to make him pick that one to carry on reading in preference to others when he chose the option autonomously.

Other than that I only know the stuff under the operands box in SimPE - so if I want to use it I just keep bunging digits in there until it looks like it means what I want it to

You can use it for reading or writing relationship values.

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Fat Obstreperous Jerk
#3 Old 15th Nov 2008 at 12:06 PM
Relationships between sims is obvious, but relationships between objects are used for a whole host of reasons, ranging from habituation to designation. The methodogy in setting a relationship from sim-to-object is fairly well-known, but what exactly the relationship MEANS varies hugely and can only be determined by actually examining the object. Sometimes it is apparently entirely superfluous.

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
The ModFather
retired moderator
Original Poster
#4 Old 15th Nov 2008 at 12:42 PM
Thank you for the info. At the current stage, I only had to study Maxis-made BHAVs containing the Relationship opcode, but I've never attempted myself to use it. Still, knowing how things work is important to understand the many oddities of this game, and it may be useful for our creations

Perhaps in this case the game wants to "remember" that a sim has already read (recently) a novel by setting its relationship with the reader to 1; maybe it's for discussing the novel with other sims...

I've finally started my Journal. Information only, no questions.

My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)


I *DON'T* accept requests, sorry.
Retired Duck
retired moderator
#5 Old 15th Nov 2008 at 11:07 PM
FYI from the "Differences" documentation (most of which I don't actually believe is the case, but which may explain the intention):

Quote:
Object Ownership

In sims1.x a sim could have a preference for certain objects over others, like sleeping on one side of the bed or the other. This was handled in edith by maintaining a relationship between the sim and the object. This system has been expanded upon in Sims 2 with much of work being handled automatically in C code. Objects have a flag in their object definition that indicates whether sims can own the object. The flag is settable via a check box in the catalog info dialog. Further, there is a check box in the interaction table dialog that indicates whether the interaction should affect the ownership of the object. If this box is checked, then each time a sim performs this interaction on the object the var 1 of the object's relationship to the sim is incremented. The relationship score for ownership is weighted into the ads score in find best action so that sims will show a preference for one object over another. Note that this relationship entry is different from other relationships in that it is stored using the Sim's neighbor ID rather than the object ID. When a sim moves out, the sim takes with it all the objects from the lot for which the sim has the highest relationship score. In the case of a tie, the object stays with the house. There is also an operator in the Set To Next primitive that will let you iterate through all the neighbor ids that have a relationship with the object greater than a certain value.
The ModFather
retired moderator
Original Poster
#6 Old 16th Nov 2008 at 2:37 AM
That's extremely interesting and definitely makes sense! Thank you very much.
BTW, I must have read some parts of this documentation (long time ago), but I can't find anything in my archives: what is it, and where did you get it? And most of all: can I have it? Pretty pleeeeease? *makes puppy eyes* -

I've finally started my Journal. Information only, no questions.

My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)


I *DON'T* accept requests, sorry.
Retired Duck
retired moderator
#7 Old 16th Nov 2008 at 5:27 AM
Check your email.
Fat Obstreperous Jerk
#8 Old 16th Nov 2008 at 5:53 AM
Quote: Originally posted by Echo
FYI from the "Differences" documentation (most of which I don't actually believe is the case, but which may explain the intention):
All of this information is almost entirely and uniformly false. There is no object removal, because all this predates the inventory system, so sims cannot take objects anywhere (and objects would lose their tracking records once inventoried anyway, because it would erase the object instance and object instances do not have any globally unique IDs by which such behavior can be tracked). There is no such thing as a "catalog info dialog".

What's more, the usage of sim-to-object relationship does not match this pattern at ALL. For instance, sims have a "relationship" to their work cars, but this relationship is more associative than habituative, as the car is subsequently deinstantiated and all such information is lost. In AL, witch sims also develop a relationship to cauldrons: This relationship is used to determine, not habituation or ownership, but what item is under construction and the progress of that construction.

In short, relationships are used for all sorts of odd, esoteric purposes, and the information in said article snippet is 100% pure USDA Grade A BS.

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
One horse disagreer of the Apocalypse
#9 Old 16th Nov 2008 at 9:14 AM
What tends to happen is that by the time the game goes into production, the design team have been moved to another project, and the developers can find their spec shifting which leaves them having to think up implementations the designers did not forsee. It seems to me, one team will do a couple of EPs at more or less the same time, and then be moved on. Then when it's time for the next EP to begin, they gather a team that has just finished something else. Each team has people who specialise or prefer different implementations. Hence we had the persondata array holding status on skills etc with team 1. Shift to tokens for team 2 for example.

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Fat Obstreperous Jerk
#10 Old 16th Nov 2008 at 12:00 PM
Yes, but we're not talking about an implementation that is used partially somewhere and then abandoned. We're talking about something that is entirely, 100%, uniformly and without exception consistently false. Given that it babbles complete and utter nonsense about things that show no evidence of having EVER existed, like "catalog info dialogs", it is reasonable to believe that this article is simply a complete and utter fabrication for malicious propaganda purposes by either EAxis (for disinformation?) or third parties.

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
Retired Duck
retired moderator
#11 Old 16th Nov 2008 at 12:15 PM
Actually, I think "catalog info dialogs" are the Edith view of the catalog fields in the objd.
Fat Obstreperous Jerk
#12 Old 16th Nov 2008 at 12:42 PM
There is no evidence to support that, but if you take that interpretation, then the only logical conclusion is that the offending article is thus a piece of malicious disinformation perpetuated by EAxis.

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
The ModFather
retired moderator
Original Poster
#13 Old 16th Nov 2008 at 3:48 PM
JM, while I agree with Inge about the frequent (and silly) changeovers in the developing teams, and the subsequent coding methods being modified or abandoned, I think you have a neat inclination to drama True, the article quoted by Echo can't be a valid explanation about how things work in the current game version, but surely enough some parts of it seem to have been implemented in the current game.
For example, I'm quite sure that the flag "that indicates whether sims can own the object" is the "Object ownable flags" in the OBJD; and in the BedGlobals there are several references to the Relationship. For example:
  • 0x201B "Bed Rel. - Adjust Ads - Sleep" (used in the Sleep interaction tests): it checks the UI Flags/Ownership Value and increases the advertised Energy accordingly;
  • 0x209D "Bed Rel. - Adjust Ads - Relax": similar to 0x201B, but modifies the advertised Comfort;
  • 0x2017 "Bed Rel. - Inc" (used during various interactions): it increases the "STR" between the sim and the bed by 5 points at each use, with a max of 20 points.
  • 0x2015 "Bed Rel. - Decrease all" (executed within the Main by all the beds): decreases the STR between the bed and each sim by 2 points each 24 hours.

Of course, you are right when you say that deleting an object (or putting it in the inventory) erases all the relationship values.

I've finally started my Journal. Information only, no questions.

My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)


I *DON'T* accept requests, sorry.
Fat Obstreperous Jerk
#14 Old 16th Nov 2008 at 9:59 PM
Quote: Originally posted by Numenor
JM, while I agree with Inge about the frequent (and silly) changeovers in the developing teams, and the subsequent coding methods being modified or abandoned, I think you have a neat inclination to drama
No, I just know that when there are two explanations, a negative explanation that fits, and an official explanation that does not, the negative explanation is the correct one.

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
Back to top