Also, I don't believe game closure's claim of getting native speed out of html5/JavaScript at all. Maybe on the rendering side, sure, but on the logic side? No way. Many huge companies have put incredible efforts towards that goal and no one has achieved it. Besides, you would still be using the same tech C2 uses (html5/JavaScript - so impactjs would also have the same problem), just coding yourself instead, so it would have the same performance issues - and possibly more of them, if you don't know how to avoid Javascript's issues that can hit performance, which C2 takes care of for you (I don't know if game closure or impactjs do anything to help with keeping from generating garbage or such, for example)
What i've understood is that they have native speed while exporting on ios (which is done with one command by the way).
I am not against visual interface and help from the framework. But to give an example, I had to abandon 2 projects because one of them required complex AI logic which was a way too heavy to do with events. It was an action script seek and kill with multiple floors with ladders and multiple enemies.
It took about 2 hours to build a logic, which was buggy by the way because C2's behaviors didn't fit the style, and most of the time was spent on clicking. You may say yeah you can create your personnal plugins and stuff. Well okay but basically it should not happen, C2 is too unspecific (or maybe just too specific to suit all of my needs)
Another bug was happening with physics behavior where you had to move a ball in a labyrinth. Sometimes you've had to rotate at 90° the labyrinth with the ball in it and strangely the ball was falling through occasionally.
Another one where i wanted to use pathfinding behavior with disabled diagonals pathfinding, well in the beginning this went as it should but the movement wasn't straight at the end. The enemy was turning a bit, which my client didn't want. And programming all this with events is a pain in the ass.
Recent project. Where the collision with a trigger should have been spawning an object and moving it along other ones to make the transition seamless. Well there were gaps, that meaned that construct doesn't have a good collision detection for this purpose.
I mean common you can do simple games. But it's a pain in the ass for big ones and complicated ( physically, logically..)
I don't want to write all the code. But it's anyway better to write code while learning stuff than being stuck in the engine limitations.