Estranged Demo in HTML5 (Indie Title in Unreal Engine 4)

Subject: General Tech | January 29, 2018 - 08:12 PM |
Tagged: ue4, html5, webassembly, estranged

Compiling from C++ to WebAssembly is a thing now. This allows browsers to circumvent JavaScript (or integrate with it if the developer wants to) for high-performance applications. It also does this with relatively low compile times, especially on browsers like Firefox Nightly.

epic-2018-webassembly-toilet.png

Proof that it’s running Unreal Engine: A toilet.
Also, the seat works. I tried.

It’s also a supported feature with Unreal Engine 4 as of 4.18.

As such, we’re beginning to see a few games built into the technology. One such demo, Estranged, is about an indie title about a fisherman. The demo currently has the Prelude level and a shooting range. Performance isn’t the best, but it’s interesting to see running in a web browser. It will continue to get better than WebAssembly (and browsers) support multi-threading, too.

Source: Estranged

Epic Games Releases Zen Garden Demo for WebAssembly

Subject: General Tech | March 13, 2017 - 08:02 PM |
Tagged: webassembly, ue4, mozilla, epic games

HTML5 was a compile target for Unreal Engine since Unreal Engine 3, but it was supposed to be a bigger push for Unreal Engine 4 then it has been. At the time, Mozilla was pushing for web browsers to be the main source of games. Thanks to Flash, users are even already accustomed to that use case; it’s just a matter of getting performance and functionality close enough to competing platforms, and supporting content that will show it off.

epic-2017-zengardenwebassembly.jpg

That brings us to Zen Garden. This demo was originally designed to show off the Metal API for iOS, but Epic has re-purposed it for the recently released web browser features, WebAssembly and WebGL 2.0. Personally, I find it slightly less impressive than the Firefox demo of Unreal Tournament 3 that I played at Mozilla Summit 2013, but it’s a promising example that big-name engines are taking Web standards seriously again. You don’t get much bigger than Unreal Engine 4.

So yeah... if you have Firefox 52, then play around with it. It’s free.

Source: Mozilla

Firefox 52 Adds WebAssembly

Subject: General Tech | March 8, 2017 - 04:00 PM |
Tagged: mozilla, webassembly, javascript, firefox

Mozilla’s latest browser version, Firefox 52, was just released to the public on Tuesday. I wasn’t planning on putting up a post about it, but I just found out that it includes the ability to ingest applications written in WebAssembly. This is client-side language for browsers to be a compile target for C, C++, and other human-facing languages (such as Rust). Previously, these applications needed to transpile into JavaScript, which has several limitations.

Honestly, I haven’t heard much from WebAssembly in several months, so I was figured they were still quite a ways off. Several big engines, like Unreal Engine 4, not really putting their weight behind HTML5 as much as they were about three years ago, during the Windows 8- and iOS-era. Now I see the above video, which starts with Tim Sweeney and goes on to include others from Mozilla, Autodesk, and Unity, and I am starting to assume that I just wasn’t looking in the right areas.

Some features of WebAssembly include native 64-bit integer types and actual memory management. In JavaScript, the "number" type basically exists in a quazi-state between int32 and FP64. WebGL added a few containers for smaller data types, but it couldn't go larger than what "number" allowed, so int64 and uint64 couldn't be represented. Also, JavaScript requires garbage collection to be run on the browser's schedule, which limits the developer's control to "don't generate garbage and hope the GC keeps sleeping".

According to the video, though, it sounds like application startup time is the primary reason for shipping WebAssembly. That could just be what they feel the consumer-facing message should convey, though. I should probably poke around and see what some web and game developer contacts think about WebAssembly.

Firefox 52 is now available.

Source: Mozilla