1) The original poster made well thought out and valid comments. Composable modularity is extremely import and leads to many other side benefits... for example Scirra would do well looking into a company called Propellerhead that makes music software called Reason and the Rack Extensions store they made about a year and a half ago... it really helped them make a lot more money because it encouraged REAL developers to get involved (to make money themselves) and it greatly expanded the power of the entire system.
2) The Scirra people have done a really good job building this development environment. Companies such as Microsoft (and many others) have been trying to reduce the cost to develop software for decades and I have never seen anyone come as close as C2.
3) I have been coding for over 30 years (Basic, Assembly, C++, VB, C#, SQL, JavaScript, others)
I took a few weeks vacation during December 2013 and bought C2 so I could take another shot at my childhood dream (making games) that I gave up once I became a young father many years ago. I have been sitting here everyday as if I was going to work (seven days a week and 9AM-11PM)during this vacation.
So I do not have near the experience with it most of you have, but I have crammed in quite a bit and it is fresh on my mind.
I will say that I can certainly do just about everything that would be expected from a logic perspective in software without having to resort to JavaScript plugins. That was my #1 concern with C2. I figured they had dumbed it down so much to make it easy enough for beginners that advanced developers would be hindered.
Even though I can code in my sleep I still bought C2 because I wanted to get something real done without having to dedicate years to it. By time I get home from work my mind is already tired. After these three weeks I can hardly believe how much of a complete "game" I have done as far as functionality goes.
I spent almost all of my time figuring out how to make my functions and events generic so they are reusable. 99% of this code now can be used for making many different types of games. I am making extensive use of the Family feature and Functions. I also have several arrays for storing all the metadata driving this code (this allows me to customize the code into a specific type of game just by changing the data in the arrays).
What C2 does NOT give you and neither does Unity or anything else is a replacement for experience in abstract thinking and problem solving.
I have read several posts in the forums where people were asking questions that made it seem like they did not even try to figure out how to use the tools at hand to solve a problem. It was as if they thought they could click, click, click, click ,drag drop, click, click, click, and then have Metroid or Castlevania.
The original poster sounded like a pretty smart guy to me, but I bet he just does not have the coding experience to see how Families can be used like Class inheritance and Interfaces. How to abstract out all the logic into data driven functions... and is hoping that using Unity will somehow make his efforts pay off since it is paying off for so many others... and in a sense it will because doing REAL coding will teach him abstract thinking and problem solving... how to effectively use data driven systems instead of hard coding logic... how to use Families to create libraries of reusable Functions.
Everyone using C2 would do themselves a favor learning how to code JavaScript not INSTEAD Of using C2, but to give themselves better insight into what C2 actually is doing for them and how to use it more effectively... and to see how much time C2 is really saving them.
Ultimately C2 might not be the right tool for all situations (3D and maybe publishing to XBOX One for example)... however from my meager experience so far the limiting factor seems to be more on the users end (expecting magic and very little effort instead of a tool and hard work).