<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: RAYAN B</title>
    <description>The latest articles on DEV Community by RAYAN B (@rayan_b_d0119f98b0d70824f).</description>
    <link>https://dev.to/rayan_b_d0119f98b0d70824f</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4092075%2Fecd30bde-33b7-4275-9441-a1c24b134dac.png</url>
      <title>DEV Community: RAYAN B</title>
      <link>https://dev.to/rayan_b_d0119f98b0d70824f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rayan_b_d0119f98b0d70824f"/>
    <language>en</language>
    <item>
      <title>How to Play Mega Man: Dr. Wily's Revenge Online Free — GBA/GBC/GB Emulator (No Download)</title>
      <dc:creator>RAYAN B</dc:creator>
      <pubDate>Sun, 30 Aug 2026 14:19:05 +0000</pubDate>
      <link>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-mega-man-dr-wilys-revenge-online-free-gbagbcgb-emulator-no-download-2jdk</link>
      <guid>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-mega-man-dr-wilys-revenge-online-free-gbagbcgb-emulator-no-download-2jdk</guid>
      <description>&lt;p&gt;Play &lt;strong&gt;Mega Man: Dr. Wily's Revenge&lt;/strong&gt; online for free on &lt;a href="https://www.eggermath.com/mega-man-dr-wilys-revenge/" rel="noopener noreferrer"&gt;EggerMath&lt;/a&gt; — instant browser GB emulator (mGBA WASM, 240×160), no download or signup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;→ &lt;a href="https://www.eggermath.com/mega-man-dr-wilys-revenge/" rel="noopener noreferrer"&gt;Play Mega Man: Dr. Wily's Revenge now&lt;/a&gt; — Save (F5), Load (F9), 10 slots (F7), touch controls on mobile, IndexedDB offline cache.&lt;/p&gt;

&lt;h2&gt;
  
  
  About Mega Man: Dr. Wily's Revenge
&lt;/h2&gt;

&lt;p&gt;Play Mega Man Dr. Wily's Revenge online. Battle robots across 6 stages as Mega Man. — Action · 1991 · Capcom · Mega Man series. Part of 52 games on EggerMath (GBA/GBC/GB, 11 languages, 650 pages).&lt;/p&gt;

&lt;h2&gt;
  
  
  Controls
&lt;/h2&gt;

&lt;p&gt;WASD/Arrows = D-Pad, K = A, J = B, Q = L, E = R, Enter = Start, Right Shift = Select. Mobile: on-screen D-pad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this works
&lt;/h2&gt;

&lt;p&gt;Astro static + Cloudflare Pages + mGBA WASM with COOP/COEP (SharedArrayBuffer) + MEGA CDN client-side. Source: &lt;a href="https://github.com/rayanbaig796-crypto/gba-wasm-web" rel="noopener noreferrer"&gt;gba-wasm-web&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Keywords: mega man dr wily's revenge online, play mega man gb — also gba emulator, my boy gba emulator, my boy gba emulator apk — Play free at &lt;a href="https://www.eggermath.com" rel="noopener noreferrer"&gt;eggermath.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webassembly</category>
      <category>gamedev</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Play Kirby's Dream Land Online Free — GBA/GBC/GB Emulator (No Download)</title>
      <dc:creator>RAYAN B</dc:creator>
      <pubDate>Sat, 29 Aug 2026 14:06:39 +0000</pubDate>
      <link>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-kirbys-dream-land-online-free-gbagbcgb-emulator-no-download-10g5</link>
      <guid>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-kirbys-dream-land-online-free-gbagbcgb-emulator-no-download-10g5</guid>
      <description>&lt;p&gt;Play &lt;strong&gt;Kirby's Dream Land&lt;/strong&gt; online for free on &lt;a href="https://www.eggermath.com/kirbys-dream-land/" rel="noopener noreferrer"&gt;EggerMath&lt;/a&gt; — instant browser GB emulator (mGBA WASM, 240×160), no download or signup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;→ &lt;a href="https://www.eggermath.com/kirbys-dream-land/" rel="noopener noreferrer"&gt;Play Kirby's Dream Land now&lt;/a&gt; — Save (F5), Load (F9), 10 slots (F7), touch controls on mobile, IndexedDB offline cache.&lt;/p&gt;

&lt;h2&gt;
  
  
  About Kirby's Dream Land
&lt;/h2&gt;

&lt;p&gt;Play Kirby's Dream Land online. Inhale enemies, float, and defeat King Dedede. — Platformer · 1992 · HAL Laboratory · Kirby series. Part of 52 games on EggerMath (GBA/GBC/GB, 11 languages, 650 pages).&lt;/p&gt;

&lt;h2&gt;
  
  
  Controls
&lt;/h2&gt;

&lt;p&gt;WASD/Arrows = D-Pad, K = A, J = B, Q = L, E = R, Enter = Start, Right Shift = Select. Mobile: on-screen D-pad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this works
&lt;/h2&gt;

&lt;p&gt;Astro static + Cloudflare Pages + mGBA WASM with COOP/COEP (SharedArrayBuffer) + MEGA CDN client-side. Source: &lt;a href="https://github.com/rayanbaig796-crypto/gba-wasm-web" rel="noopener noreferrer"&gt;gba-wasm-web&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Keywords: kirby's dream land online, play kirby gb — also gba emulator, my boy gba emulator, my boy gba emulator apk — Play free at &lt;a href="https://www.eggermath.com" rel="noopener noreferrer"&gt;eggermath.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webassembly</category>
      <category>gamedev</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Play Wario Land: Super Mario Land 3 Online Free — GBA/GBC/GB Emulator (No Download)</title>
      <dc:creator>RAYAN B</dc:creator>
      <pubDate>Fri, 28 Aug 2026 20:34:58 +0000</pubDate>
      <link>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-wario-land-super-mario-land-3-online-free-gbagbcgb-emulator-no-download-3552</link>
      <guid>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-wario-land-super-mario-land-3-online-free-gbagbcgb-emulator-no-download-3552</guid>
      <description>&lt;p&gt;Play &lt;strong&gt;Wario Land: Super Mario Land 3&lt;/strong&gt; online for free on &lt;a href="https://www.eggermath.com/wario-land/" rel="noopener noreferrer"&gt;EggerMath&lt;/a&gt; — instant browser GB emulator (mGBA WASM, 240×160), no download or signup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;→ &lt;a href="https://www.eggermath.com/wario-land/" rel="noopener noreferrer"&gt;Play Wario Land: Super Mario Land 3 now&lt;/a&gt; — Save (F5), Load (F9), 10 slots (F7), touch controls on mobile, IndexedDB offline cache.&lt;/p&gt;

&lt;h2&gt;
  
  
  About Wario Land: Super Mario Land 3
&lt;/h2&gt;

&lt;p&gt;Play Wario Land online. Wario debut adventure, steal treasures and conquer stages. — Platformer · 1994 · Nintendo · Wario series. Part of 52 games on EggerMath (GBA/GBC/GB, 11 languages, 650 pages).&lt;/p&gt;

&lt;h2&gt;
  
  
  Controls
&lt;/h2&gt;

&lt;p&gt;WASD/Arrows = D-Pad, K = A, J = B, Q = L, E = R, Enter = Start, Right Shift = Select. Mobile: on-screen D-pad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this works
&lt;/h2&gt;

&lt;p&gt;Astro static + Cloudflare Pages + mGBA WASM with COOP/COEP (SharedArrayBuffer) + MEGA CDN client-side. Source: &lt;a href="https://github.com/rayanbaig796-crypto/gba-wasm-web" rel="noopener noreferrer"&gt;gba-wasm-web&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Keywords: wario land online, play wario land gb — also gba emulator, my boy gba emulator, my boy gba emulator apk — Play free at &lt;a href="https://www.eggermath.com" rel="noopener noreferrer"&gt;eggermath.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webassembly</category>
      <category>gamedev</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Play Tetris Online Free — GBA/GBC/GB Emulator (No Download)</title>
      <dc:creator>RAYAN B</dc:creator>
      <pubDate>Thu, 27 Aug 2026 19:21:58 +0000</pubDate>
      <link>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-tetris-online-free-gbagbcgb-emulator-no-download-256f</link>
      <guid>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-tetris-online-free-gbagbcgb-emulator-no-download-256f</guid>
      <description>&lt;p&gt;Play &lt;strong&gt;Tetris&lt;/strong&gt; online for free on &lt;a href="https://www.eggermath.com/tetris-gb/" rel="noopener noreferrer"&gt;EggerMath&lt;/a&gt; — instant browser GB emulator (mGBA WASM, 240×160), no download or signup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;→ &lt;a href="https://www.eggermath.com/tetris-gb/" rel="noopener noreferrer"&gt;Play Tetris now&lt;/a&gt; — Save (F5), Load (F9), 10 slots (F7), touch controls on mobile, IndexedDB offline cache.&lt;/p&gt;

&lt;h2&gt;
  
  
  About Tetris
&lt;/h2&gt;

&lt;p&gt;Play Tetris online. The Game Boy classic that launched a phenomenon. — Puzzle · 1989 · Nintendo · Tetris series. Part of 52 games on EggerMath (GBA/GBC/GB, 11 languages, 650 pages).&lt;/p&gt;

&lt;h2&gt;
  
  
  Controls
&lt;/h2&gt;

&lt;p&gt;WASD/Arrows = D-Pad, K = A, J = B, Q = L, E = R, Enter = Start, Right Shift = Select. Mobile: on-screen D-pad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this works
&lt;/h2&gt;

&lt;p&gt;Astro static + Cloudflare Pages + mGBA WASM with COOP/COEP (SharedArrayBuffer) + MEGA CDN client-side. Source: &lt;a href="https://github.com/rayanbaig796-crypto/gba-wasm-web" rel="noopener noreferrer"&gt;gba-wasm-web&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Keywords: tetris online, play tetris gb — also gba emulator, my boy gba emulator, my boy gba emulator apk — Play free at &lt;a href="https://www.eggermath.com" rel="noopener noreferrer"&gt;eggermath.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webassembly</category>
      <category>gamedev</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Play Super Mario Land 2 Online Free — GBA/GBC/GB Emulator (No Download)</title>
      <dc:creator>RAYAN B</dc:creator>
      <pubDate>Wed, 26 Aug 2026 09:34:17 +0000</pubDate>
      <link>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-super-mario-land-2-online-free-gbagbcgb-emulator-no-download-1bh6</link>
      <guid>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-super-mario-land-2-online-free-gbagbcgb-emulator-no-download-1bh6</guid>
      <description>&lt;p&gt;Play &lt;strong&gt;Super Mario Land 2&lt;/strong&gt; online for free on &lt;a href="https://www.eggermath.com/super-mario-land-2/" rel="noopener noreferrer"&gt;EggerMath&lt;/a&gt; — instant browser GB emulator (mGBA WASM, 240×160), no download or signup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;→ &lt;a href="https://www.eggermath.com/super-mario-land-2/" rel="noopener noreferrer"&gt;Play Super Mario Land 2 now&lt;/a&gt; — Save (F5), Load (F9), 10 slots (F7), touch controls on mobile, IndexedDB offline cache.&lt;/p&gt;

&lt;h2&gt;
  
  
  About Super Mario Land 2
&lt;/h2&gt;

&lt;p&gt;Play Super Mario Land 2 online. Collect 6 golden coins, defeat Wario. — Platformer · 1992 · Nintendo · Mario series. Part of 52 games on EggerMath (GBA/GBC/GB, 11 languages, 650 pages).&lt;/p&gt;

&lt;h2&gt;
  
  
  Controls
&lt;/h2&gt;

&lt;p&gt;WASD/Arrows = D-Pad, K = A, J = B, Q = L, E = R, Enter = Start, Right Shift = Select. Mobile: on-screen D-pad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this works
&lt;/h2&gt;

&lt;p&gt;Astro static + Cloudflare Pages + mGBA WASM with COOP/COEP (SharedArrayBuffer) + MEGA CDN client-side. Source: &lt;a href="https://github.com/rayanbaig796-crypto/gba-wasm-web" rel="noopener noreferrer"&gt;gba-wasm-web&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Keywords: super mario land 2 online, play super mario land 2 gb — also gba emulator, my boy gba emulator, my boy gba emulator apk — Play free at &lt;a href="https://www.eggermath.com" rel="noopener noreferrer"&gt;eggermath.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webassembly</category>
      <category>gamedev</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Play Super Mario Land Online Free — GBA/GBC/GB Emulator (No Download)</title>
      <dc:creator>RAYAN B</dc:creator>
      <pubDate>Tue, 25 Aug 2026 09:28:41 +0000</pubDate>
      <link>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-super-mario-land-online-free-gbagbcgb-emulator-no-download-5hj2</link>
      <guid>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-super-mario-land-online-free-gbagbcgb-emulator-no-download-5hj2</guid>
      <description>&lt;p&gt;Play &lt;strong&gt;Super Mario Land&lt;/strong&gt; online for free on &lt;a href="https://www.eggermath.com/super-mario-land/" rel="noopener noreferrer"&gt;EggerMath&lt;/a&gt; — instant browser GB emulator (mGBA WASM, 240×160), no download or signup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;→ &lt;a href="https://www.eggermath.com/super-mario-land/" rel="noopener noreferrer"&gt;Play Super Mario Land now&lt;/a&gt; — Save (F5), Load (F9), 10 slots (F7), touch controls on mobile, IndexedDB offline cache.&lt;/p&gt;

&lt;h2&gt;
  
  
  About Super Mario Land
&lt;/h2&gt;

&lt;p&gt;Play Super Mario Land online. Original Game Boy Mario in Sarasaland, 12 worlds. — Platformer · 1989 · Nintendo · Mario series. Part of 52 games on EggerMath (GBA/GBC/GB, 11 languages, 650 pages).&lt;/p&gt;

&lt;h2&gt;
  
  
  Controls
&lt;/h2&gt;

&lt;p&gt;WASD/Arrows = D-Pad, K = A, J = B, Q = L, E = R, Enter = Start, Right Shift = Select. Mobile: on-screen D-pad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this works
&lt;/h2&gt;

&lt;p&gt;Astro static + Cloudflare Pages + mGBA WASM with COOP/COEP (SharedArrayBuffer) + MEGA CDN client-side. Source: &lt;a href="https://github.com/rayanbaig796-crypto/gba-wasm-web" rel="noopener noreferrer"&gt;gba-wasm-web&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Keywords: super mario land online, play super mario land gb — also gba emulator, my boy gba emulator, my boy gba emulator apk — Play free at &lt;a href="https://www.eggermath.com" rel="noopener noreferrer"&gt;eggermath.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webassembly</category>
      <category>gamedev</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Play Street Fighter II Online Free — GBA/GBC/GB Emulator (No Download)</title>
      <dc:creator>RAYAN B</dc:creator>
      <pubDate>Mon, 24 Aug 2026 13:36:08 +0000</pubDate>
      <link>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-street-fighter-ii-online-free-gbagbcgb-emulator-no-download-3617</link>
      <guid>https://dev.to/rayan_b_d0119f98b0d70824f/how-to-play-street-fighter-ii-online-free-gbagbcgb-emulator-no-download-3617</guid>
      <description>&lt;p&gt;Play &lt;strong&gt;Street Fighter II&lt;/strong&gt; online for free on &lt;a href="https://www.eggermath.com/street-fighter-ii-gb/" rel="noopener noreferrer"&gt;EggerMath&lt;/a&gt; — instant browser GB emulator (mGBA WASM, 240×160), no download or signup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;→ &lt;a href="https://www.eggermath.com/street-fighter-ii-gb/" rel="noopener noreferrer"&gt;Play Street Fighter II now&lt;/a&gt; — Save (F5), Load (F9), 10 slots (F7), touch controls on mobile, IndexedDB offline cache.&lt;/p&gt;

&lt;h2&gt;
  
  
  About Street Fighter II
&lt;/h2&gt;

&lt;p&gt;Play Street Fighter II online. 8 world warriors with special moves on Game Boy. — Fighting · 1995 · Capcom · Street Fighter series. Part of 52 games on EggerMath (GBA/GBC/GB, 11 languages, 650 pages).&lt;/p&gt;

&lt;h2&gt;
  
  
  Controls
&lt;/h2&gt;

&lt;p&gt;WASD/Arrows = D-Pad, K = A, J = B, Q = L, E = R, Enter = Start, Right Shift = Select. Mobile: on-screen D-pad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this works
&lt;/h2&gt;

&lt;p&gt;Astro static + Cloudflare Pages + mGBA WASM with COOP/COEP (SharedArrayBuffer) + MEGA CDN client-side. Source: &lt;a href="https://github.com/rayanbaig796-crypto/gba-wasm-web" rel="noopener noreferrer"&gt;gba-wasm-web&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Keywords: street fighter ii online, play street fighter gb — also gba emulator, my boy gba emulator, my boy gba emulator apk — Play free at &lt;a href="https://www.eggermath.com" rel="noopener noreferrer"&gt;eggermath.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webassembly</category>
      <category>gamedev</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How I Built a Browser-Based GBA/GBC/GB Emulator with mGBA WASM and Astro</title>
      <dc:creator>RAYAN B</dc:creator>
      <pubDate>Mon, 24 Aug 2026 10:10:31 +0000</pubDate>
      <link>https://dev.to/rayan_b_d0119f98b0d70824f/how-i-built-a-browser-based-gbagbcgb-emulator-with-mgba-wasm-and-astro-1ddl</link>
      <guid>https://dev.to/rayan_b_d0119f98b0d70824f/how-i-built-a-browser-based-gbagbcgb-emulator-with-mgba-wasm-and-astro-1ddl</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Every retro gamer knows the struggle: you want to play Pokemon Emerald or Zelda: The Minish Cap, but you're stuck at a computer without your GBA, or you're on a Chromebook at school, or you just don't want to install sketchy emulator software.&lt;/p&gt;

&lt;p&gt;I built &lt;a href="https://www.eggermath.com" rel="noopener noreferrer"&gt;EggerMath&lt;/a&gt; to solve this — a free, browser-based emulator that runs GBA, GBC, and GB games instantly. No downloads, no ads, no signup. Just click and play.&lt;/p&gt;

&lt;p&gt;Here's how I built it using &lt;strong&gt;mGBA WebAssembly&lt;/strong&gt;, &lt;strong&gt;Astro&lt;/strong&gt;, and &lt;strong&gt;Cloudflare Pages&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture Overview
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────────┐
│  Astro Static Site (SSG)                │
│  52 game pages × 11 languages = 651     │
├─────────────────────────────────────────┤
│  mGBA WASM (WebAssembly)                │
│  Compiled from C → WASM with pthreads   │
├─────────────────────────────────────────┤
│  MEGA SDK (client-side ROM loading)     │
│  ROMs served from MEGA CDN              │
├─────────────────────────────────────────┤
│  Cloudflare Pages (edge deployment)     │
│  COOP/COEP headers for SharedArrayBuffer│
└─────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 1: mGBA WebAssembly Compilation
&lt;/h2&gt;

&lt;p&gt;The core challenge was getting mGBA — a mature GBA emulator written in C — to compile to WebAssembly. The mGBA project provides a WASM build that works with pthreads for multi-threaded emulation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: COOP/COEP Headers (The Tricky Part)
&lt;/h2&gt;

&lt;p&gt;WebAssembly with pthreads requires SharedArrayBuffer, which browsers only enable when the page has Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: require-corp.&lt;/p&gt;

&lt;p&gt;But Cloudflare serves JS and WASM files with its own headers. I had to strip COOP/COEP from static asset responses while keeping them on HTML pages:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight apache"&gt;&lt;code&gt;&lt;span class="c"&gt;# public/_headers&lt;/span&gt;
&lt;span class="err"&gt;/*&lt;/span&gt;
  Cross-Origin-Opener-Policy: same-origin
  Cross-Origin-Embedder-Policy: require-corp

&lt;span class="err"&gt;/*.&lt;/span&gt;js
  Cross-Origin-Opener-Policy: 
  Cross-Origin-Embedder-Policy: 

/*.wasm
  Cross-Origin-Opener-Policy: 
  Cross-Origin-Embedder-Policy: 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This lets the main page enable SharedArrayBuffer while WASM/JS files load without conflicting headers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: ROM Loading via MEGA SDK
&lt;/h2&gt;

&lt;p&gt;Instead of hosting ROMs myself (legal gray area + bandwidth costs), I integrated the MEGA JavaScript SDK to load ROMs directly from a MEGA folder. ROMs load client-side, cached in IndexedDB for repeat plays. The MEGA folder acts as a free CDN with generous bandwidth.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Astro Static Generation
&lt;/h2&gt;

&lt;p&gt;I chose Astro for its static-site generation. Each game gets its own page with SEO-optimized titles, 11 language translations with proper hreflang tags, VideoGame schema for rich snippets, and GEO-citable answer blocks for AI search engines.&lt;/p&gt;

&lt;p&gt;This generates 651 pages — each one an indexable landing page for a specific game.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Save States with IndexedDB
&lt;/h2&gt;

&lt;p&gt;Players need save states. I implemented a 10-slot save system using IndexedDB. States persist across sessions. The Continue Playing bar shows recently played games with cover art and progress.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Mobile-First Touch Controls
&lt;/h2&gt;

&lt;p&gt;The emulator needed to work on phones. I built D-pad and A/B buttons with 3D CSS styling, touch event handlers for mobile interaction, fullscreen mode with landscape lock via Screen Orientation API, and an iOS compatibility shim for older Safari versions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;52 games across GBA, GBC, and GB&lt;/li&gt;
&lt;li&gt;11 languages (EN, PT-BR, ES, JA, DE, FR, RU, KO, IT, ID, AR)&lt;/li&gt;
&lt;li&gt;651 pages built in ~10 seconds&lt;/li&gt;
&lt;li&gt;Zero ads, zero signup, zero download&lt;/li&gt;
&lt;li&gt;Save states with 10 slots per game&lt;/li&gt;
&lt;li&gt;Full-screen mobile with touch controls&lt;/li&gt;
&lt;li&gt;Deployed on Cloudflare Pages with unlimited bandwidth&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;WebAssembly + SharedArrayBuffer is fragile — Browser security models conflict with WASM threading. The COOP/COEP header dance is non-obvious.&lt;/li&gt;
&lt;li&gt;Static generation scales — 651 pages generate in 10 seconds. No server needed.&lt;/li&gt;
&lt;li&gt;MEGA as a CDN works — Client-side MEGA SDK loads ROMs without server-side hosting. Legally safer, practically free.&lt;/li&gt;
&lt;li&gt;i18n is underrated for SEO — 11 languages × 52 games = 572 unique indexable pages. Most emulators only target English.&lt;/li&gt;
&lt;li&gt;AI search needs citable blocks — I added front-loaded answer paragraphs specifically designed to be cited by ChatGPT, Perplexity, and Google AI Overviews.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;eggermath.com — pick a game, click play. Works on desktop and mobile.&lt;/p&gt;

&lt;p&gt;The source code for the WASM integration is at github.com/rayanbaig796-crypto/gba-wasm-web.&lt;/p&gt;




&lt;p&gt;Built with Astro, mGBA WASM, MEGA SDK, and Cloudflare Pages.&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
  </channel>
</rss>
