Science fiction doesn't always like engaging with death. Source Code director Duncan Jones doesn't have that problem. Jake Gyllenhall's Coulter, who seems at first like a drone pilot back from Afghanistan, finds himself suddenly on a double-decker train to Chicago, and seemingly in someone else's body. Coulter struggles to find a bomb on the train in a series of jumps into the past where he relives the same eight minutes over and over. But he's also trying to discover where he is in a bald present full of military technicians who don't feel like answering any of his questions.
Jumping back and forth between sci-fi [spoilers] and the hazy surreality of dream, Source Code feels a bit like an acting exercise, constantly improvising a new version of the same scene. A lot of its essential parts involve people who won't talk about the past, but unlike Jones' previous Moon this makes getting into the characters a bit more difficult. Towards the end though, the film makes a brief crash through the territory of Alejandro González Iñárritu's crushing Biutiful, and brushes quite well through the same themes of fathers and children, imminent death and sober reflections on mortality.
Reliving the same moment over and over has been played out many times, most nimbly in Star Trek and Groundhog Day. Films like the Matrix used to be consumed in piercing these apparently illusionary worlds and escaping closer to the real world, but since September 11 they've become more interested in the dream and dreamer, and less interested in the waking up. The zeitgeist is beginning to find reality unappealing to return to. Source Code owes a lot to the Matrix (one promo story [spoilers] in particular), and its biggest strength is its biggest weakness: uncertain ground under what is real, and what is dream.