I have ordered enough parts for 10 nodes, though I don't know if I'll actually make that many. I think I'll start with just three or four and if things work well I'll make more. The controller is an ATtiny85. The sensors at this point are a thermistor and a photoresistor and I have one more open pin on the controller in case I want to add something else.
I've also begun coding. I got the basic stuff mostly out of the way, like the IR communication. The 38kHz carrier wave is made by a timer and the rest is bit banged with timing similar to the NEC remote control protocol. I doubt any other remote controlled stuff in the room will react, but I may have some trouble turning on the TV.
Right now I'm figuring out the social interactions. Specifically, I'm thinking about the parameters and how they affect and are affected by interactions. Nothing is completely set yet, but I'm thinking of the following. I'm sorry if this looks like an indecipherable wall of text. Things will be better described once they are set.
*Note: exchange means exchanging environmental data. Propose means to propose friendship or enemyship, default relationship is neutral.
Personal parameters: confidence, honesty, desire to socialize
Parameters concerning each of the other nodes: affection, trust, perceived social status, relationship
Parameters affect conversation in the following ways.
- confidence: higher values mean more exchanges are about self and higher chance to propose.
- honesty: lower values mean higher chance and magnitude of sending false self data
- desire: higher values mean more frequent exchanges and lower chance to ignore
- affection: more frequent exchanges and less chance to ignore nodes with high affection. When affection is high enough, there's a chance to propose/accept friendship. When low, same for enemy proposals.
- trust: lower values mean more frequent exchanges with 3rd parties about this node(gossip). Higher values mean lower chance of sending false data to this node.
- status: still working on this, but this is where environmental input is important
Parameters are affected by conversation in the following ways.
- affection: increased by successful exchanges and when enemy proposal is rejected
decreased by ignored exchanges, upon discovering false data and when friendship proposal is rejected
- trust: increased by verifying true data with 3rd party exchanges
decreased by discovering false data with 3rd party exchanges
- status: increased when other's environmental parameters are closer to ideal and when others are in friendly relationships
decreased by opposite of above
- relationship: can be neutral, enemy, or friend. It is changed by accepting proposals.
Parameters affected by environment:
- confidence: related to light intensity (wealth)
- honesty: related to temperature (comfort)
I have thought of writing up a set of equations intertwining everything(imagine a far less elegant set of Maxwell's equations), but there is nothing yet.