Timeframe for EXE exporter?

Discussion and feedback on Construct 2

Post » Mon Jan 02, 2012 7:00 pm

I did some more research in to this. Most EXE wrappers around HTML that I tried (Adobe AIR, Titanium Desktop etc.) only use WebKit, which is Chrome's HTML layout engine, but is not the full browser. It looks like WebKit alone only provides a software rendered 2D canvas and no browser features like Audio, since it's just a layout engine. So it's no good at all for games. It looks like the link Kyatric posted uses OpenWebkitSharp which suffers the same problem.

Awesomium on the other hand is a full-blown browser engine based off Chromium. I haven't got it working myself yet but I think it supports everything Chrome does: WebGL, audio, V8 javascript engine, and so on. So out of everything I've looked at only Awesomium looks like it will actually be useful. There may be a few other problems though - if it works off the file:/// protocol a lot of things aren't going to work, and it might need an internal HTTP server. However the HTML5 exporter has one already for previewing. So I think the best thing to do - in future, since we have a lot to do :P - is make an official Awesomium-based wrapper with a built in HTTP server and also the ability to package all the files in to a single .exe file. FYI Awesomium's license costs $2.9k once you've made $100k in profit, which I guess isn't a problem. Anyway, I guess I can say... on the todo list :P
Scirra Founder
B
359
S
214
G
72
Posts: 22,949
Reputation: 178,554

Post » Mon Jan 02, 2012 7:11 pm

Sweet. I like that idea. I was hoping you'd make an official wrapper!
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,422

Post » Mon Jan 02, 2012 7:26 pm

So, I had some time to play around with awesomium a little today. So far I've managed to wrap some of my test projects + example games that came bundled with construct. There are a couple of problems however:

Firstly, as Ashley mentioned, the wrapper would definitely need to start a local server as loading the files off the file:// protocol causes a couple of issues, mainly related to audio since cross domain calls are not supported. Secondly, awesomium does not support WebGL yet. So, although both of the demos ran fairly smoothly, I still managed to run into some minor lagging...

That's my progress this far... I'll try working on a local server implementation tonight.

Cheers
B
6
S
1
G
1
Posts: 23
Reputation: 833

Post » Mon Jan 02, 2012 7:59 pm

Wrapping it probably will never feel and perform as the real thing. I think the best to do is wait for the EDK so then someone with the knowledge/time can make a real desktop runtime. When/If the EDK comes i would be interested about making an EXE exporter. I don't know exactly how this EDK would work so i have no idea of how difficult it would be.
The other way would be to forget about html5 and webgl and make a NaCl runtime. It would then work (in theory) in all desktops and on Chrome. Much better. But of course that's not an option since it would involve rewriting the entire thing, probably basing on Classic runtime. Just me dreaming out loud. It would take lots and lots of work in any way.Kiyoshi2012-01-02 20:02:11
B
58
S
13
G
10
Posts: 632
Reputation: 12,505

Post » Mon Jan 02, 2012 8:31 pm

Hmm... would an NaCl runtime work in an a awesomium wrapper then? Since I've heard NaCl apps have only about a 5% performance hit from native code, that might be a way to hit every platform that chrome runs on basically natively with one exporter.

Also, what platforms could an NaCl wrapped game run on? Would that work for iOS and android?
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,422

Post » Mon Jan 02, 2012 9:10 pm

@Arima : the problem with NaCL is that it compiles as binaries. So if Google isn't backing a project to provide binaires for iOS, there is no way to provide that. And furthermore, I think it's conflicting with Apple rules of having only WebKit + its JS engine to run web applications.
B
33
S
9
G
6
Posts: 709
Reputation: 6,704

Post » Tue Jan 03, 2012 1:58 am

So, I've been trying some wrappers out of the box, not much time for me to do actual programming, I was just testing them right out of the box n_n making the fastest possible wrapper with no serious look into it.

Note: I'm sure Ashley has already done this with probably many more, but I wanted to test it just in case anyone is trying to do the same.

I've tested these with the physics ragdoll sample and space blaster.

Adobe Air + flashdevelop: Works but laggy, anything with sound will trigger an "Audio variable is null" exception and won't run

Titanium Desktop: Same issues as adobe Air. (although it wont show any warning or error, but I assume its the exact same thing)

Mozilla Prism: It does run better, but also kind of lags sometimes. Same issues with audio though.

Asterclick WBEA Binaries (which is based on the Chromium embedded framework, but this may be a very simple implementation): Works very slowly. Also, games with sound, will not work like the others.

What is left to test:

Awesomiun.

Phonegap for windows/mac (desktop): There is an obscure implementation fo phonegap for windows and mach. This may be a good shot, these are:
https://github.com/davejohnson/phonegap-windows
and here
https://github.com/shazron/phonegap-mac
Who knows, the might work!

The google native client: this might work too who knows.
http://code.google.com/p/nativeclient/

Mysterious things that I do not know what they are:

http://www.appmobi.com: Looks like an open source implementation to create acceleration on many platforms... it might works on desktop too. And fo course it actually might be useful for many other things n_n

http://gameclosure.com/
Another odd thing, has a private beta, is this just another sdk or do they have a wrapper? hmm

I hope this may shed some light on the subject :)

Regards
B
4
G
2
Posts: 5
Reputation: 1,110

Post » Tue Jan 03, 2012 1:50 pm

On the topic of wrappers, has anybody looked into Chromeless?

Also, Zinc 4.0 works with HTML5 for desktop apps.



[quote]Zinc 4.0 can now compile a Remote or Local HTML5 Project into a single file Desktop Application for Windows or Mac OSX. By leveraging the power of CSS, Ajax and core HTML5 APIs, Zinc 4.0 users can build compelling, interactive Desktop Applications from Existing & New Web Projects.[/quote]

That's of course.. if you want to pay $700 ;)

Depends on how serious you are with your game...

I tried the trial and it just wraps it all in an exe that relies on Internet Explorer already installed on the system... It's a semi-decent solution...

Personally I'm not sure if any of this is the right solution for me anymore, as I need a way to be able to make my game go fullscreen and have the option to control from a menu between fullscreen and windowed mode... I also need to make the game look like it's not even a browser so...Nathanial2012-01-03 15:32:17
B
4
G
2
Posts: 5
Reputation: 1,135

Post » Tue Jan 03, 2012 7:51 pm

[QUOTE=Nathanial]I tried the trial and it just wraps it all in an exe that relies on Internet Explorer already installed on the system...[/QUOTE]
Heh, that makes it totally useless. No IE9 on Windows XP so your games will never run on XP.

Chromeless looks promising though, I forgot to check that one out - will have a look.
Scirra Founder
B
359
S
214
G
72
Posts: 22,949
Reputation: 178,554

Post » Tue Jan 03, 2012 9:33 pm

Yeah Chromeless looks promising. The question is the readyness of it currently: Here's the Github Page
B
58
S
13
G
10
Posts: 632
Reputation: 12,505

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: R0J0hound and 2 guests