ADVERTISEMENT

Daddy Gru, Daddy Gru: A review of 'Despicable Me 4'

Published Jun 30, 2024 06:56 am

At A Glance

  • It's seven years since Despicable Me 3 hit the screens in 2017.
Screenshot 2024-06-30 at 2.54.01 PM.png
A review of 'Despicable 4'

Illumination Entertainment was behind the big animation hit of last year, the Super Mario Bros Movie; and 2024 sees them going back to the franchise that helped establish their name. It’s seven years since Despicable Me 3 hit the screens in 2017. The franchise kicked off in 2010, with the first sequel in 2013. Mind you, the Gru character did appear in Minions: The Rise of Gru in 2022, so it’s not like he’s been absent since 2017. 

Chris Renaud directs, and it’s good to have the whole gang back - Gru (Steve Carrell), his wife Lucy (Kristen Wiig), their three adopted girls Margo, Edith, and Agnes, and now, there’s a baby boy, Gru Jr. Yes, while they’ve been away, Gru and Lucy have been busy in the bedroom. That’s not a scene I want playing in my head - it’s like imagining Shrek and Fiona. But yes, it would seem our favorite animation characters also enjoy sex and end up procreating.

The supervillain in this installment is Maxime le Mal (Will Ferrell), with his cohort Valentina (Sofia Vergara). Maxime and Gru go back a long way. They were enrolled together in Villainy Academy, and this is a narrative strand that’s been given a lot of attention. When the Gru family has to go into hiding to keep the family safe from harm, we meet their Mayflower neighbors, the Prescotts (Stephen Colbert and Chloe Fineman), and their daughter Poppy (Joey King). Poppy becomes the most interesting of the new characters in this film. And I’ll leave you to discover why. 

Screenshot 2024-06-30 at 2.53.38 PM.png

Pharrell Williams returns and comes up with the song, Double Life, reportedly a diss track aimed at Drake. It’s serviceable, but I doubt it’ll replicate the success of his Happy from Despicable Me 2. And that would seem to touch on what bothers me about this installment. There's nothing wrong, but it’s so formulaic and about managing expectations. There’s no longer a need to surprise or take us on an unexpected tangent. 

The formula is crystal clear: every 10 minutes or so, bring back the minions for cheap laughs from the kids in the audience, and how many times can we get back the three girls to be super-Aww and relay with the minions? I hate to say it, but Will Ferrell and Sofia Vergara are wasted in this film and so underutilized. Joey King fares better as we don’t know what to expect from Poppy and are pleasantly surprised with her contribution and her arc in the narrative. 

Mind you, don’t get me wrong. The reliance on the formula happens because it works. I don’t doubt the killing this will make at the box office next weekend. DM4 opens in cinemas here on July 3 and hits US screens in time for the July 4 weekend. It’s familiar, instantly recognizable family fare, and the children will love the time spent in the movie house—so the parents will be overjoyed.

ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.