ADVERTISEMENT

'Trese' fosters Philippine folklore to millennial generation

Published Jun 12, 2021 06:30 pm
'Trese' (Netflix)

The Philippines has always been a country with a love affair with comic books. Yes, those alchemical amalgamations of the literary and graphic arts, those portals of word and line that pull you, the reader into a world of adventure, comedy, romance, and horror, have been a part of the growing up years of many a Filipino generation.


Our talents are known globally, having contributed their imaginations to foreign creations. But our local creations have largely remained as such. Local. Until recently that is, when NETFLIX unveiled its six-episode series based on "Trese," the best-selling graphic novel by Budjette Tan and Kajo Baldisimo.


The story follows the exploits of Alexandra Trese, a supernatural detective of sorts who consults with Manila police on cases that go beyond what takes place in the physical realm.

Within the Philippine comics scene, the names of Tan and Baldisimo are spoken with an air of reverence. It is easy to see why. "Trese" is often held up as a standard or measure for other creators to match, however it wasn’t always smooth sailing for the two creators.


When asked why they decided to pursue a horror book in lieu of more traditional and popular comic book fare such as superheroes, Tan admits that they had been there and not quite done that.

“Because me and Kajo already did our superhero stuff and it flopped,” laughs Tan. “Me and Kajo, separately, did a bunch of other comics that didn’t work. It was fun to do. But eventually I realize that I wanted to tell ghost stories and I wanted to tell scary stories because that’s what I grew up with.”


Those ghost stories became a hit, and attracted the attention of executive producer Tanya Yuson. While in Manila looking for material to adapt into a series or film, a friend recommended she check out the graphic novel. She picked up a copy from National Bookstore and was blown away. “I start reading it and I think ok, this is amazing," she says.

An industry vet who has worked in big-name companies in Los Angeles and New York, she knew a good thing when she saw it. “I reached out to Budgette, like a cold call, like this random person texting him… and he agreed to meet with me.” From there it became a matter of pitching the idea to various local and international studios, until eventually the project was picked up and green-lit by Netflix.


In May 2018, Filipino-American Jay Oliva was brought on board to direct. Jay, who had done work story boarding and directing such animated shows and films as Justice League: Dark, Young Justice, and Teen Titans, was excited to be involved.

“What attracted me most was really doing a story that’s set in the Philippines, set in where my family is from. My parents grew up in the province, in Bicol. So they would tell me some crazy stories, back then, and I would just imagine it. To me, it was almost like my career was building up to this moment," Jay admits.

“I had done so many adaptations of different things, but I had to do these different, you know, superheroes and get to this level in my career in order for me to tackle something as complicated as 'Trese' and do it correctly.”


The love for the craft and the source material that the creators have is evident in the final product. "Trese" brings Philippine mythology and culture to an international audience, in a way that is fresh and not heavy-handed. But given the vast pantheon of mythical creatures, which are their favorites?


“I kind of like Maria Makiling.” Tanya says. “An Engkanto living in the mountains that’s her home and basically when you go through, it’s her territory. That to me is quite fascinating.”


For Kajo, his favourite is the Tikbalang. “They’re not entirely evil, and they’re not really good," he laughs.


For Budjette, his favourite is a bit more obscure. “We have an Engkanto called the Dalakitnon," he explains. “The Dalakitnon supposedly live in trees and have these big ships made out of leaves.” He found the image of it so striking that they would be one of those things he’d want to write about someday.


For Jay, his favorite is undoubtedly the manananggal. “When we were figuring out these stories, we need a whole episode to explain this because people are going to be ‘What the hell is this?’” They decided to save the manananggal for a possible second season. “It's so out there, but I love it!”


So will there be more of "Trese" on Netflix? There is nothing solid now, but according to Jay, they have everything planned out, which is a good thing for those who feel the six episodes are not nearly enough. “But think of this,” he says, by way of consolation. “Castlevania only started off as four episodes. After it aired, it got an order of twenty-something episodes. So I’m hoping we get a nice order after this.”


All six episodes of "Trese" are currently available on Netflix.

Related Tags

Trese Netflix
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.