Gonçalo Fidalgo’s review published on Letterboxd:
I genuinely don’t understand how M.Night Shyamalan still has studios available for budgeting his movies because holy mother of god this was dumb and terribly written.
Few movies recently made my eye roll more than five times and this was one of them. Trap’s screenplay and general writing is abominable and incredibly dumb. I’ve never seen so much conveniences, plot armor, dumb cops and illogical decisions in my entire life. This movie is like a Swiss cheese filled with plot holes - and another proof that Shyamalan is a terrible writer that’s somehow known for “plot-twists” that aren’t even remotely great.
Here, the twist is revealed way too early and the concept is somewhat interesting enough but, again, it’s never fully developed.
There’s some suspenseful sequences but they’re just too muddled and ultimately almost all culminate in a dumb escape or a terrible plot armor moment.
The directing, overall, is pretty mediocre. Shyamalan’s poor attempt of a thriller is so badly paced and so cheap looking that I just can’t comprehend how someone likes this guy.
The performances are mediocre as well. Josh Hartnett tries his best but a poor script doesn’t help him at all. His dialogue comes out incredibly forced. Ariel Donoghue and Saleka Shyamalan are fine mas but generally disposable. No one really shines in this poor thriller.
I don’t really have something to praise here, in all honesty. As I said, some scenes are suspenseful but overall it’s an awful thriller. Shyamalan makes a decent movie once in 15 years and then he proceeds to write and direct stinkers after stinkers. Trap is a waste of time and an insult to the audience intelligence.
Another M.Night Shyamalan disaster.
3/10
Gonçalo 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_8c21f773-58fc-4328-9e46-2b908c539e5a" }; 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-8c21f773-58fc-4328-9e46-2b908c539e5a'; 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-8c21f773-58fc-4328-9e46-2b908c539e5a'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-8c21f773-58fc-4328-9e46-2b908c539e5a'));
' ].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_53d83e0a-e5c8-40dd-8586-ac82ee4ea7c7" }; 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-53d83e0a-e5c8-40dd-8586-ac82ee4ea7c7'; 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-53d83e0a-e5c8-40dd-8586-ac82ee4ea7c7'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-53d83e0a-e5c8-40dd-8586-ac82ee4ea7c7'));