Source Code, director Duncan Jones’ follow-up to his much more ambitious sci-fi head trip Moon, begins with a grabber of an opener: An American soldier named Colter Stevens (Jake Gyllenhaal), whose last memory consists of being shot down while in combat in Afghanistan, awakens with a start aboard a Chicago commuter train. Colter is dressed like a civilian, has no clue how he got there or why pretty young Christina (Michelle Monaghan) sitting across from him is yakking his ear off and calling him “Sean,” as if they were BFFs.
Rattled, Colter excuses himself to go to the bathroom, looks in the mirror and sees a stranger’s face staring back at him. He checks his driver’s license and, sure enough, the ID is not his. Understandably bewildered — wouldn’t you be? — Colter tries to figure out what is happening when, eight minutes later, the train blows up in a spectacular fireball, killing everyone aboard.
Those first few minutes seize your attention with uncommon urgency. Too bad the movie is never that good again. If you’ve seen the trailers for Source Code, then you already know the trickery afoot. Suffice to say that Colter/Sean didn’t really die in the blast: He awakens in a strange cocoon where a government agent whose name may well be Exposition (Vera Farmiga) informs him he’s been drafted to participate in an experiment in which he can enter the last eight minutes of a person’s life undetected — no one around him will notice anything different — and his mission is to figure out which passenger on the train is carrying the bomb, then stop him before it goes off.
The assignment requires Colter to return again and again to the train, reliving those fateful eight minutes like Bill Murray in Groundhog Day, although the tone is the opposite of comedic. For a while, Colter’s attempts to unmask the bomber prove exciting: He’s free to do anything he wants, since the device is going to go off — and keep going off — every few minutes. But with each failed attempt, the terrorists get one step closer to carrying out their ultimate plan, which is to detonate another bomb in the middle of downtown Chicago. He fails a lot.
Gyllenhaal, who looked uncomfortable and out of place in Prince of Persia: Sands of Time, is infinitely more likable as the Jimmy Stewart-ish hero who must figure out a way to prevent the unthinkable (some of his tactics, born of desperation, result in beating up a lot of innocent people). But a sense of rote inevitably creeps into the movie, because you can watch a character try to accomplish the same thing only so many times. The script by Ben Ripley doesn’t come up with enough obstacles to throw in the hero’s path, and his budding romance with the doomed Christina feels more like a studio mandate than an organic development.
Part of what made Moon such an auspicious debut was the way in which Jones refused to give the audience any of the usual bearings. That movie had to be figured out in the viewer’s head as it unfolded, and the finale allowed for multiple interpretations. Not so much with Source Code, which seems to end at least three times before finally reaching the most predictable and sentimental of all possible conclusions. The film is never exactly boring, thanks to Gyllenhaal’s tireless performance, but its time-travel paradoxes will seem a lot more intriguing when you’re playing them over in your head than while you’re watching them.
Cast: Jake Gyllenhaal, Michelle Monaghan, Vera Farmiga, Jeffrey Wright.
Director: Duncan Jones.
Screenwriter: Ben Ripley.
Producers: Mark Gordon, Philippe Rousselet, Jordan Wynn.
A Summit Entertainment release. Running time: 93 minutes. Vulgar language, repeated depictions of terrorist attacks, adult themes. Opens Friday April 1 at area theaters