Why HTML5, and the future of exporters

Discussion and feedback on Construct 2

Post » Thu Feb 09, 2012 10:37 am

One way to deal with the exporter hell would be to be able to use C2's projects in CC?
No big loss, as CC is EXE only, DX9 is enough for the software's capabilities, unless 3D comes into the game, which I highly doubt.

HTML5 is spanking new, so relax. Remember that computers increase their firepower all the time, tools improve performance with each new release. Give it a year or so for Construct and HTML5 to mature.

I'd prefer that Ash would give us EXE output as well. I'm not yet able to "think" in gaming through browsers, so I visualize my games being played through keyboard/gamepad.

Either way, C2 is still an infant, so let it grow.
B
25
S
8
G
7
Posts: 184
Reputation: 6,040

Post » Thu Feb 09, 2012 11:02 am

I agree with C2 and HTML5 being a baby as of now. C2 can't really do heavy games yet seeing as it runs on a browser and a platform that's not yet "standardized" or whatever. But I believe that completing the HTML5 exporter is easier compared to other exporters (I think) so I'm patient enough to wait for it to be done.
B
10
S
5
G
8
Posts: 203
Reputation: 4,395

Post » Thu Feb 09, 2012 11:08 am

I dont think you offended anyone with your post Oplus1, Its important for us to know were using the right tool for the job. Im glad your sharing your opinion. Here is mine :)

I see a lot of people getting frustrated trying to make mobile games at the moment. Correct me if I am wrong - but the mobile platform just isnt ready for C2 yet (its really not C2's fault). Maybe Ashley could spend a lot of time tweaking it and get slightly better performance - but at the end of the day until the mobiles change the way they handle html5 its like beating your head against a wall. Why put all the work in when mobiles will catch up on their own?

Dont get me wrong - I feel your pain! When i first started using C2 - I was using it with the sole intention of making Iphone games. However, its time for a new game plan, the App store is not the only way to make money with your creation.

I find it strange that people dont seem to be as excited as I am about Kongregate. They will potentially sponsor your game paying between $250-$2000 as a one off payment - and then you still generate money from add revenue as well. If you dont get a sponsorship - then your free to post your games on all the portals you can find (increasing your ad revenue).

Right now - there is nothing stopping anyone from making a really nice game in HTML5 with C2. Your right about the fact that not all platforms support WebGL (and that it is absolutely needed to really be able to play any intensive games). What I intend to do for my game is simply add a note at the beginning of the game saying that unless you are playing with a WEBGL enabled browser your likely not experiencing the game as intended.

We cannot control everyones experience in our games like you can with a flash game for instance yet (we need to accept this). HOWEVER - Our games arent going to get dusty! (From what i understand web games have an extremely long shelf life). We have the tools NOW to make fine games! Maybe only X percent of the market can truly experience it the way we want them to, but things can and will only improve (and of course your game will still be there when it does).

IMO we should be focusing on using C2 to its maximum potential (IE WebGL) - Not stripping projects back to bare minimum - and then even still, frustrating yourself in order to get any little performance boost you can.GenkiGenga2012-02-09 12:09:47
ImageImage
B
73
S
16
G
6
Posts: 1,038
Reputation: 10,473

Post » Thu Feb 09, 2012 3:53 pm

Thanks for sharing your thoughts! It's always interesting to read analyses like this, and thank you for your kind words about Construct 2. However, I disagree with some of your points :)

[QUOTE=0plus1]the game I'm making for the rotary competition has been stripped of almost everything effect wise I had in mind at the beginning because my pc (that can run crysis in ultra) couldn't get past the 30fps mark with incredible lag spikes.[/QUOTE]
Was it running in WebGL mode? WebGL usually solves any performance issues. If not, updating your graphics card driver can help, but yes, it's a problem that you have to do that. With WebGL enabled, it's going to be pretty close to what the native performance is, so WebGL really is the future of high-performance web games. One of our WebGL benchmarks on my computer got over 14,000 sprites on-screen at 30 fps in Chrome. That's vastly more than most games need to keep a steady 60 fps.

[quote]If I try to run the same game on an iphone it never gets past 2fps[/quote]
Is that iOS 5? We're aware of performance issues on mobile and we're working on some things to make it work better with HTML5 (not whole new exporters). Hopefully some things will be appearing in the near future. Performance tips also has some advice, and since mobile devices have much weaker hardware and currently have weaker software too, you should not expect a game that runs well on desktop to run well on mobile - you have to design it for mobile from the start. With some careful tweaks, I could get Space Blaster working at about 20-30fps on iPad, but admittedly it still wasn't great. The performance tips article has some advice specifically for mobile.

[quote]Not only this, but with html5 I can steal the entire content of a game with a couple of clicks, exposing code and especially assets that can be recycled in other games (and then good luck in court).[/quote]
A common misconception is that the code can be stolen - if you enable 'Minify script' on export the code is mangled in to an unreadable mess, object names are removed, and so on, making it near-impossible to reverse engineer your project. Yes, it's easier to steal images, but your events and logic and project setup are probably safe, and there's always copyright legislation on your side if anyone nicks the images.

[quote]The way I see it the future of casual gaming is in the mobile market be it android or iOS and in cross platform development for indie games (just take a look at all the indie bundles) but absolutely not html5[/quote]
"A good hockey player plays where the puck is. A great hockey player plays where the puck is going to be." We're certain HTML5 is the future of gaming on both desktop and mobile. Yes, it's not there now, but it will be. When we started the HTML5 exporter no browsers hardware-accelerated it so it was really slow everywhere. Now, with WebGL, it absolutely flies, it's just mobile is a little behind desktop. For example, Google just released a beta of Chrome for Android, complete with the super-fast V8 javascript engine and GPU-accelerated canvas, and I'm sure they're going to add WebGL in future too. That's where the puck is going. It's no more of a fad than Flash was.

[quote]you should just consider creating other exporters.[/QUOTE]
This one is pretty easy to answer, not just because we believe HTML5 is the future, but because we can't. For some idea of the time scales involved, we started the HTML5 exporter in January 2011, over a year ago, and it's still not done. We can't yet afford to hire anyone else, so taking on another huge project like another exporter would be suicide for us - we'd have lots of stuff being worked on, and nothing finished, which would make us uncompetitive. Also, given the time scales, by the time we're done, HTML5 would probably have become really solid great platform on mobile anyway! So we'd have wasted our time. We're more than happy to focus on HTML5 only for the time being, since we believe in it 100%, and can't actually afford the time to work on anything else. It's where the puck is going.
Scirra Founder
B
359
S
214
G
72
Posts: 22,946
Reputation: 178,508

Post » Thu Feb 09, 2012 4:24 pm

Thanks for the reply Ashley, yes the game renders in webGL, in the end it was the physics that were creating problems, I currently can get around 60fps with almost a thousand objects on screen, but my computer is a beast.
My iPhone is still ios4 because if I'll be able to get it to run on my iPhone it's fair to say that it'll run better on ios5, I know that it lacks in performance, but I don't think it's a good idea to target only ios5 (although possible).

The minified scripts can be reverse engineered (http://jsbeautifier.org/) but I agree that can be said also for flash.

I understand what you are saying about html5 and while I don't agree I respect you belief in it, the problem is that currently the "hot" trend in games are mobile apps and without proper support you risk losing a big market share to inferior products.

I mantain that construct2 is the best game maker ever made and I'll never stop using it (if ever only for prototyping), the day I'll be able to publish game on the app store with it I'll be the happiest man.

B
29
S
9
G
6
Posts: 525
Reputation: 8,294

Post » Thu Feb 09, 2012 5:44 pm

You should only target iOS 5+ for mobile HTML5 games because it literally is several times faster, I would not expect HTML5 games to work on iOS 4 at all.

JS beautification is not reverse engineering. It just adds whitespace to make it more readable. Since all references to plugins, behaviors, actions, conditions and expressions have been mangled, it is extremely difficult to extract a project even from beautified code. For example, in the script, "cr.plugins.Sprite.prototype.SetX" (Sprite's Set X position action) will turn in to something like "c.x.mF.prototype.q$", making it indistinguishable from any other action, condition or expression in any other plugin or behavior. You still have a long way to go after running jsbeautifier!
Scirra Founder
B
359
S
214
G
72
Posts: 22,946
Reputation: 178,508

Post » Thu Feb 09, 2012 6:33 pm

The conclusion for me is that i'll keep prototyping my games with C2. It's without doubt the best for it. I even can start making some money with Kongregate. But ideally i would want to target PC , iOS, and Android too. More income sources. Currently Game Dev is my primary and unique money source. I just couldn't bear to work on anything else instead of games (i'm mad). So i'll keep dreaming about using C2 for all platforms and go look for suitable engines for iOS and Android. I doubt i'll get the same productivity i have with C2 in any other engine though :( . As Ashley said we can only hope for the future where we'll get absolute and supa awesome and fast multiplatformness with HTML5 tech.
B
58
S
13
G
10
Posts: 632
Reputation: 12,505

Post » Thu Feb 09, 2012 7:14 pm

I can respect the not having the means to hire more people to create exporters. But can you at least shed more light on your plans for Appmobi and if you will it will benefit people looking to create mobile games?

The accelerated canvas is supposedly a way to get around html5 and the native browser limits.


Also if you don't have time for exporters, the EXE one might be easier than you think. Awesomium is free for indies making less than a certain amount, and I am sure that fits most users here.

Could you not find a way to export Awesomium exes, since you do not have to update the export when you release new html5 changes because its a browser that runs the code it will be easy once you have it working, it should be set and forget with no more updates for the exporter.

B
10
S
3
G
4
Posts: 21
Reputation: 3,140

Post » Thu Feb 09, 2012 9:52 pm

I've been looking into awesomium recently and it's really easy to use (used C# version of course). Managed to get it rendering to a opengl texture reasonably fast. But it definitelly is not suitable for making a wrapper right now since : Not only there's no support for WebGL at the moment, but the nature of the rendering process has an evident perfomance penalty: You ask Awesomium if the webview changed if yes than you ask for a buffer containing the current frame . You get the buffer and update your texture with it. Even with all optimizations i think it'll never be performant enough for more complex games. I managed to get a GUI made with pure CSS3 rendering very fast over an OpenGL scene. But GUI displays doesn't change that much so it's fast. But a game is another story. Anyway making a wrapper for C2 should be from really easy to medium complexity.Kiyoshi2012-02-09 21:57:21
B
58
S
13
G
10
Posts: 632
Reputation: 12,505

Post » Fri Feb 10, 2012 12:42 am

I looked in to Awesomium recently, but I found the performance to be really bad - it got 30 fps even with simple demos, and did not support WebGL last I checked. Maybe they don't support GPU accelerated canvas either. I concluded it wouldn't work because it really was choppy and slow. No Web Audio API either.

On the other hand Mozilla are working on another project which sounds much more promising - WebRT (Web Runtime). It's still experimental but you can create desktop apps in HTML5, with shortcuts on your desktop and stuff, and a custom window (none of the address bar/forward/back stuff). Currently you need Firefox installed for it to work but they're also working on a standalone version. IMO that will be the best way forwards for desktop exporter. Alternatively Google might improve Chrome Web Apps to run from desktop too - if you've tried it they already can launch in their own custom window without browser UI, but can only be launched from Chrome.

As for AppMobi we're well aware we need to improve things on mobile. So for the next couple of releases we're going to focus on that.Ashley2012-02-10 00:43:16
Scirra Founder
B
359
S
214
G
72
Posts: 22,946
Reputation: 178,508

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 4 guests