Why HTML5, and the future of exporters

From the Asset Store
Set of 11 Parallax Background to make retro sci-fi game.
  • 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!

  • 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.

  • 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.

  • 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.

  • 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.

  • Main reason I am not too convinced with HTML5, it's cos it seems to only be effective on new and powerful hardware and devices. I have no idea if this is going to change in the future or not, because quite honestly, isn't this a really bad setback? I have three computers, one with a crappy video card, Mobile AMD Sempron Processor 2800+ 1.60GHz and 1GB memory. Needless to say, HTML5 games struggle so badly. I have another computer with a 1GB video card, 2GB RAM and the same processor It can take a bit more of a beating than the other computer, but overall it is still a laughable HTML5 experience. I have another one, this one is a Laptop with Intel(R) HD Graphics, 4GB of RAM, Intel Core i3 2.40GHz, 64-bit W7 Ultimate. This computer runs smooth most of the time, but it is considerably more powerful than the other two. Still, it doesn't run at full speed all the time though. When I was looking at the particle effects examples, it did not run at full speed either, most examples ran at 30FPS. My thoughts were, how am I supposed to run a full game that includes particles effects in HTML5 if only the particle effects alone are eating this many resources? The way I see it right now, to run a HTML5 game smoothly, you need a really powerful computer, that is preposterous, since most people cannot afford it and SHOULDN'T have to spend money on a new computer for the sake of HTML5 games.

    Another issue is that with HTML5, as a developer AND user, you not only depend on yer native platform, but also on the browsers developers. This seems a little backwards to me, it is too much dependency.

    Again, these issues need to be addressed ASAP by the HTML5 people if HTML5 really aims to be what it claims. Needless to say, native format 2D games all run fine on the three computers.

    This is about HTML5 and it is not about C2, there's really nothing I can complain about this amazing tool. However, there's plenty that needs to be done to HTML5 and I really hope they resolve them.

    EDIT: Also forgot, although it is possible to play HTML5 games offline, it is a hassle and surely much harder than installing an EXE game on a computer. A casual user is more than capable to install an executable on their computer, but how many are capable of setting up the computer for offline HTML5 gaming?

  • If any one thing is going to take down HTML5 it will be JavaScript. As they say "you can program on the browser in any language you want as long as it's JavaScript". I don't mind using JS; it's bad Lua and I love Lua. ES5 Strict is a major improvement, but I'm not convinced enough game developers will get on board and I can see the day enough developers will throw their arms up in the air and say "forget it".

    Google may doom HTML5 once NaCl is stable and people can go back to their favourite language. It's only a matter of time before NaCl bindings are written for Java, Python, Lua, etc.

  • It's only natural that older hardware doesn't perform as well as the new one, and responds less than optimally to new technology.

    I use two computers at home: a desktop and a laptop.

    I develop my 2D/HTML5 apps on my laptop (3Gb RAM/1.66 Dual Core,128Mb GeForce Go) and use it as the least common denominator, but I have yet to find an HTML5 game that breaks or lags.

  • Hence, the need for more than one exporter. If HTNML5 isn't going to play nice with older computers, the audience will be very limited.

  • True, but you can wait a bit for Construct 2 to have an exporter (which strikes me as odd, considering there's a thing named Construct Classic that exports to exe) or turn towards another tool to make exe's, using Construct to HTML5 only.

    Either way, exe exporting is a demand from the people. Let's hope it doesn't take too long.

    Or might there be a wrapper around?

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Yeah the alternative future where NaCL reigns and you can program in any language you want, compiled languages, like C++, C# and interpreted/JIT/AOT like JS , Python etc would be awesome. It's already a reality in some extents. There's quite a few games using NaCL on Chrome Web Store. The problem is that Chrome holds total control over it at the moment :( But the advantage is that you have the same power of desktops. It performs much better than WebGL and Flash 3D, and ideally will run everywhere.

    One thing i believe: It won't stay how it is now.

    The obvious tendence is to desktop domain to fuse with web domain. NaCL is the first real step towards this goal. Chrome please open source NaCL !! But that's the future.

    The money now is on: Social Games on browsers and Mobile Games of every kind on iOS and Android. End. C2 already covers in an extent the first one. So it's surely in the right direction.

  • I must agree with what VampyricalCurse said about performance earlier. Html5 only runs OK in powerful machines. On old computers (sometimes not too old) they perform badly. Don't need to say anything about mobile. Currently, if you want your game to run smooth you need an audience with powerful hardware and restrict your creations to simple games heading the casual market. You can only have the liberty to create more elaborated games if your audience has top of line machines, and even then you don't get an ultra performance.

    Then there's this paradox: the users who have powerful machines are mostly hardcore players for whom the casual games don't appeal that much, in the other hand the majority of casual audience have slow machines. It's a complicated situation for Html5.

    I'm not an expert on the subject, but from what I can get it seems that besides fully supporting WebGL, the only thing that could make Html5 faster would be to drop javascript in favor of a faster language. But unfortunately I don't see that coming soon. :/

  • Yeah neither do I. JS despite efforts by Google and Mozilla is reaching / already reached it's limits. Too bad it's absolute mainstream now so we won't be getting rid of it anytime soon. The new version of JS is not good enough imo.

  • There is literally one single reason old computers are slow, and it's drivers. That is it. Every computer mentioned here is more than capable of running these games fast with a modern browser. The only thing that can make a game unplayably slow is if the driver or graphics card is blacklisted by the browser maker, and then they switch to a really slow software renderer.

    This is not a problem with HTML5 itself, it's a problem with drivers, but it is still a problem. I blogged about it here.

    Please - before complaining about poor performance first try updating the graphics card driver. That is the most likely thing to fix it. Unfortunately it still does not always fix it, but it gives you the best chance of having a fast running HTML5 game. Unfortunately all your users have to go through that too. But this is not a problem inherent with HTML5: it's solely graphics card maker's fault, for doing a really crap job making unstable drivers. Browser makers don't want your PC crashing as you browse the web so would rather turn off unstable drivers than use them. It sucks, but new computers, or computers with up-to-date drivers, get hardware acceleration then run fine. It's not because new computers are more powerful, it's *just* because new computers have more stable drivers, and old computers tend to have unstable drivers which get disabled by the browser.

    t is a hassle and surely much harder than installing an EXE game on a computer

    I've argued this to death already, but I genuinely do not understand this at all! So downloading an EXE, going through security warnings and having it only work on one platform is more convenient than just visiting a URL like any other website and the game is already running? Surely not!

  • Ashley about the .exe it's not just about installing is about a professional image, a browser game (as complex as it may be) will always be regarded as a cute toy, not a full fledged games, also exe exporting opens the door to desura, steam and all the big boy distribution platforms.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)