Duncan Jones’ second film comes to us with a wave of expectation, carrying with it the hopes that the British director can follow up his award scooping debut Moon with something better, something to cement his reputation as one of the most exciting talents of this new century.

Source Code, released on the 1st of April against Zack Snyder’s Sucker Punch, does indeed make good on the promise shown, though the film lacks the soul of Moon it is a very strong and engaging thriller with its head, if not its heart, in the right place.

Beginning with shots of a commuter train thundering towards Chicago in the early morning we see Jake Gyllenhaal’s character Colter Stevens wake with a start, confused and apparently in mid conversation with a woman opposite him whom he does not recognise. His senses are heightened and every detail of the train is noted and he tries to shake off the confusion, not helped by the woman opposite , Michelle Monaghan’s Christina, calling him Sean. Stumbling to the bathroom and to a mirror where a confused face, not his own, stares back at him his confusion is our confusion, something that isn’t helped by the sudden explosion on the train, killing all of the passengers including Christina, Colter and Sean – whoever he is.

It is then we get into the Source Code and the search for answers really begins.

In talking about the film I’ll naturally mosey into spoiler territory, but I’ll save the big spoilers for my discussion of the ending later on, I’ll warn you. But to begin with – music.

The news that scheduling conflicts would keep Clint Mansell from scoring Source Code was unfortunate for fans of the composer who did such great things for Jones’ first film, and as the titles roll over shots of the doomed train following the track towards Chicago Chris Bacon’s score is evocative of Bernard Herrmann, not least North By Northwest, whose ghost haunts this film in the beginning until it finds its feet and the story unravels. The theme of the innocent man thrust into a terrifying situation was used by Hitchcock many times, and Source Code marries the search for a train bomber with the search for the identity of Captain Colter Stevens, who finds himself not in Iraq with his helicopter squadron as expected but in a strange cockpit with unknown faces on a screen talking to him. The quest for identity is something this film shares with Moon, and at first Vera Farmiga’s unknown military officer, Goodwin, speaks very like Gerty, impassioned and to the job, only with less emotional connection to Colter, and little patience to explain what he’s doing, or what Source Code is.

When it comes the explanation for how Colter Stevens is in another body, and why he is being sent back to relive the final eight minutes of a passenger’s life on the train is given quickly, using the words ‘quantum’ and ‘parallel’ and some sort of ‘temporal afterglow’ and while the military minds behind this classified project seem certain we, like Colter, remain unconvinced. He is told that another attack is planned and the bomber probably left the train before it blew up. Eager to save lives Colter refuses to find the bomber instead wanting to get everyone off of the train and is told that what he does in the Source Code will not affect the real world – it is a projection. Then we are thrust back in time again, and with Colter Stevens, are back on the train with eight minutes to find the bomb and the bomber before the train explodes.

In his discussions with Truffaut Hitchcock defined the difference between surprise and suspense as having two men sitting at a table with a bomb hidden under it – suspense is showing the audience the bomb while the two carry on their conversation, surprise is having the bomb explode without anyone knowing it was there. Jones substitutes a fast moving train for a table and moving from the initial surprise of the train explosion the film continues on a recurring eight minutes of tangible suspense, with each return to the doomed train yielding more answers to the bomber’s identity just as each time returning to the strange Source Code environment helps Colter piece together his current reality. Thankfully the suspense is bolstered by some imaginative camerawork, doing a good and necessary job in differentiating each eight minutes, and Gyllenhaal is thoroughly compelling in the lead here.

Ben Ripley’s script does a good job of setting up the two mysteries and Jones’ solid direction allows each to remain separate until the need to bring them together arises. Seeing Jones work with another, more conventional, sci-fi premise is bracing as he brings a cohesion and engagement to the narrative with a confidence and sense of fun that elevates the film above its Twilight Zone-esque familiars, notably two in the cinema at the moment – The Adjustment Bureau and Limitless. The subplot of reconciliation with Colter’s father is genuinely moving and provide Gyllenhaal’s best moments in the film, and Jeffrey Wright as the man in charge of the Source Code is great fun, although his delivery wavers into James Earl Jones territory when his blood is up.  Monaghan does good work with a character who on the page came across as thoroughly one dimensional and at journey’s end part of the reason it works is the life she brings to the role. And yes, the dulcet tones of Chesney Hawkes make an appearance too.

The device of resetting time allows the story to build in layers rather than on a linear pathway, each return revealing another piece of the puzzle, while the real world mystery of the Source Code fades slightly and when the answers come it is an anti climax, a discussion rather than a discovery. Initially I thought this was a mistake, and the film had given up one of its mysteries too easily, but Jones knew exactly what he was doing, setting us up for the end, which is where we need to stop those who would not be spoiled except to say that Source Code is a very solid piece of work, a lot of fun with Gyllenhaal in particular giving a powerful performance. Fans of decent sci-fi will love it, fans of Moon will be intrigued to see Duncan Jones riding the Hollywood train while maintaining his own character, and it deserves to do well if for nothing else so we can see what Jones has in store for us next.

Now, the Ending. Here is a spoiler warning.

We discover that ‘narrow’ parameters for entry into the Source Code necessitates near brain death and we see that the real Colter Stevens is half a body after being ‘killed’ in action in Iraq and now he lies with his brain exposed wired up to the machine capable of throwing him back in time. Once the bomber is found and the information is gathered it is understood that Colter’s memory will be wiped and the death he seeks, once the realisation comes, will be denied him. He convinces Goodwin to throw him back on the train one last time at which point he saves the day, gets the girl and when the eight minutes are up Goodwin turns off the life support machine and time in the Source Code stops.

If the film had left us here I would have been happy in the ignorance of what happened next. The film had come to a natural conclusion in emotional and narrative terms. Instead time continues even though Colter is dead and he (Sean) and Christina get off the train and we are shown the beginnings of a very happy ending. It is like witnessing Sam Bell returning to Earth at the end of Moon, staggering his way home and embracing his confused daughter as they both cry and credits roll. But this, still is not the end.

While in his final eight minutes in the Source Code, not only getting the girl and trapping the bomber Colter phones his Dad, and there is a genuinely affecting moment here, he also sends a text to Goodwin – remembering that nothing in the Source Code affects the real world. After the happy ending described above we then see Goodwin coming into work that morning and receiving the text from Colter telling her how he averted disaster – a disaster she and the Source Code would now not be involved with. Thus the day is saved and Colter still lies wired up to the Source Code machine and may do forever more, ignorant of the truth and denied any catharsis.  I have no problem with this twist, yet felt a little cheated that we had spent so long desiring and witnessing a lost soldier and an ailing man’s escape from the Source Code prison only to have it teased and then pulled from us.

I was reminded of Brazil and the moment the grim fate of Sam Lowry is revealed – this hits so hard because the film sets up Sam Lowry as the only man opposing the huge force of the totalitarian state, and while the happy ending (which we find to be false) is unlikely when the rug is pulled from under our feet it makes complete sense and is all the more depressing for it. Perhaps it speaks to the selfless nature of Colter Stevens the soldier that he saved lives, and gave his Father the resolution he needed, but by remaining trapped in the Source Code the film’s ending felt a little uneven, whereas Brazil’s twist of the knife felt completely correct, Source Code’s felt like a stab in the dark.

Nonetheless I had a lot of fun with Source Code. Jones has made good on Moon’s potential and we see a very talented director emerging, in command of his craft and pushing his boundaries. It is relatively unusual to be excited by what a director will do next and I want this film to do well if for no other reason than to have Duncan Jones working again, and soon.