Native Desktop Exporter for Construct 3

Discussion and feedback on Construct 2

Post » Tue Jan 27, 2015 7:53 pm

Any native engine is going to lose compatibility with major C2 features, no matter whose engine we use or whether we develop our own, unless we use a full browser engine like NW.js. Just off the top of my head, even the "ideal" native exporter would lack:

- Web Audio API support
- WebRTC multiplayer
- Web Workers (for async pathfinding)
- User Media object features (video, mic, speech recognition/synthesis etc)
- AJAX object
- probably most form controls
- XML parsing
- WebSockets
- most Browser object features
- all third-party plugins and behaviors

Implementing the above amounts to writing a new browser engine and is a truly colossal project, so why not just stick to a real browser engine?

The same applies to mobile. I don't think anybody who's asking for it really understands how many features will go missing, making it unlikely that many projects could actually port to it anyway...

Compare that to making a few improvements to the browser-based platforms to make sure they are native-grade. That is obviously a far superior approach and better for everybody.
Scirra Founder
B
387
S
230
G
88
Posts: 24,251
Reputation: 192,454

Post » Tue Jan 27, 2015 8:07 pm

No need for native exporters. Actually what you guys think about"Native" isn't something this engine aims at. Like Ashley says, making a new browser engine is just a waist of time, making a non browser wrapper is what you guys want, but non browser wrappers have failed us at every point as mobile developers. Exporting to IOS & Crosswalk is 5 minutes work. You get fully supported Cordova environment. Stability & a lot of features, plugins. It works smooth on IOS8. Phonegap will reduce file size and run smooth on Android 5. Crosswalk gives beside the file size good support.
B
31
S
10
G
2
Posts: 310
Reputation: 5,516

Post » Tue Jan 27, 2015 10:07 pm

stctr wrote:No need for native exporters. Actually what you guys think about"Native" isn't something this engine aims at. Like Ashley says, making a new browser engine is just a waist of time, making a non browser wrapper is what you guys want, but non browser wrappers have failed us at every point as mobile developers.


No, we are not actually fishing for C2's own wrapper, but a separate native exporter. Or I am at least, since I can only speak for myself. :P

Ashley wrote:Implementing the above amounts to writing a new browser engine and is a truly colossal project, so why not just stick to a real browser engine?


Same thing. I acknowledged in my previous post that the web-specific stuff needed to be ditched. Full compatiblity between native Windows and HTML5 exporters cannot be achieved.

It would be very much its own entity, providing the Sprite, Tiled Background, 9 Patch and other common plugins. If I'm not mistaken the official word used to be that an EXE exporter was very much possible, but will with certainty not be undertaken by Scirra itself, but a third party, if at all of course. Because it is indeed a huge undertaking which requires a lot of plugins being recreated differently.

Somebody wrote:But you know - we live in a wonderful age where people can put their money where their mouth is - why not kickstart a native hardware accelerated exporter for C2 with a series of special plugins for some necessary functionality? I'm sure for the right price it would be quite possible.


Not the worst idea I ever heard. But how can you bully talented coders into creating this kickstarter project? :twisted:
B
22
S
6
G
10
Posts: 1,034
Reputation: 7,514

Post » Tue Jan 27, 2015 10:29 pm

PixelRebirth wrote:It would be very much its own entity, providing the Sprite, Tiled Background, 9 Patch and other common plugins.

I just don't think it's worth going to a colossal amount of effort for something which only supports a subset of features. It is a compatibility and portability nightmare and is just one step towards the insane feature support matrices that some tools have - pick any three features and there may only be one or two platforms out of the full range that support it... or maybe even no platform is available which supports them all!

Besides, what is the proposed benefit of the native engine? Is it performance? asm.js would be a better idea. Is it v-sync quality? That's being fixed. What is it that you're after and why do you think it's better to ditch the entire web platform rather than improve it?
Scirra Founder
B
387
S
230
G
88
Posts: 24,251
Reputation: 192,454

Post » Tue Jan 27, 2015 11:16 pm

Ashley wrote:
PixelRebirth wrote:It would be very much its own entity, providing the Sprite, Tiled Background, 9 Patch and other common plugins.

I just don't think it's worth going to a colossal amount of effort for something which only supports a subset of features. It is a compatibility and portability nightmare and is just one step towards the insane feature support matrices that some tools have - pick any three features and there may only be one or two platforms out of the full range that support it... or maybe even no platform is available which supports them all!

Besides, what is the proposed benefit of the native engine? Is it performance? asm.js would be a better idea. Is it v-sync quality? That's being fixed. What is it that you're after and why do you think it's better to ditch the entire web platform rather than improve it?



Well, to me it would be worth it. Seeing the power of Construct Classic married to the usablity, stability and flow of the C2 editor is kind of a personal wet dream. Portability be damned! :P

Don't get me wrong, I have given HTML5 a fair shot. I bought a tablet, I created many prototypes, I finished a casual game and licensed it to gaming portals. Hell I even started getting interested in Javascript and created some humble plugins.

When it comes to what I actually want to develop, relying on the web platform appears as a great hinderance. I'd like to target dektop platforms and I'd like to do so without the artificial step of putting the game into some browser. Which achieves nothing but make the performance fragile and especially effects very expensive.

I have seen asm.js mentioned a few times already and it does seem promising. But please understand that for someone who isn't even interested in targeting every hipster's smartphone, going native would just be a very reasonable step.

And again I do not ask Scirra to do this (mainly because I know it won't happen), but it doesn't hurt to just throw the general idea out there.
B
22
S
6
G
10
Posts: 1,034
Reputation: 7,514

Post » Tue Jan 27, 2015 11:33 pm

So the reason for native is purely for performance? If so then to me asm.js would be a far more reasonable way to approach that, since it gets the same benefit and retains full compatibility. However I'm always short of examples that demonstrate performance problems that are not hardware constraints or a blacklisted driver, do you have any specific such examples? For example if you're asking for a whole native engine because your game is GPU-bottlenecked, take note that a native engine will not run any faster!
Scirra Founder
B
387
S
230
G
88
Posts: 24,251
Reputation: 192,454

Post » Tue Jan 27, 2015 11:34 pm

@PixelRebirth
"When it comes to what I actually want to develop, relying on the web platform appears as a great hinderance. I'd like to target dektop platforms and I'd like to do so without the artificial step of putting the game into some browser. Which achieves nothing but make the performance fragile and especially effects very expensive."

Did you try it or are you just guessing it? Or is experience talking ? Construct2 has already a lot of great 2d pc games on Steam. In my opinion with the pc power everybody got those days, it shouldn't effect very much if the game is browser based or native, but I'm just guessing.
B
31
S
10
G
2
Posts: 310
Reputation: 5,516

Post » Tue Jan 27, 2015 11:39 pm

What are the chances of getting an edk with C3?
Image ImageImage
B
168
S
50
G
164
Posts: 8,231
Reputation: 105,581

Post » Wed Jan 28, 2015 12:26 am

Ashley wrote:So the reason for native is purely for performance? If so then to me asm.js would be a far more reasonable way to approach that, since it gets the same benefit and retains full compatibility. However I'm always short of examples that demonstrate performance problems that are not hardware constraints or a blacklisted driver, do you have any specific such examples? For example if you're asking for a whole native engine because your game is GPU-bottlenecked, take note that a native engine will not run any faster!


Webgl effects and instance creation/destruction as well as resizing/scaling come to mind as major performance killers in general. Classic runs circles around C2 in that regard before it breaks a sweat. HTML5 may run virtually everywhere, but what about basically every other browser than Chrome? It's not a pretty picture...

Also I'd like to point out that a blacklisted device might have no problem at all with a native engine. However I do not suggest to cater to ancient hardware of course...

Anyway, if asm.js can do such great things why am I not using it presently? :P

stctr wrote:@PixelRebirth
"When it comes to what I actually want to develop, relying on the web platform appears as a great hinderance. I'd like to target dektop platforms and I'd like to do so without the artificial step of putting the game into some browser. Which achieves nothing but make the performance fragile and especially effects very expensive."

Did you try it or are you just guessing it? Or is experience talking ? Construct2 has already a lot of great 2d pc games on Steam. In my opinion with the pc power everybody got those days, it shouldn't effect very much if the game is browser based or native, but I'm just guessing.


I'm not trying to argue that you cannot make appealing games with Construct 2 already. I hope you're not trying to argue that HTML5 doesn't degrade performance.
B
22
S
6
G
10
Posts: 1,034
Reputation: 7,514

Post » Wed Jan 28, 2015 12:52 am

We also need to support buggy whips. If we don't support them they will stop getting made, and how will we ever get to work?? ;-)


Actually, here is what it should support: http://www.gamespot.com/articles/window ... 0-6424791/
B
226
S
60
G
33
Posts: 902
Reputation: 39,989

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: wmnjunior and 7 guests