1. A method comprising: receiving, at a computing device, inputs indicative of a user state of each user of a group of users, the received inputs comprising: sensor inputs from one or more sensors in communication with the computing device; and/or user inputs received from the users through a graphical user interface; determining, using the computing device, a collective user state for each user of the group of users based on the received inputs; determining, using the computing device, possible activities for the group of users to collectively partake in together based on the collective user states of the group of users; executing, at the computing device, one or more behaviors that evaluate the possible activities, each behavior having an objective, for each behavior: determining whether any input of the received inputs is of an input type associated with the behavior; when an input of the received inputs is of an input type associated with the behavior, incrementing an influence value with the behavior; and decrementing the influence value of the behavior after a threshold period of time, wherein when the influence value of the behavior satisfies an influence value criteria, the behavior participates in evaluating the possible activities, and when the influence value of the behavior does not satisfy the influence value criteria, the behavior does not participate in evaluating the possible activities; selecting, using the computing device, one or more activities based on the evaluations of the possible activities; and sending results including the selected one or more activities from the computing device.