Heat

Heat

Heat is an incredible example of how to tell a story methodically and with confidence. Never, during the nearly three-hour runtime, did I feel like I wanted to check my watch or hit pause.

This is because of the way the story is written -- it's structured like a narrative should be, with slow increases in tension and stakes until the final climax and calming resolution. Mann's knowledge of how to tell this story is part of the reason it works while other crime films like Heat fail.

The shootout is one of the best shot and edited shootouts I have ever seen. You never get lost in confusion as to where everyone is or who anyone is. The scene is perfectly edited -- just fast enough to be exciting, but not so fast that it feels over-edited -- and the sound design is raw, just perfect for what the scene needed.

The only thing keeping this from a five-star film is that the family sub-plots were never really as engaging or humanizing as they were intended to be. They're not bad by any means, just sometimes distracting and unnecessary in the larger scheme of the story.

Block or Report
' ].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_f8d0b648-af12-4cbd-87c9-1e57cc97ca7e" }; 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-f8d0b648-af12-4cbd-87c9-1e57cc97ca7e'; 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-f8d0b648-af12-4cbd-87c9-1e57cc97ca7e'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-f8d0b648-af12-4cbd-87c9-1e57cc97ca7e'));
' ].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_d378bd72-0953-47dc-a5ea-c2b97b681f51" }; 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-d378bd72-0953-47dc-a5ea-c2b97b681f51'; 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-d378bd72-0953-47dc-a5ea-c2b97b681f51'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-d378bd72-0953-47dc-a5ea-c2b97b681f51'));