If you ever needed proof that web browsers are first-class citizens, capable of rendering 3D games with as much gusto as consoles or running web apps that are as feature-rich as their installed cousins, look no further than the Unreal Engine 3 Epic Citadel demo, which Mozilla and Unreal have ported to JavaScript, WebGL, and HTML5. On my three-year-old PC, the completely browser-based demo averages 138 fps at 1920×1080.

At the Game Developer Conference (GDC) in March, Mozilla and Unreal announced that they’d ported Unreal Engine 3 to JavaScript and WebGL in just four days. At GDC they showed us the Epic Citadel demo running within Firefox — and now, a month later, they’ve released the demo to the public. All you need to do is head over to http://www.unrealengine.com/html5/ and click Play. In theory, it should work in any modern browser that supports most of HTML5, WebGL, and has a fast JavaScript engine. In practice, this means you need to download Firefox Nightly (Chrome crashes at the moment, but should be fixed soon).

The Epic Citadel demo is 52 megabytes of JavaScript, which uses WebGL to draw to an HTML5 canvas. The JavaScript was created with Emscripten, which allows developers to compile existing C++ code to high-performance JavaScript. When you visit the website, the JavaScript is downloaded and run by asm.js, a new feature created by Mozilla that allows browsers to compile JavaScript to assembly code and execute it natively. In short, when you visit the Epic Citadel website, you are running Unreal Engine 3 natively on your PC — but instead of downloading and installing a program or plug-in, the JavaScript is downloaded, compiled, and executed on the spot.

All told, there is a performance hit when using Emscripten/asm.js, but it gets much closer to native C++ than conventionally executed JavaScript. When you load a site like ExtremeTech, the JavaScript is executed around 20 to 30 times slower than if it had been written in C++. With Emscripten/asm.js, JavaScript is just two times slower than C++. This means that you probably won’t be running Crysis 3 in JavaScript/WebGL, but most other applications should be possible.

On my Core i7 930 (@ 4GHz) PC, with an Nvidia GTX 460, the Epic Citadel benchmark clocked in at 140 fps @ 1920×1200. Yes, the Epic Citadel demo isn’t exactly bleeding edge, and the textures are low res, but Unreal Engine 3 is the engine used by plenty of best-selling PC, console, and mobile games — and heck, UE4 isn’t on the market yet (video above). In short, it’s an awesome demo that showcases just how far web apps have become. It’s now down to app and game developers to take tools like Emscripten, asm.js, and HTML5 and actually build a browser-based version of Photoshop or Portal.

Web apps haven’t exactly exploded onto the scene since the Chrome Web Store launched, and the Firefox Marketplace is still a fairly low-key affair. With the recent release of the Firefox OS for smartphones, and Google’s continued Chrome OS push, though, we might finally experience the web app renaissance.

Now read: Real-time tech demos that showcase the future of console and PC gaming

If you can’t play the Epic Citadel demo in your browser, there’s a video and some screenshots below.