Source Code (2011; dir. Duncan Jones) is one of those time travel films wherein the hero travels continually back into the past and triers to prevent an event from happening. In Source Code that event is the explosion of a bomb on a train where the pretty young woman that the protagonist gradually falls for is killed. There are wrinkles to this story, one in particular that changes our view of the protagonist Colter Stevens (Jake Gyllenhaal) in a significant way. This is one of those time travel films wherein the viewer must constantly suspend belief in rules of logic, reason, and science. The film never explains how the protagonist is thrust back into the past, only that it is possible, in some instances, for an a person of the present to be thrust back into the consciousness of an individual in the past who is eight minutes away from death. (If you find this plausible, then this film is a holiday for you). When Colter travels back into time, he takes over the body of a young man whom the woman is planning to marry. By the end of the film he has permanently taken over the poor man’s body and stolen his fiancée, and when the film concludes and all is easy and well with the universe, no one pauses to think about him. He’s the real victim.
Source Code is a puzzle. As we return repeatedly to the past, we gradually gather clues about the bomber’s identity, and about the bomb he has planted. We gradually gather information about our hero. Time travel as a way of ordering the plot gradually becomes tedious, and only our interest in seeing how the pieces of the puzzle fall into place keeps us holding on.