← Back to Games

Developer Blog

Resisting the Bloat: Why We Built Frybahn

If you search for web gaming portals today, you will be met with a wall of commercial clones running heavy, closed-off builds that hog memory and take ages to load. Many of these portals rely on bloated WebGL engines that compile to hundreds of megabytes. Running a simple puzzle game should not send your CPU fan spinning into overdrive or require downloading a game engine run-time just to render a grid.

Frybahn was born out of a desire for a cleaner, faster web. By hosting pure HTML5 and JavaScript creations—primarily those written under the tight constraints of game jams like JS13K—we offer games that load instantly and operate efficiently even on low-end hardware. We believe that web gaming should be open, inspectable, and incredibly lightweight.

Behind the Tech Stack: Dynamic SEO in a Single Page App

Building a Single Page Application (SPA) usually comes with a major SEO tradeoff. Crawlers often struggle with dynamically loaded content, leading to poor page ranking. In building Frybahn's game details overlay, we wanted a seamless path-based router that feels like an instant navigation overlay but remains completely friendly to search engines.

We solved this by pairing Nginx's fallback directive (try_files) with a custom ES6 router. When a user or crawler accesses a path like /game/pacman directly, Nginx transparently serves our main shell, and our routing module updates the document title, meta descriptions, and Open Graph tags. Finally, we dynamically append a JSON-LD structured data block to the document head to ensure search engines recognize the software configuration. The result is a clean, instant transition for users and indexable structured pages for bots.

The Magic of Constraints: What 13KB Can Teach Us

One of the most inspiring events in the modern gamedev landscape is the annual JS13KGames competition. Developers are challenged to build complete, playable web games within a zip file no larger than 13,312 bytes. With no external assets or remote libraries allowed, developers must squeeze textures, audio synths, maps, and logic into a space smaller than a standard email attachment.

This extreme limitation yields incredible creativity. Without the room for pre-built engines, developers write highly optimized 2D and WebGL renderers and build procedural generators that build landscapes and sounds on the fly. Games like q1k3 (a fully featured 3D shooter reminiscent of Quake) or underrun (a sci-fi tactical twin-stick shooter) prove that limits are not barriers to quality; rather, they are a catalyst for building some of the most elegant, compact code on the web today.