ADVERTISEMENT

A 'Homestuck' animated pilot is in the works

How the popular webcomic dominated internet circles

Published Aug 11, 2025 02:35 pm

At A Glance

  • A young man stands in his bedroom. It just so happens that today, the 13th of April, is this young man's birthday. Though it was thirteen years ago he was given life, it is only today he will be given a name!
BROUGHT TO LIFE John Egbert and Dave Strider are shown in the animated pilot's trailer
BROUGHT TO LIFE John Egbert and Dave Strider are shown in the animated pilot's trailer
Iconic webcomic “Homestuck” is set to make waves once more, this time through an animated pilot, 16 years after its debut online.
Created by American artist Andrew Hussie in 2009, "Homestuck" was the fourth addition to his online webcomic series known as “MS Paint Adventures.” It ran from 2009 to 2016 and spans over 8,000 pages, containing an estimated 1.2 million words. The story centers around John Egbert and his friends (Dave Strider, Rose Lalonde, and Jade Harley), who accidentally cause the end of the world after installing a video game.
As intimidating as the page and word count may sound, it didn’t stop much of its passionate fanbase from reading through every bit of it. The webcomic’s format was unusual for its time, often using animated images and accompanying it with walls of text akin to early internet chat logs. Characters are distinguished through the different typing quirks and font colors. At its peak, the website hosting the webcomic would have millions of visitors to read each update.
Over the years, the webcomic’s popularity quieted down since its ending, surviving mostly through passionate fans who continued spreading the word to future readers. It seems now, though, the work of fans holding out has finally paid off, as a new animated pilot was announced to be in the works. SpindleRoo, an Australian branch of the US-based SpindleRock animation studios, will be taking on the pilot. SpindleRock, under the helm of Vivienne "VivziePop" Medrano, is known for notable animated series like “Helluva Boss” and “Hazbin Hotel.” Toby Fox of “Undertale” and “Deltarune” fame is set to voice John for the pilot. One alarming bit about the announcement, however, is that it comes directly after issues regarding the creator’s legal tussles with a fan-collected archive of the webcomic went viral on X (formerly Twitter). As of writing, visiting the “Homestuck” website also leads to a broken website.
“Homestuck’s” influence has also been notable in the local sphere, mostly through the formation of the now-disbanded Homestuck Philippines (HSPH) group. In its heyday, the Facebook group had over 2,000 members and was known for its mini gatherings and formal events celebrating everyone’s love for the webcomic. Filipino-American actor Dante Basco was also a notable fan of the series, hosting an impromptu meetup once with local fans. A character named Rufioh Nitram, largely inspired by Dante’s appearance in 1991’s “Hook,” was created in his honor.

Related Tags

Arts and Culture Homestruck webcomic
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.