1. A method for controlling a computer simulation, comprising: running a first computer simulation of a system based on a model of said system, said model having a plurality of state variables; receiving input data from a first user input interface, said input being representative of user interaction with said first computer simulation to change values of one or more of said state variables in a manner consistent with an interaction with the simulated system; running, contemporaneously with said first computer simulation, a second computer simulation of said system based on the same model as said first simulation, said second simulation being accelerated relative to said first simulation so as to be running at further progression than said first simulation at a current time under the assumption of no further user interaction than those represented by the input data received from the first user input interface; using said second computer simulation to output information representing expected future events in said first simulation via a second user input interface; receiving input data from the second user input interface while said first computer simulation is running and said information representing expected future events is outputted, said input data received by the second user input interface adjusting the extent to which a condition is present in said first simulation; and translating, while said first computer simulation is running, said input from said second user input interface to values for one or more state variables in said first computer simulation consistent with a description of said condition in terms of rules embodied in the model, wherein output from said first computer simulation is delivered by a first data output device, and output from said second computer simulation, including said information representing expected future events, is delivered by a second data output device.