Abstract
QWOP is a popular Flash game developed by Bennet Foddy in which the user takes control of an Olympic sprinter running a 100-meter dash. Designed to force the user essentially to re-learn to walk, QWOP has gained notoriety for its difficulty due to an unintuitive control scheme and its ragdoll physics system. This master project seeks to solve QWOP using a genetic algorithm (GA), a search heuristic inspired by biological evolution through natural selection. The GA implemented here aims to solve QWOP by evolving sequences of inputs that, when looped, play the game. This particular implementation, lacking any dynamic sensory feedback with which to adjust the runner’s movements, will essentially learn to solve QWOP blind. In this way, the project may demonstrate a proof of concept for learning a robotic gait in a complex environment with very limited inputs and feedbacks. A Java-based QWOP controller program, developed by Laurent Vaucher, is used to play QWOP using input sequences produced by several different GA implementations. Stable gaits are achieved that consistently converge towards speeds comparable to those of human players.