...wanted to think about this one for a while.
Ashley - you made a good argument earlier, but I disagree about some of the reasons you posted.
Exact compatibility with a browser I don't think is all that important, as games don't need everything a browser can do. Again, we don't need an entire browser engine - we just need what games need. Hundreds of thousands of games have been made without needing an entire browser engine.
As for the issue about third party plugins - as much as I appreciate all the work put into them, even with C2 as it is now, the vast majority of games could be made without them. If C2 was feature complete, then even more so.
By hiring someone to work on native exporters concurrently, it would reduce the impact the extra work would have on C2 itself. Tomsstudio is showing that it's possible. I agree that the path you took up to this point was the right one, though. Trying to make native exporters while also making the editor and such from the start would have been too much to take on at once.
Yes, we'd have to create custom code for some platforms. But so does everyone else, to some extent. The HTML5 exporter would still be there for those who wanted to use it instead. It would give us a choice rather than having only one option.
The point of asking for native exporters wasn't just about solving performance problems, though that was a big part of it - it was also about other things like the issue of no memory management on iOS and about you being able to directly control the quality of C2's own exports.
More thoughts/feelings:
- feeling a bit discouraged after years with less improvement than expected
- disappointed code performance will always be behind the competition's, especially the platforms that really need it like mobile
- no manual memory management with JavaScript can cause stutters when garbage collection is running. We just have to hope gc collection improves to the point it doesn't cause stutters anymore on every platform, since so many use different code for gc.
- being rattled by chrome's recent xp/vista software rendering nonsense. We just have to hope the chrome team changes their mind.
- misses out on export to a lot of platforms (3ds, vita, ps3, ps4, Xbox 360, Xbox one)
- all we can do is hope that sony and microsoft enable support for html5 games on ps4/xb1, and that performance is acceptable - I tried a test on the ps4 browser and the performance was terrible.
- I'm feeling better about the android situation after discovering crosswalk is capable of running a game with a lot of assets, but I'm not confident about the situation on iOS. Apple has had the tech for jit just sitting around in the operating system for years and don't let anyone else use it, which makes no sense to me. If they don't want the web competing with the app store, then why do they allow jit on the web, but not in apps? It just makes it harder to make an app using web tech, which as an app, would be on their store. They also have shown no inclination to change their stance.
What it really boils down to is too much is based on hope. I'm just tired of relying on hope for the quality of exporters to improve, and worse, once we get them, having to hope that a quality exporter isn't later screwed up in some way. Because of the recent XP/vista chrome problem, I feel uncomfortable about the exporter situation rather than secure. Are they going to screw something else up? What am I supposed to do if they do if they do? I have no options, and neither do you, which hurts the quality of your product and your user's products. What's worse is that we don't just have to hope for one company to do things right and keep doing things right, we have to hope for a whole bunch of them to do so, and even if they all did everything perfect C2 would still lag behind in speed and miss out on several platforms it could otherwise export to.
I think these problems detract from the perception of C2 as a 'serious' tool that can be used for serious development. When choosing an engine for a serious project that might take years and many thousands of dollars, I'm concerned about how many developers are going to look at C2 and just see too many limitations, caveats, problems and potential problems compared to the competition and use something else. There's too much uncertainty. Many people who choose C2 and discover the various issues will eventually move to other engines because of it, as seen by several people who commented they have already done so in this thread.
I'm afraid I'm still in the native bandwagon. I see how you're playing the long term game and respect it, and I understand your point about trading one set of problems for another, but I think it is more important for your long term benefit to make native exporters, so that C2 doesn't end up as a 'getting started with game development' engine instead of being something worthy of sticking with or even switching to for more experienced developers.