Jack Moulton’s review published on Letterboxd:
The worst MCU film since the first Thor. Yes, they both make The Dark World look good.
I don't understand the people complaining about the MCU becoming too woke just because of a few offhand and easily-editable queer references when the main premise of the movie is so deeply conservative—the heroes have to 'save the children' from a villain who wants to kill God/s. Talk about catering to bonehead middle QAmerica.
Christian Bale almost tricks me into thinking it's a better movie, he's aptly sinister. Everyone else is squarely checked out. Thor talking to his hammer/axe is just weird, and not in a good way. Even when you're taking this on the surface, the MCU style has simply gone stale, and that's even forgiving the unvarnished VFX.
If we're still going to call these tentpoles 'content' then we still deserve better fucking content.
(Not that I think Avatar: Way of Water will be a particularly big cultural deal or anything, but I do think it'll bring back a craving for movies to take themselves seriously again, even if they insist on still being big and dumb.)
' ].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_18e8d2ff-3b08-45a8-9ac2-7d4b2632c3ca" }; 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-18e8d2ff-3b08-45a8-9ac2-7d4b2632c3ca'; 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-18e8d2ff-3b08-45a8-9ac2-7d4b2632c3ca'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-18e8d2ff-3b08-45a8-9ac2-7d4b2632c3ca'));
' ].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_cc6ac08a-697f-4ab6-bcca-5d3be26fb5a9" }; 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-cc6ac08a-697f-4ab6-bcca-5d3be26fb5a9'; 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-cc6ac08a-697f-4ab6-bcca-5d3be26fb5a9'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-cc6ac08a-697f-4ab6-bcca-5d3be26fb5a9'));