ADVERTISEMENT

A review of 'War of the Rohirrim'

Published Dec 15, 2024 01:53 am

At A Glance

  • The War of The Rohirrim is an excellent reason for an excursion back to Middle Earth, to a time we've never had a chance to explore before.
LOTR-WOTR-T1-011_High_Res_JPEG_custom-proxy_Eagles.jpeg
A scene from 'The War of the Rohirrim'

The War of the Rohirrim showcases an unlikely alliance. On one hand, you have a narrative pulled from the world created by one of the West’s most influential authors, J. R. R. Tolkien. On the other hand, you have the guiding vision of one of Japan’s leading animation veterans, Kenji Kamiyama. The result speaks for itself: a fully realized original story, firmly planted in the world of Middle Earth but given the uniquely Eastern flair.

The tale begins in the kingdom of Rohan, about two hundred years before Bilbo Baggins finds the One Ring, the Ring of Power that will have all the peoples of Middle Earth scrambling for survival. As a tangible link to the films we all have come to love, Miranda Otto reprises her role as Eowyn, daughter of Rohan’s King Theoden, as she narrates the events of her ancestors.

Helm Hammerhand.jpeg

The story is of Hera, voiced by Gaia Wise, a Princess of Rohan, daughter of King Helm Hammerhand, himself brought to life by the formidable Brian Cox. A free spirit, Hera is more at home in the fields on an adventure than in the great halls of Edoras at court. When Lord Freca, a corrupt, malicious leader from the land of Dunlendings, proposes that his son Wulf marry Hera to strengthen their ties, both she and her father refuse.

Tolkien himself did not write much on this era, giving only a few entries in the appendices of The Lord Of The Rings. Those who have seen the films or devoured the books know of the impenetrable fortress of Helm’s Deep, named after Helm Hammerhand. But no one knows his whole story.

Hera_Horseback.jpeg

This is where things get a little dicey. It is inherently problematic when other authors expound on someone else’s material, and the original author is no longer around to check whether things are going well. In this case, however, the creators had much respect to ground their work as much as possible in Middle Earth.

Hera, Helm, and the other characters feel well-rounded and larger than life in the vein of things told to us now or long ago. You’ll find a sense of world-building and myth-building. Helm Hammerhand’s name is carried down even to the time of Aragorn, and here you get to see why.

LOTR The War of the Rohirrim.jpg

Tolkien loved his lineages, stories of family trees, and legacy, and that aspect of his work permeates this movie. So, too, does his theme of rising, finding strength in oneself, and
meeting the challenges head-on.

Being an animated film works well as a medium for telling the story and is at its best during the action scenes and one-on-one combat.
 Hera_Vs_Wulf.jpeg

This is something viewers have come to expect from anime. The animation itself is vibrant and striking, although sometimes a bit clunky, with the hand-drawn characters only sometimes fitting in well with the 3D environments or elements.

That being said, The War of The Rohirrim is an excellent reason for an excursion back to Middle Earth, to a time we’ve never had a chance to explore before.

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.