Repairing Games at Runtime or, How We Learned to Stop Worrying and Love Emergence

Games must be emergent, constantly surprising players by the possibilities they offer. However, emergence creates unpredictability, preventing developers from verifying that their games won't lead to undesirable states. Worse still, even when a bug is found, finding out how it occurred can be a significant challenge. The authors present Mayet, a system for monitoring software at runtime, and use it to repair a game as it executes. This capability lets developers focus on creating excellent gaming experiences and not worry about edge cases and untraceable bugs.