A method of balancing a user's input to an interactive
computer program with the program's output is obtained by continually measuring the difference between the user's input and the program's output and adjusting one or more parameters of the program's output so that the difference from the user's performance is progressively reduced. The adjustment may be obtained dynamically through
negative feedback dampening of the measured difference (
delta) between
user input and program output, and / or by selection of predetermined apposite values for program output corresponding to the measurement of
user input. The adjustment results in dynamic generation and / or selection of premodeled segments of interactive output in closer balance with
user input. The adjustment method can be applied to video games, educational games, productivity programs, training programs,
biofeedback programs, entertainment programs, and other interactive programs. In video games, the adjustment method results in balancing user performance with game difficulty for a more engaging game experience. It can also enable embedded advertising to be triggered when the user is in an optimum state of engagement. The adjustment method may be performed by projecting future trends of user performance, selecting predetermined or dynamically determined levels of value, modifying
user control of input devices, or even modifying the program's challenges to user capability over time.