Patent Document ID: 8292742
Application ID: 12408818
Patent Flag: 1

Claim One:
1. A simulation system comprising: a plurality of player consoles configured to allow a plurality of players to provide input to the simulation system and display input received from the simulation system; a facilitator console configured to allow a facilitator to provide input to the simulation system and display input received from the simulation system; a network connection to interconnect the plurality of player consoles and the facilitator console; a server connected to the network, the server comprising: a processor in communication with the network connection; a non-transitory computer readable storage medium in communication with the processor and the network connection, the computer readable storage medium comprising: a simulation engine module executable on the processor, the simulation engine module operable to receive input from the plurality of player consoles and the facilitator console, and to generate a first simulation environment, the simulation engine module having a state corresponding to the state of the first simulation environment; a simulation data file module executable on the processor, the simulation data file module operable to read out to a first simulation data file the state of the simulation engine module, the input from the player consoles, and the input from the facilitator console; a video rendering module executable on the processor, the video rendering module operable to generate a representation of the first simulation environment that is displayable on the plurality of player consoles and the facilitator console; and a regeneration module executable on the processor, the regeneration module operable to regenerate a second simulation at a regeneration point based on the first simulation data file corresponding to the regeneration point; and wherein the regeneration module causes the simulation data file module to read out to a second simulation data file the state of the simulation engine module, the input from the player consoles, and the input from the facilitator console; and a facilitator module executable on the processor, the facilitator module configured to change the instances of objects or events during the simulation based on input received from the facilitator console.