I have a few projects and I'm currently looking for a game engine like Construct 2. But I know that I'll have complex conditions, and that I'll need common commands such as arrays (multi-level), functions, classes, maybe organize things into modules. In a nutshell, I want to keep the good habits that programmers get over the years.
So my question is easy, is it possible to program and organize my games freely, or do I have to stick to C2 way of dealing things? Can C2 manage very complex logic that might be encapsulated into model classes?
Thank you in advance for your time
You won't make classes as in "regular" programming.
You might want to take a look at this tutorial which displays more advanced C2 use than the beginner's guide. It hopefully might give you a better overview of C2's possibilities.
(This tutorial might also be worth a check with a more "technical" approach)
Concerning your coders habits of writing lines of codes, C2's keyboard shortcuts might bring you a workflow you're more used to.
You can make complex projects with C2 using the full power of arrays, functions, dictionaries, webstorage and even more web oriented objects.
And as Sqiddster mentioned, if you feel you're limited with the built-in plugins and behaviors you can check the third-part plugins/behaviors released and even expand it yourself thanks to C2's SDK.