Ryan Liddiard’s review published on Letterboxd:
If I had a dollar for every time I’ve heard someone call Osgood Perkins’s latest film Longlegs “the best serial killer procedural since The Silence of the Lambs” I would have a lot of dollars. If I then took those dollars and subtracted one for every time I said to myself while watching Longlegs “This shit ain’t got shit on The Silence of the Lambs” I would soon be in overdraft 😑
Apologies — I didn’t expect to start my review of Longlegs off with math! What I did expect, however, was a much more startling, disturbing, and terrifying film than what we got. Don’t get me wrong, Longlegs certainly has its moments (mostly when Nicolas Cage is on screen). But to say I was disappointed with the overall experience — especially given all the hype surrounding the film and its rollout — would be an understatement.
I think my biggest issue with Longlegs is the screenplay. As it is, there are a few intriguing ideas surrounded by too many forgettable ones, and as a result, the story is aimless and inconsequential. There’s clairvoyance (which is only brought up a couple of times and then never alluded to again), cryptic Satanic codes, occult symbols, hexed dolls with metal spheres for brains (that somehow hex the families they’re given to), door-to-door nuns, numerology, and all other kinds of batshit pettifoggery. I think if the plot had just been an out-and-out “FBI agent pursues devil-worshipping serial killer she has a past with” type of narrative — without all the other “noise” — the film would have been better for it.
The story is paced very poorly as well. The first hour is slow as downstairs, dotted with just enough feed to keep you at the trough. Admittedly, things do get a little more tense and engaging in the third act (Cage slips his leash and goes Full Cage and Maika Monroe starts to unravel), but any film worth its salt should at least do that. Then we hit the final scenes and they end up being more “So what?” than “So amazing!”
The scares are also few and far between for a film touted as “the second coming of horror.” The jump scares you can count on one hand and the “background surprises” — of which I’ve been hearing nothing but praise since the film’s release — were just as scarce. If anything, Longlegs scares through the pure creepiness of its characters and situations. Yet still, I feel like you would probably be more scared sitting in the pews at Sunday church service.
Thankfully, Cage and Monroe hoist the film up by its bootstraps whenever they’re in the frame. The interrogation scene, which features both of them, shows Cage at his loony best (and while I'm on Cage (pause), I loved the look of his character, even if the prosthetics were a tad too bulky). Monroe impresses in many scenes, but particularly during a visit to her superior’s home. It’s a blink-and-you’ll-miss-it kind of scene, but the way she plays both awkward and uncomfortable during it was excellent.
I might give Longlegs another chance when it hits streaming, just to make sure I’m not being too harsh. But as of now, it’s a weak 2.5/5 for me.
2024 Ranked
Ryan 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_23158dde-797a-42f2-bef0-b64453cca89b" }; 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-23158dde-797a-42f2-bef0-b64453cca89b'; 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-23158dde-797a-42f2-bef0-b64453cca89b'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-23158dde-797a-42f2-bef0-b64453cca89b'));
' ].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_70b8e562-207f-4dcd-8eba-d161783abfbc" }; 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-70b8e562-207f-4dcd-8eba-d161783abfbc'; 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-70b8e562-207f-4dcd-8eba-d161783abfbc'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-70b8e562-207f-4dcd-8eba-d161783abfbc'));