Has Duncan Jones already sold out? It's hard to say, but Source Code (**1/2 out of four), his sophomore effort as director, can only be considered a disappointment given his knock-it-out-of-the-park debut. 2009's Moon, which missed my 10 Best list that year by one spot, was a dazzling achievement, the sort of heady sci-fi extravaganza one would expect from the son of David Bowie. Source Code is far more mainstream — a thriller designed to give cheer to the weekend multiplex crowds. That's not meant as a knock — after all, Inception was a big-budget project from a major studio, and we see how that one turned out — and Jones shows that he can handle A-list actors and big-screen action without breaking a sweat. Still, Moon proved that his skills might be better suited to less traditional fare, and he should leave stuff like Source Code to such filmmakers as Joe Carnahan or the brothers Scott.
Or perhaps I'm just overly bitter because Source Code, overall a highly entertaining movie, concludes with what will doubtless remain one of the worst endings of the year. (No spoilers here.) Before we get to this boneheaded section of the film, we're thrust from the start into the gimmicky setup. Colter Stevens (Jake Gyllenhaal), a soldier who had been stationed in Afghanistan, finds that he's now being utilized in an experiment that allows him to occupy the body of one Sean Fentress, who's about to be killed, along with all the other passengers, by a bomb planted on a Chicago commuter train. Colter's mission is to use those last eight minutes in Sean's body to ferret out the killer's identity and thereby prevent any future attacks. As explained by his military contact (Vera Farmiga) and the experiment's creator (Jeffrey Wright), he will keep being sent back to those eight minutes until he acquires the knowledge being sought.
It's a Groundhog Day scenario mined for tension rather than laughs, and while it's not that difficult to ID the assassin, the fun comes in watching Colter repeatedly interact with the other commuters, which include Sean's sweet friend Christina (Michelle Monaghan), and use knowledge from previous "trips" to inform the decisions he makes on subsequent jumps. There's really only one way for all this to end, but scripter Ben Ripley, believe it or not, jerry-rigs his own story line by coming up with a conclusion that's illogical, infuriating and impossible to defend. It provides Source Code with a sour coda that cripples an otherwise sweet ride.