Kinetic Engine (2005-2010)

My first foray into artificial intelligence and generative systems. Specifically, using multiagents to interact, negotiate, and perform in real time.  Many of the concepts within Kinetic Engine – so named because I felt it could indefinitely generate interesting rhythms – have pervaded my systems since that time: specifically, negotiation and agent “personalities”.

A Conductor sets the tempo, and requests a specific density. Agents enter, based upon their “confidence” parameter. Agents message their current density back to the conductor, who then updates the request (more dense; less dense). Agents will continue to enter, and adjust their own density until the Conductor messages back that the requested density has been met.

Agents then “listen” to each other’s patterns, and begin to adjust their own patterns to match. Agents will message another agent, depending upon their “social” parameter, to interact, and remain in that interaction based upon their “commitment” parameter. Conductor changes in density will be responded to based upon agent’s “responsiveness” parameter.

Finally, once a groove has been achieved, an agent can disrupt the groove (by becoming more or less dense, thus forcing other agents to adjust) based upon their “mischievous” parameter.

Performing with Ajay Kapur‘s MahaDeviBot