3 years have passed, not much have changed

0 favourites
From the Asset Store
Assets for creating mountains and ravines environments
  • I am writing this post mainly to vent.

    I decided to re-release an old game on ios and boy has it been a nightmare.

    1) Perfomance is ridiculously bad. 3 years ago I released the game with Ejecta (and lots of sweat), I come back now, after keeping up to date with all the benchmarks and so on, only to find out that performance with XDK is terrible.

    2) Dependencies on questionable plugins. Seems to me that C2 depends on some third party libraries (cranberrygames for admob for instance) that although are official features, rely on plugins that are not always up to date or optimised. Currently opening the xdk project that comes with the exported files from construct results in many errors for missing plugins (admob and iads off the top of my head). Not only this, but there is no official list for cordova plugin that C2 needs. Some of them such as httpd are used only in fringe cases (video on wkwebview) and finding out this information requires lots of digging around.

    3) No low latency support for audio, I found a tutorial I wrote myself 4 years ago about low latency audio on phonegap, today, we still have no proper audio support. Loading an audio track on ios takes between 5 to 10 seconds, resulting in an unusable mess. This on top of the fact that no audio plays unless there is at least one user touch.

    4) Games do NOT run fullscreen unless "StatusBar.hide();" is called with the browser object.

    I am speechless on how little has changed, for a game maker which is marketed as being user friendly as well as exportable to any platform it misses the mark by a mile. My choices are to take again the huge task of making C2 work properly with Ejecta or simply port the game to a more sane engine.

    With all the best intentions, from old time user that contributed heaps to this engine.

  • I keep waiting for someone to come along and tell us how sane some other engine is.

    What with all the code, and syntax, and third party dependencies.

    Or maybe these minor annoyances melt away with the nightmares of integrating third party api's, slow development, and undocumented examples.

    I understand how bad performance can be aggravating, but the truth is, if it's slow you may be expecting too much, and just like the deal with sound needing a touch, needs to be worked with.

  • Disagree on the performance, it's a heck of a lot better than 2 years ago, with WKWebView on iOS literally 5-10x faster than the old UIWebView.

    The audio related issues, yes, they are indeed very annoying.

  • newt

    Construct2 is an amazing product, that falls short in the production state of a project. Unless you deploy on web, debugging a "compiled" game especially on mobile is not only a nightmare, but an incredible timesink as well. Not only you depend completely on third party wrappers, but you are faced with a debugging pipeline as follows: deiscover an issue -> go to construct -> try a possible fix -> export -> import in the wrapper -> compile -> "debug" (which is quotes as it's not real debugging) -> rinse and repeat. All of this, other than being frustrating, adds hours to simple tasks.

    I can't stress how much I want to believe in construct, but at the same time I cannot justify using it anymore, it's too much of a risk having a completed game which is hazardous to deploy.

    As far as telling you how sane an engine is, I would recommend unreal engine 4, blueprints are very easy to work with and quite powerful, with the added bonus of working with a very well though editor that helps you understand how things work in a professional game engine. As daunting as it may sound, the added dev time, is counterbalanced by a reduced optimisation and deployment phase, as well as an easy pathway to direct device debugging.

    Sure it is a lot better, but this simple game: https://itunes.apple.com/bf/app/pigs-in ... 67465?mt=8 runs way slower on WKWebView today than it did 3 years ago with Ejecta. I thought republishing it would be a quick task, turned to 3 working days wasted, sure I could optimise, sure I could write my own plugin to interface with zero latency audio plugins on cordova, but for such a simple game, rewriting in another engine sounds like a much faster option and it really is a big big shame.

  • Very agree with point 2: plugins confussion.

    I´m using now construct for more than 1 year and still have problems with plugins and for sure I don´t know the most of them and its possibilities.

    An official guide about plugins up to date would be great.

    Looking for plugin stuff in the forum is a mess, you only find problems, not solutions.

  • 0plus1

    I don't know the specifics of your project but maybe I can help I made a tutorial on mobile optimizing that covers alot here

    After you read it tell me of any specific problem and maybe I can help.

  • Our focus since early 2015 has been on Construct 3 development. With respect, there still have been some significant changes if we wind back 3 years and look at what's happened since October 2013:

    • we added tilemap support (!)
    • added a new asm.js powered physics engine (2-3x faster)
    • added Crosswalk support for Android so modern Chromium engine can power games on old Android versions
    • ...then Android 5.0+ added a Chromium-powered webview with WebGL, Web Audio etc. making Crosswalk unnecessary on 5.0+
    • added Wii U support
    • Microsoft released a whole new browser, Edge, which we fully support
    • added Windows UWP app support, including (currently beta) Xbox One support
    • added the entire Multiplayer engine
    • iOS 8 was released with WebGL support which significantly improved performance
    • iOS 9 made JIT-compiled JS code in Cordova a possibility in WKWebView, with further significant performance improvements
    • we deprecated non-browser platforms like Ejecta because they actually had more problems, ranging from memory management bugs to major missing features like Web Audio, form controls, XML parsing etc. etc.
    • started C3 development
    • released all-new Scirra Arcade
    • performance increased significantly across all browsers and platforms
    • WebGL even works on a Raspberry Pi now
    • many NW.js updates
    • new C2 features include low-res fullscreen, better editor high-DPI support, speech synthesis, real-time shadow casting, video support (!), more form controls (including File Chooser), touch gestures, global layers, workflow improvements such as better autocomplete and new asset reimporting tools, new Local Storage plugin, rewritten offline support using Service Workers, canvas video recording, audio scheduling, 'Sort Z order' action
    • more C2 bug fixes and compatibility changes than I could count

    I'm sure I've missed some.

    iOS support is actually now faster than Ejecta ever was. Ejecta was locked in to interpreter-mode-only Javascript execution, but the new JIT in WKWebView compiles JS code, so it should be much faster (and the measurements in our blog posts demonstrate that objectively). That's part of why we dropped support for the non-browser wrappers: not only are they missing loads of features, but by now they're actually slower, contradicting the original reason they exist in the first place. And Cordova supports virtually all of C2's features. So I don't know why your app would have poor performance, or why audio decoding would be slow (always been fast on iOS - Android had a bug that made decoding slow for a while, but it's fast again now). In fact low-latency audio is supported everywhere with Web Audio, including in Microsoft Edge, and the new audio scheduling feature allows sample-accurate playback timing. If you share a minimal .capx demonstrating any issues I could investigate, but so far I believe everything is working much better than you describe!

    4) sounds like a feature request - file a bug and I'll get to it if it's that simple.

    2) is a weak point, I admit - it's really frustrating how quickly the Cordova ecosystem moves and things do break regularly. It can take a lot of time and effort to fix that and balancing that with C3 development is hard. Still I want to do something about this soon to make it better. I should add though, that if you want a definitive list of the Cordova plugins C2 uses, it lists them all automatically in the exported files when you choose the Cordova exporter, in formats suitable for both Phonegap Build and the Intel XDK. Open config.xml and you should see them all listed there. Note it changes depending on the features you use.

  • 2) is a weak point, I admit - it's really frustrating how quickly the Cordova ecosystem moves and things do break regularly. It can take a lot of time and effort to fix that and balancing that with C3 development is hard. Still I want to do something about this soon to make it better.

    Will we still have to rely on 3rd party monetisation plugins such as cranberry in C3 or will monetisation plugins will be maintained? I would pay more for those plugins . What is the plan for C3?

  • Your best choice is: Unity3D or GameMaker since they offer professional runtime and native APIs.

    Construct 2 was best prototyping tool to make quick prototype games and provide feedback to the users or the clients, I wouldn't use C2 for professional games until the prototype is being ported to gamemaker or unity3D.

  • Although I presently agree, especially with Joannesalfa 's comment (for anything professional/a real full-sized game/a console game), HTML5 will only get better!

    HTML5 won't be a massive performance drain once everyone is running the equivalent specs of an Xbox Scorpio (or Xbox One for mobile), and given the way technology evolves that's probably coming in a couple years.

    Until then, C2 is still awesome for prototyping, web games, and small mobile / PC games. Even some WiiU games if your game is kept pretty casual (puzzle games?).

    Then if there's success you can always go the route of other big C2 games and port it:

    Super Ubi Land https://community.unity.com/t5/Non-comm ... -p/1242879

    The Next Penelope http://nintendoeverything.com/blitworks ... ii-u-port/

    Or, if you don't want to hire a coder/do code, there's a few other options that export native while using the "click and drag" code style like C2 does.

  • Considering C2 isn't native, it's doing so very well.

    But if you have already earned enough money, you can always buy a native engine or use Unity 3D or 2D for free.

    Btw. C2 has changed a lot! You just didn't feel it but we do.

  • I think a lot has changed in 3 years but C2 still relies too much on third-party projects to get anything done.

    You want to release your game on iOS/Android? Then you'll rely on Intel XDK, Cocoon or other tools.

    You want to release your game on Windows/OSX/Linux? Then you'll rely on NW.js.

    C2 works well with HTML5 of course, but that's just until you need to add a website's API to your game to try and make some money.

    In my opinion Scirra is really missing out by not having separate paid exporters for these, like GameMaker and Fusion 2.5 do. Still I've heard that most problems with C2 currently are due to it being made in a old version of VisualStudio and that's why they're focused on C3, so that's pretty important to get done before anything else.

  • PixelPower

    thanks it is a very well made tutorial, certainly inspiring, but where does it stop? My game, other than being pretty bad, is also pretty simple, if I need to optimise a game of the caliber of Pigs in the Oven there is something wrong with the tech itself, simple as that.

    Ashley

    nothing has changed in the performance department on mobile, C2 has made amazing progress. Performance has improved, but we are still far away from anything comparable to native, and this is the sad truth. While on desktop with NW performance is great, on mobile we are still not up to standard and that is certainly not Scirra's fault.

    Regarding point 2/4 it all boils down to a non-optimal workflow, it simply not feasible for a professional tool to have to rely on filing bugs on the forum for something which is that simple and it's supposed to work, as you said, this is not your fault, cordova moves fast and there is a lot of unmantained and low quality plugins.

    I feel that Scirra should take over the development of some of cordova plugins directly related to C2 core functionalities, that and forcing a known stable version of cordova. I am sure that most of the issues I am facing are due to xdk using something not entirely compatible with C2, and that is fine, what is not fine is that we are left in the dark about what exactly is compatible with C2.

    I feel like there is a big push on your part to make newbie friendly deployment of apps on android and ios, with phonegap build and intel xdk, but when such products produce all kind of errors, there is clearly something wrong, something that might turn to be off-putting for inexperienced users. I understand why you removed Ejecta exporters, but the thing is that with Ejecta you know where you stand, plenty of release notes, plugins are all directly mantained and peer reviewed by a close community, you kinda know where you stand, same with something like ionic, ionic itself sorts out cordova and plugins versions, so you might not have bleeding edge functionalities, but you do have stability and that is ultimately what I am looking for in a professional tool.

    For what concerns audio, on ios is a know issue that you need an initial touch to start audio, as outlined by you in a comment, on ios audio is definitely not low latency as it depends on the webview, it would be much better to interface with something like this: https://github.com/floatinghotpot/cordo ... ativeaudio . I will be more than happy to provide you with the full capx of Pigs in the Oven it's around 30mb if you are ok with that I will send you a pm with the dropbox link, I will include a list of all the issues that I've been facing with intel xdk.

    You know how much I've cared for C2 and I will be the first one to buy C3, this is why I keep fighting for it.

    It's such a shame because it's an inch to being a production ready game engine, but it misses the mark in some key areas, to the point of becoming a very good prototyping tool to then be ported elsewhere.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • nothing has changed in the performance department on mobile,

    I've written a number of blog posts, with objective measurements, that show it has. I don't think the fact one game that potentially has a performance issue outweighs all of that?

    [quote:7mdwrekc]I feel that Scirra should take over the development of some of cordova plugins directly related to C2 core functionalities

    I agree. Hopefully we will start this soon.

    [quote:7mdwrekc]I feel like there is a big push on your part to make newbie friendly deployment of apps on android and ios, with phonegap build and intel xdk, but when such products produce all kind of errors, there is clearly something wrong, something that might turn to be off-putting for inexperienced users.

    I don't think anyone properly appreciates how many people are successfully publishing Cordova/desktop games with Construct 2. If everything works fine, there's not much reason to post to the forum. If things don't work, people tend to come and post on the forum. I think this creates a distorted perception that these tools are not working at all. For the most part, I think they are working fine. That's not to say nobody has issues with them, there are bugs and issues like with any technology, but I think it's blown out of proportion.

    [quote:7mdwrekc]on ios is a know issue that you need an initial touch to start audio, as outlined by you in a comment

    Yes, that's true, it's a restriction Apple enforce. It only needs one touch though then all audio will play back fine.

    [quote:7mdwrekc]on ios audio is definitely not low latency as it depends on the webview

    As far as I am aware, sample-accurate playback works on iOS, in both webviews - they both support Web Audio.

    [quote:7mdwrekc]it would be much better to interface with something like this: https://github.com/floatinghotpot/cordo ... ativeaudio

    I am baffled as to what to do when on one side, we are criticised for relying too much on third-party code, then on the other side, people are suggesting to solve problems by relying even more on third-party code. And that project appears to be relatively unmaintained (last changed 7 months ago) and has open bugs like sound doesn't play on iOS 10...

    [quote:7mdwrekc]I will be more than happy to provide you with the full capx of Pigs in the Oven it's around 30mb if you are ok with that I will send you a pm with the dropbox link, I will include a list of all the issues that I've been facing with intel xdk.

    Sure, please send it over, I want to take a look and see what is going on. I have PMs disabled on the forum, please email me at ashley@scirra.com.

  • PixelPower

    thanks it is a very well made tutorial, certainly inspiring, but where does it stop? My game, other than being pretty bad, is also pretty simple, if I need to optimise a game of the caliber of Pigs in the Oven there is something wrong with the tech itself, simple as that.

    In my experience, you always need to optimize, especially true for mobiles.

    There's no way around it, not until there's enough brute force in devices to overcome inefficient coding.

    And yes, C2's event system is very much coding. How you do it has a massive affect on the final performance.

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