Trap

Trap

“Crispy.” ⚠️

Best Performance: Josh Hartnett
Best Scene: Jamie’s Revelation
Best Character: Cooper
Best Aspect: Hartnett’s Performance

M. Night Shyamalan boasts yet another gripping concept with Trap. A film about a serial killer and his daughter attending a concert that’s a trap to catch him is so enticing. Tension is built into the premise, the trailers looked promising and Shyamalan makes the arena look huge with numerous extras. It’s just unfortunate that this is yet another miss from him.

However, before I explain my disappointment, I have to praise Josh Hartnett’s performance. He’s directed weirdly and written inconsistently, but he makes everything work as Cooper the Butcher. From the hammy facial expressions, cringe dad moments and genuinely sinister scenes, he is thoroughly enjoyable and surprisingly hilarious at times. Additionally, his relationship with his daughter, Riley (Ariel Donoghue), is a compelling emotional hook. Riley amusingly calls her father out on his odd behavior, though when things get more serious, she really stepped up to the plate.

Besides Hartnett and Donoghue, the cast is chewed up by Shyamalan’s alien dialogue. All the side characters — the employees, cops, agents — literally speak in exposition just so Cooper can educate himself on their plans to catch him. It’s lazy and bizarre, but I admittedly laughed at how ridiculous most of the interactions were. However, this isn’t some brilliant stylistic choice that Shyamalan made. Everyone is entitled to their opinion, but I can’t take the people seriously who defend it as intentionally bad. It’s just weak dialogue and another far cry from his early work that had memorable exchanges and acting. Entertaining but not credible is perhaps the best way to put it.

It’s also very clear that this is a nepotism project. Endless scenes occur of Lady Raven (Saleka Shyamalan) — the pop star at the concert — singing while Cooper will just bob his head in the background. Of course, it’s impressive that Saleka wrote and performed all the music herself, but these scenes add no momentum to the plot. That character is clearly written by Shyamalan to showcase his daughter — nothing more, nothing less — because once she is incorporated into scenes that demand more acting, she somewhat folds.

Most unforgivably, the screenplay does no justice to the concept. What starts as a few silly plot-points to kick the thrills into motion quickly reveals a cobbled together story. From employees that let Cooper into storage rooms no questions asked, to none of the police ever questioning Cooper even though he matches the description of the killer and Cooper revealing parts of his plan for no reason, nothing that he and the other characters do make sense. Also, as the thrills progress beyond the initial premise, the film continuously strains credibility and delays the ending. I’m okay with a few lapses in logic to keep up the fun, but with so much nonsense all across the board, it really confirms Shyamalan’s announcement that this was the fastest script he ever wrote. He seems to have filmed a first draft.

Trap is a fun film with an incredible Hartnett performance, but also one that completely crumbles under the weight of endless script conveniences and contrivances. I want to root for Shyamalan and I’ll probably be excited for whatever he does next, though with the more time that passes, I feel that The Sixth Sense, Unbreakable and Signs were flukes.

“It’s a trap!”
- Admiral Ackbar

“I sense Count Dooku.”
“I sense a trap.”
“Next move?”
“Spring the trap.” 

- Anakin Skywalker and Obi-Wan Kenobi

“It’s not a cage, baby. It’s a trap.”
- Karen Nelson

“And we put the pandemic in a trap… to never see it again. Let the games begin.”
- Mark Hoffman (Costas Mandylor)

Block or Report

rylan_reviews liked these reviews

All
' ].join(''); if ( adsScript && adsScript === 'bandsintown' && adsPlatforms && ((window.isIOS && adsPlatforms.indexOf("iOS") >= 0) || (window.isAndroid && adsPlatforms.indexOf("Android") >= 0)) && adsLocations && adsMode && ( (adsMode === 'include' && adsLocations.indexOf(window.adsLocation) >= 0) || (adsMode === 'exclude' && adsLocations.indexOf(window.adsLocation) == -1) ) ) { var opts = { artist: "", song: "", adunit_id: 100005950, div_id: "cf_async_a4b45082-1b68-4138-b2c5-edd2b022f221" }; adUnit.id = opts.div_id; if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } var c=function(){cf.showAsyncAd(opts)};if(typeof window.cf !== 'undefined')c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.tunefindforfans.com/fruits/apricots.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)}; } else { adUnit.id = 'pw-a4b45082-1b68-4138-b2c5-edd2b022f221'; adUnit.className = 'pw-div -tile300x250 -alignleft -bottommargin'; adUnit.setAttribute('data-pw-' + (renderMobile ? 'mobi' : 'desk'), 'med_rect_btf'); if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } window.addEventListener('DOMContentLoaded', (event) => { adUnit.insertAdjacentHTML('afterend', kicker); window.ramp.que.push(function () { window.ramp.addTag('pw-a4b45082-1b68-4138-b2c5-edd2b022f221'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-a4b45082-1b68-4138-b2c5-edd2b022f221'));
' ].join(''); if ( adsScript && adsScript === 'bandsintown' && adsPlatforms && ((window.isIOS && adsPlatforms.indexOf("iOS") >= 0) || (window.isAndroid && adsPlatforms.indexOf("Android") >= 0)) && adsLocations && adsMode && ( (adsMode === 'include' && adsLocations.indexOf(window.adsLocation) >= 0) || (adsMode === 'exclude' && adsLocations.indexOf(window.adsLocation) == -1) ) ) { var opts = { artist: "", song: "", adunit_id: 100005950, div_id: "cf_async_938357f5-d385-4a05-94c1-c73e2ae1ff8a" }; adUnit.id = opts.div_id; if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } var c=function(){cf.showAsyncAd(opts)};if(typeof window.cf !== 'undefined')c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.tunefindforfans.com/fruits/apricots.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)}; } else { adUnit.id = 'pw-938357f5-d385-4a05-94c1-c73e2ae1ff8a'; adUnit.className = 'pw-div'; adUnit.setAttribute('data-pw-' + (renderMobile ? 'mobi' : 'desk'), 'sky_btf'); if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } window.addEventListener('DOMContentLoaded', (event) => { adUnit.insertAdjacentHTML('afterend', kicker); window.ramp.que.push(function () { window.ramp.addTag('pw-938357f5-d385-4a05-94c1-c73e2ae1ff8a'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-938357f5-d385-4a05-94c1-c73e2ae1ff8a'));