It's kind of an odd question to ask on the official C2 forums, but after browsing a bit, I'm kinda scarred.
I am a 48h game jam developer and ,'till now, I worked using my own set of tools. While this is cool, because I have a complete control and understanding of what I do, I feel like loosing time and being limited especially since I can only compile to Linux, OSX and Windows.
You'll definitely like it here, especially since you can code. The editor can be a bit quirky sometimes, and you'll often find yourself pushing it's limits, but Ashley is always adding features, and you can always crack open the SDK if you want to get your hands into some javascript.
Is the android/iOS export working? I saw countless posts stating they had problems and since I do games with very limited time constraint, I can't afford to loose half a day on a specific platform problem
Yeah it works. The problem is mobiles are always 1~3 years behind the desktop feature-wise, and about 5 years behind performance-wise, so people complain. Right now, physics is possible (whereas a few months ago it used to kill the phone). WebGL still degrades things a bit too much from what I hear, so it's only usable in newer phones (not exactly top-of-the-line, think 2 years old maximum).
I saw like a weekly war going on about "you should go native", well I'm coming from native and I don't think it's the best idea for hobbyist. Is performances that bad? From my test, it looked more than ok for a wysiwyg game editor.
Like I said above, performance is great, unless we're talking about mobiles. Still, seeing as how you're a game jam dev, I would familiarize myself with the engine first, given that the performance issues that occur in mobiles are nearly always caused by the same things (excess physics, WebGL, big textures). Since you're familiar with code, you'll probably be aware of what those problems are, since they happen everywhere.
With native, you spend most of your time dealing with low-level routines for drawing, collision checking and dealing with bugs - Construct 2 takes care of that for you, so you can have a pretty good game up and running in a few hours, and games that would take months to make from scratch in native should take you weeks at most (think super meat boy, braid, spelunky, binding of isaac).
On the other hand, as your project gets bigger (think RTS games, simulations, RPGs), the event system starts to become a bit unwieldy. You can postpone this if you're clever and think outside the box, adopting frameworks, sane variable names, comments, groups and so on.
There's definitely a point where your code becomes spaghetti, and that for me is the biggest problem right now. It shouldn't bother you, though, unless you want to make an epic feature-packed game.
The easy to use shaders is one of the strongest point of C2 to me, allowing quickly done effects. On the same idea, I often use some very basic 3D for effects, is it possible to display 3D textured objects? No animation or anything, just basic 3D rotation and display?
No. People will come up with hacks, but there's definitely no 3D: anyone who says otherwise is deluded. We have basic billboard mode-7 like stuff, achieved through basic trig, but there aren't any rotating objects or anything like that. At best, you can display a 3D planet rotating.
How is the tool progressing : it seems like updates are coming out often, but as users, do you feel there is progress?
Fast progress all around. Ashley is great. May not always have the features you want right away, but the updates never stop.
Also we're not talking about itty bitty patches-disguised-as-updates here either: we actually have full length features being added to the product all the time.
We recently had a debugger (complete with breakpoints and stepping) and the current "big thing" is the multiplayer (with UDP support!) plugin.
Our "patches" frequently add cool stuff as well, such as the recent ejecta wrapper.
And finally : are you happy with your purchase?
Definitely.
Here are some problems you'll face:
- There are few ways to collaborate - two people cannot edit the same project at the same time.
- Code gets messy if you want to do complex games
- Code reuse is poor, due to lack of modularization. Either reuse entire engines or make new engines from scratch.
- Some times, browser vendors do weird things that break the engine, and you have to wait for new versions to come out (such as chrome's decision to disable hardware acceleration in windows XP and vista).
- Some things are impossible to do until browser vendors agree to support it (the biggest problem was multiplayer, but that's now being fixed).
- You cannot "code" directly in the engine. If you want to touch the javascript, you have to create a plugin/behavior with the SDK. It's a painless process, though.
- Integration with 3rd party tools is a pain, unless said tools are officially sanctioned by Scirra (such as spriter or tiled). If you want articy:draft or similar, you have to do it manually (and there are no means to automate the integration either).
Here are some problems you WILL NOT face:
- Stuttering caused by javascript's garbage collector: Ashley has done a great job working around the gc, so this type of pause is rare.
- Display/Behavior inconsistencies: games work mostly the same across platforms. You may find some discrepancies in jump heights, small distortions in effects and differences in physics evaluation, but nothing major. Things work like you expect them to.
- Showstopper bugs: The engine is pretty stable, and you only run into bugs if you dig deep inside the engine. Most bugs have workarounds, and are fixed pretty fast.
- Project corruption: pretty rare. When it does happen, it's often because the developer deleted something he wasn't supposed to. Also it's often possible to recover such "corrupted" projects.
- Hidden "gotchas": stuff works as documented, but for the most part you don't even need to read the documentation. Functions are self-explanatory and work how you expect them to work.