ADVERTISEMENT

A review of 'My Daughter is a Zombie'

Published Aug 27, 2025 10:39 pm
The entire zombie movie genre has undergone significant changes over the past couple of decades. In the not-so-recent past, the word “zombie” might conjure up images of partially decomposed, moaning human remains slowly trudging forth, trying to eat a living victim’s brains. Today, thanks to genre-bending movies like 28 Days Later, World War Z, and Train to Busan, the zombie genre is (pardon the pun) alive and kicking.
However, there is still some room for experimentation. Sometimes, like in the movie “My Daughter is a Zombie”, that experimentation works out for the better.
You don’t often find the words “zombie” and “family fun” in the same breath, and with good reason. Most zombie films would terrify youngsters and send chills down the spines of some adults, too. But then here comes director Pil Gam-sung’s horror comedy, which successfully injects a hefty dose of clean, kid-friendly fun into a traditionally scary genre.
Lee Jung-hwan (Jo Jung-suk) lives in Seoul with his daughter Soo-a (Choi Yuu-ri), a typical father trying to understand his daughter as she traverses her teenage years, while at the same time doing his job as a tiger trainer. Life is good, until a virus suddenly spreads and turns infected victims into rampaging zombies.
They flee to Jung-hwan’s hometown outside of Seoul to stay with Jung-hwan’s mother, but, as you guessed, Soo-a is infected and gradually turns rabid. With the help of his mother and best friend, Jung-hwan calls upon all his skills and know-how as a tiger trainer (he insists it’s only a matter of time and his tiger will be dancing) to retrain his daughter to be normal and not a danger to others while hoping for a cure.
There’s a lot of humor on many different levels, from slapstick to situational, and while at times it feels like it's pandering to the lowest common denominator, it manages to stay wholesome and just this side of brainless.
Don’t get me wrong, there is a lot of heart in the movie. I was prepared for slapstick and some laughs, with the possibility of some jump scares. But what I wasn’t expecting was a horror-comedy family-zombie movie that had something to say about parents and their children.
In an extremely exaggerated sense, Jung-hwan’s determination to save his daughter and not give up on her reflects what all parents go through, and the different stages of life with their children.
There are times when even the simplest form of connection seems impossible. The kids would rather be somewhere else or with someone else. (or in Soo-a’s case, take a large bite out of someone) You can see the frustration in Jung-hwan’s eyes and feel the weight of everything on his shoulders.
In the end, the movie proved to be a happy surprise, well worth watching. You don’t often hear this for a zombie film: bring the family to watch, as long as the kiddies aren’t too little. A well-done zombie flick that brings a fresh take on the trope of the rabbit virus-infected theme, it's funnier than it is scary, and it is more heartwarming than anything else.
"My Daughter is a Zombie" is out now in theaters nationwide.
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.