ADVERTISEMENT

Celebrating 20 years of AVGN

How James Rolfe took the Internet by storm

Published Apr 8, 2026 09:03 am
HAPPY 20 YEARS James Rolfe as the Angry Video Game Nerd (Screengrab from Cinemassacre YouTube)
HAPPY 20 YEARS James Rolfe as the Angry Video Game Nerd (Screengrab from Cinemassacre YouTube)
He's gonna take you back to the past, and remind you why some games from your childhood might not be as good as you remember.
James Rolfe, better known online for his YouTube persona as the Angry Video Game Nerd, is celebrating 20 years since his first video was uploaded on the video website. "Castlevania II: Simon's Quest (NES)" was first uploaded online on April 8, 2006. It centered around James' feelings about the Nintendo Entertainment System title, pointing out how ridiculously difficult the game can be sometimes. Initially, the video was just meant to be shared among friends. One of James' friends, Mike Matei, suggested he upload the videos online under the persona of Angry Nintendo Nerd. This name would later change to what we know him as today to avoid legal trouble with the gaming company.
WHERE IT ALL STARTED James' first video is a critique of 'Castlevania II Simon's Quest' for the NES (Art by Nintendo)
WHERE IT ALL STARTED James' first video is a critique of 'Castlevania II Simon's Quest' for the NES (Art by Nintendo)
Since his first video, James' channel has grown to become a mainstay among Internet pop culture. Under the name Cinemassacre, his channel has since amassed nearly four million followers. To this day, he uploads videos as the Nerd, though he also has other videos centered around movies. Among his most popular side series is "Monster Madness," where he discusses horror films every October. He frequently collaborates with YouTuber critics like Doug Walker (Nostalgia Critic), Scott Wozniak (Scott the Wozz), and sometimes even has big names guest on his series like Macaulay Culkin. 
WHEN WORLDS COLLIDE Macaulay Culkin and James review bad 'Home Alone' video games for a Christmas special in 2018 (Screengrabbed from Cinemassacre YouTube)
WHEN WORLDS COLLIDE Macaulay Culkin and James review bad 'Home Alone' video games for a Christmas special in 2018 (Screengrabbed from Cinemassacre YouTube)
James has also dabbled in other media, producing his very own movie," Angry Video Game Nerd: The Movie,"  back in 2014. The film centers around his character dealing with a sequel to what many consider "the worst video game of all time," the Atari 2600's "ET." He has also made appearances in various documentaries on film and video games, as well as having a brief cameo on Adult Swim's "Smiling Friends." 
To celebrate his 20th anniversary on the channel, James has uploaded archival footage of himself from an early unreleased video from 2006. In it, he reviews the NES piano game "Miracle Piano." It's an interesting look into just how far his character has grown over the years. Comments on the video point out how certain styles still remain in his recent uploads, while others joked about how seeing it made them feel old. 

Related Tags

Arts and Culture James Rolfe Angry Video Game Nerd YouTube
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.