David James 🍩’s review published on Letterboxd:
I called the recent Planet of the Apes trilogy the most consistent, well-made blockbuster trilogy of the last couple decades, and I stand by that assessment. They're thematically rich, character focused adventure movies that, especially with the two Matt Reeves directed sequels, have a sense of subtlety, attention to detail, and all around artistry that's missing from almost anything made on this level of budget today. The special effects reached a point of photorealism where it's easy to buy the apes as characters, leaving us free to absorb the story, empathize with the animals more than most of the human characters, and hang on tight as they attempt and fail and try again to jump-start a better civilization than the one they're supplanting. Like all Apes movies, they're ripe with allegories for humanity, the way our social structures are built upon the ruins of millennia of brutality and conflict. The apes are us, in both the literal scientific and metaphorical senses. This is the story of how we got where we are, right? The trilogy portrayed the sunset of humankind and the dawn of a new dominant species, combining an elegiac look in the mirror as much as a pinprick of hope in the darkness. Maybe they could learn from our mistakes and build a better, fairer, freer future? It's the question we ask ourselves all the time when we think about the generations to come after we're gone, and a rip-roaring apocalyptic ape adventure is a great vehicle to explore it.
I admit that I was annoyed when I heard they were continuing the story with a new creative team behind the camera, but it turns out this is a fine next step, picking up hundreds of years later and thus a few steps down the path of civilization-building. It's a fertile setting for exploring the power of mythology, the way victors always write history, and the precariousness of society in an age when communication and cooperation between distinct tribes was just beginning, extremely rare, and fraught with constant danger. As someone with a moderate interest in anthropology, the pre-history days of the human race are a fascinating period to learn about. So it's pretty cool to me that, despite a step down in aesthetic and thematic precision and a noticeably less sharp script, Kingdom continues the reboot series' focus on genuine ideas without losing sense of character and up-close empathy. This movie is a bit lumpy, a bit too long, and feels more like the gigantic blockbuster that it is - in contrast to the sensitivity and depth of the prior entries that belied their massive budget origins - but it's just as ambitious, and even brings something new to the table. There's a sense of lighthearted fun at play here, a lifting of the inherent sadness of the old trilogy, an opening for more optimism and color, and even some room for silliness. If they're gonna keep making these movies, they could do a lot worse than maintaining this fine balance of pure amusement and food for thought.
David 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_8b6ff0df-0f8d-42db-8844-27eca45efd4a" }; 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-8b6ff0df-0f8d-42db-8844-27eca45efd4a'; 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-8b6ff0df-0f8d-42db-8844-27eca45efd4a'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-8b6ff0df-0f8d-42db-8844-27eca45efd4a'));
' ].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_9f155fbe-6f43-40a4-9119-ce6c08c94ab5" }; 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-9f155fbe-6f43-40a4-9119-ce6c08c94ab5'; 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-9f155fbe-6f43-40a4-9119-ce6c08c94ab5'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-9f155fbe-6f43-40a4-9119-ce6c08c94ab5'));