3 years have passed, not much have changed

Discussion and feedback on Construct 2

Post » Wed Oct 12, 2016 4:39 am

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.
Posts: 525
Reputation: 8,329

Post » Wed Oct 12, 2016 5:08 am

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.
Image ImageImage
Posts: 8,684
Reputation: 127,196

Post » Wed Oct 12, 2016 6:10 am

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.
Posts: 1,762
Reputation: 18,314

Post » Wed Oct 12, 2016 6:54 am

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.
Posts: 525
Reputation: 8,329

Post » Wed Oct 12, 2016 9:26 am

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.
Posts: 185
Reputation: 3,902

Post » Wed Oct 12, 2016 11:04 am


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.
Check out my awesome Android Game releases https://play.google.com/store/apps/deve ... ames&hl=en
Posts: 682
Reputation: 17,194

Post » Wed Oct 12, 2016 12:10 pm

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.
Scirra Founder
Posts: 25,185
Reputation: 200,281

Post » Wed Oct 12, 2016 12:59 pm

Ashley wrote:
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?
Posts: 17
Reputation: 509

Post » Wed Oct 12, 2016 2:51 pm

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.
Posts: 3,139
Reputation: 28,426

Post » Wed Oct 12, 2016 3:11 pm

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.
Construct Classic - Examples Kit Dropbox is a pile of trash and if you need my old files PM me! :)
Posts: 2,274
Reputation: 23,002


Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 0 guests