Live data from Hacker News

Unreal Engine in JavaScript/HTML5 – Citadel demo

unrealengine.com

51–60 of 159 posts

Re: Unreal Engine in JavaScript/HTML5 – Citadel demo

#52
post #3

The "Compiling Javascript" loader takes way too long (at least on my system) to not give any indication as to how long I will wait or whether it's still doing anything. At least a "this might take up to X minutes". Demo itself ran halfway ok, clicking on 'Benchmark' (which I had to guess was in the upper pulldown) immediately froze everything for me (Firefox on Kubuntu). Still: I do appreciate a demo that even kinda-…

>>Still: I do appreciate a demo that even kinda-sorta works on gnu/linux.

I'm using Firefox 20 on Ubuntu 12.04/amd64 and everything works flawlessly.

Re: Unreal Engine in JavaScript/HTML5 – Citadel demo

#53
post #4

I love the fact that Mozilla keeps pushing javascript to its limits. They seem to be doing a lot of things really well lately, this is awesome!! Plus you have Firefox OS, which pushes web-standards to native mobile. Now I just wish the devtools would get up to paar with those on chrome/chromium and I'd be switching back to FF in a heartbeat. I wish google would stay on board with JS since they have the engineering po…

The original team working on V8 in Aarhus switched to work on Dart, so V8 transferred ownership to a team in Munich. It is still very much alive and well :)

Re: Unreal Engine in JavaScript/HTML5 – Citadel demo

#54
post #49

I take issue with calling this JavaScript/HTML5. This is powered by asm.js. The source is emphatically NOT JavaScript, it's a subset that's meant to be a target for compilation (like a bytecode in .NET and the JVM) and is treated entirely differently from JavaScript by the JIT. We don't call everything that runs on .NET C# nor everything that runs on the JVM Java. Additionally, asm.js is not part of HTML5. It's inter…

Even though it's using JavaScript as a kind of bytecode, it is just JavaScript / HTML5 (and some CSS, but that's pretty anedoctical I guess). Asm.js is a subset of JavaScript. As soon as Chrome fixes the crash, it'll run in a browser that supports just HTML5 (for presenting the page / the DOM / the canvas) and JavaScript with no special asm.js optimizations, and we'll have to see how fast/slow it is then.

To correct your analogy: it'd be like using a subset of C# as the bytecode rather than a language. It's still actual C#, it's not just .NET bytecode, but it's being used differently.

Re: Unreal Engine in JavaScript/HTML5 – Citadel demo

#56
post #4

I love the fact that Mozilla keeps pushing javascript to its limits. They seem to be doing a lot of things really well lately, this is awesome!! Plus you have Firefox OS, which pushes web-standards to native mobile. Now I just wish the devtools would get up to paar with those on chrome/chromium and I'd be switching back to FF in a heartbeat. I wish google would stay on board with JS since they have the engineering po…

> I love the fact that Mozilla keeps pushing javascript to its limits.

You make it sound like they're the only ones doing this kind of thing. Anybody remember this?

www.findyourwaytooz.com

Re: Unreal Engine in JavaScript/HTML5 – Citadel demo

#58
post #49

I take issue with calling this JavaScript/HTML5. This is powered by asm.js. The source is emphatically NOT JavaScript, it's a subset that's meant to be a target for compilation (like a bytecode in .NET and the JVM) and is treated entirely differently from JavaScript by the JIT. We don't call everything that runs on .NET C# nor everything that runs on the JVM Java. Additionally, asm.js is not part of HTML5. It's inter…

> I take issue with calling this JavaScript/HTML5. This is powered by asm.js.

It is faster with asm.js optimizations, but as other comments mention, it also runs well (depending on CPU/GPU) even without such optimizations, in browsers that have no special asm.js optimizations whatsoever.

All the demo needs to work is WebGL and JavaScript.

> The source is emphatically NOT JavaScript, it's a subset that's meant to be a target for compilation

It is not 'typical' JavaScript, but it literally is JavaScript since it's a subset.

> (like a bytecode in .NET and the JVM) and is treated entirely differently from JavaScript by the JIT.

Only in some cases (Firefox 22 and 23) is it treated in a special way, and as mentioned above, the demo works great in other cases as well, that treat it like normal JavaScript (Firefox 20 stable, for example).

Even when it is treated in a special way, it still uses the same parser and same backend and optimizations (IonMonkey) as the Firefox JS engine uses for all JS.

> We don't call everything that runs on .NET C# nor everything that runs on the JVM Java.

The main difference is that .NET and the JVM have bytecodes. C# is not .NET bytecode and Java is not JVM bytecode. But, JavaScript does not have a universal bytecode, there is just the language itself.

So asm.js is literally JavaScript, not some lower-level bytecode. It runs like normal JavaScript, the only difference is that some JS engines might optimize it a little better, since it's easy to optimize.

Note that asm.js-like code is nothing new. It's been generated for years now by compilers like Emscripten and Mandreel, and Firefox and Chrome (and likely others) have been optimizing for it, for example Google added a Mandreel benchmark to Octane. (The only thing new with asm.js is that there is a formal typesystem which makes it simple to make sure you emit proper code, and simple to verify you are receiving proper code; also, while developing the type system some bugs in how emscripten generates code were found and resolved.)

Re: Unreal Engine in JavaScript/HTML5 – Citadel demo

#59
post #54
post #49

I take issue with calling this JavaScript/HTML5. This is powered by asm.js. The source is emphatically NOT JavaScript, it's a subset that's meant to be a target for compilation (like a bytecode in .NET and the JVM) and is treated entirely differently from JavaScript by the JIT. We don't call everything that runs on .NET C# nor everything that runs on the JVM Java. Additionally, asm.js is not part of HTML5. It's inter…

Even though it's using JavaScript as a kind of bytecode, it is just JavaScript / HTML5 (and some CSS, but that's pretty anedoctical I guess). Asm.js is a subset of JavaScript. As soon as Chrome fixes the crash, it'll run in a browser that supports just HTML5 (for presenting the page / the DOM / the canvas) and JavaScript with no special asm.js optimizations, and we'll have to see how fast/slow it is then. To correct…

I wouldn't write a large-scale game/engine in byte code. It is effectively a C++ demo.

Re: Unreal Engine in JavaScript/HTML5 – Citadel demo

#60

Earlier quoted context omitted.

I wish I had read that first :/ Crashed my whole system Chromium 25.0.1364.160 Ubuntu 12.04

This shouldn't be possible if the OS is written correctly. :-\

He's on Ubuntu. Anything is possible to make it crash.
Post reply on HN