CC/C2 discussion

New releases and general discussions.

Post » Thu Jan 31, 2013 7:03 am

Good points have been made but you can't deny that CC is unreliable and, well, dead. If it were less buggy and its output actually ran on most machines (dozens of posts on this) it'd have more of a fighting chance, but that is not the case. I don't see how anyone can spend so long on a CC project knowing all the risks, with not a soul to do anything about them. And what if you absolutely need a new feature? There's been *one* update since C2, right?

If you've already spent years with it and know your way around all the quirks and bugs, chances are you can get something decent going. But even then it's stuck on windows..You can't expect new users to go through all that, especially since CC is not as actively discussed anymore.

Now, on the flip side, the one real advantage I see in CC is that it allows more "traditional" development. You can set up an .exe packaged with external resources, read/write to disk, build and utilize all of your own tools, etc. It was more versatile and familiar in this regard and honestly makes it very tempting to go back. I feel there was certain way I made my games & tools in CC and C2 ripped that right out from under my feet and tossed me Node Webkit (2 years later & courtesy of a 3rd party) & Project Files instead - vastly inferior alternatives afaic. The only way I've gotten so far with them is using project folder "tricks" not covered in the manual.

That said, sorry but I'm with Bartosh on this 100%. C2 was all about this fantastic modular exporter system and now we have, what, over a dozen half-baked 3rd party HTML5 exporters? I love everything else about C2 but when I've got team members hounding me about the possibility of reaching anything outside of a Chrome browser window I tend to regret sticking around. I have witnessed Scirra and their software grow and improve over the years so I firmly believe that things well "get there" one day, but man am I getting tired of waiting on HTML5.Tokinsom2013-02-01 05:21:48
Image
B
225
S
27
G
13
Posts: 1,774
Reputation: 18,024

Post » Thu Jan 31, 2013 7:49 am

@Tokinsom - have you seen the plugin for node webkit that allows file i/o? It doesn't look as user friendly as CC's options but in theory it should allow you to read and write files in a more traditional way. Won't work during preview, though, which is annoying. :/ I really think preview as exe should be implemented.

http://www.scirra.com/forum/plugin-nodewebkit-nodejs-fs-module_topic60723.html

That said, I actually agree about the exporter topic - I really think C2 should export to haxeNME, then it would get native Windows, Mac, Linux, iOS, Android, BlackBerry, webOS, Flash as well as HTML5 in one exporter. It would be all the best parts of CC and C2 in one package and everyone could work whatever way they wanted.Arima2013-01-31 08:10:23
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,432

Post » Thu Jan 31, 2013 9:14 pm

Interesting discussion. Much has been said that was on my mind as well. While I love and prefer the usablity of the event editor in Construct 2, and in fact I'm also using C2 almost exclusively these days, I still do think with a heavy heart of good old CC.

Its DirectX engine just packed a different punch. Just think of effects and sprite distortion. And in regard of what has been said earlier, about C2 rendering faster than CC - I don't think that's a realistic scenario. Like Ashley said in the previously linked blog article:

[QUOTE]Javascript is not faster than C++ - this is not what we have proved. Our Javascript engine does less, which helps explain how with just the right circumstances it can edge ahead of a less efficiently written C++ engine. [/QUOTE]

The right circumstances... which in reality comes down to using Chrome on a recent Windows distribution (or export as EXE which is based on Chromium). So all the other exporting options fall short due to mostly severe performance problems, unless you create a really simple game.

So many exporters are awesome in theory, but in reality many platforms aren't very feasible right now. I don't know if something like haxeNME would be able to improve the situation. Sure sounds intriguing though.

At the end of the day I do think HTML5 has come far regarding game development, but as a true all platform covering solution it still falls flat on its ass. Nevertheless I hardly use Classic anymore, mainly because I'm not willing to put up with the always pending instability of it all anymore. In that regard working with C2 is a much better experience.
B
21
S
6
G
10
Posts: 1,024
Reputation: 7,445

Post » Thu Jan 31, 2013 11:11 pm

I only just caught this thread. It looks like it's had some random posts deleted on the first page too?

C2 is fast superseding Classic in every way. I do think it will exceed Classic in every way eventually, such as having sprite distortion (disclaimer: not saying I'm working on it any time soon, just I'm sure it'll turn up eventually). There's already an API for accessing a sandboxed filesystem in Chrome, but I haven't implemented it yet because it's very much just a Google experiment at the moment and it's not clear if it will become standard.

C2's architecture is vastly superior, and it's far better written and a lot faster, even than native code on some systems. I know that's not true of older systems, but look to the future: today's devices are the old junk of tomorrow, and fast forward a few years and it will be true for almost everyone. Why think about other technologies when it's clear eventually that will be the case? Something like haxeNME could see us maybe a 5-10% performance increase for 6-12 months work - it's totally out of the question - and in the same time HTML5 technology would probably improve so much as to exceed those gains, making the whole project pointless.

I noticed recently Classic doesn't work out of the box on Windows 8 (not sure about 7). There's a security update on Windows Update you need to install before it starts up, because we screwed up some of the dependency management. The reality is it's very unlikely Classic will see any more maintenance. The future is very much cross-platform mobile. Yes, there are problems, such as Android's stock browser sucking really badly. But Chrome Beta for Android has amazing WebGL support. You really can get a 60 FPS game on a phone or tablet, with shader effects and all. Android systems are now outselling Windows systems. The market is moving on. Windows-only is dead (at least in exporting - I know C2 as an editor is Windows-only, and we're thinking about changing this in the long term - disclaimer: again not working on this any time soon).

Tradition changes, and technology moves on. I strongly encourage everyone to upgrade to C2 if you're still on Classic. If there are quirks or missing features or things you miss, post about it in the C2 discussion forum and we can talk about how we can improve C2. We're doing approximately weekly updates, and HTML5, especially WebGL, are getting pretty damn awesome at the moment.

The way things are going, eventually these forums will fall silent and we'll probably see fit to discontinue Classic completely. We're not doing that now, because it's virtually zero work to leave these forums running and people still use them. But I think it's inevitable.

If you're worried about C2 being commercial and having a price tag, I would have to point out: the only reason Classic is free is because we worked it in our spare time as volunteers while students. We lived off our student loans. I'm not a student any more, and luckily I get to do this professionally, which is great. But like everyone else that means you have to make money or not do it at all. So I don't think it's unfair. If we had started Classic a few years later, it probably would have a price tag too. So I guess just count yourselves lucky it was free!Ashley2013-01-31 23:12:25
Scirra Founder
B
359
S
214
G
72
Posts: 22,952
Reputation: 178,580

Post » Fri Feb 01, 2013 3:06 am

I miss the good 'ol phBB3 days...

With regards to C2, as an editor it is overall ending up better than CC, although i haven't used it much yet. There were little quirks working with animations and the like that i haven't gotten entirely used to yet. The audio implementation is also feeling far inferior as it is now, which is some html5 limitation at the moment i think. Then theres the problems with some features being missing, per pixel collision being a big one. last time i checked there's no alternative similar to the canvas object in CC either (to do texture modifications during runtime). distortion is completely feasible in html5 so im sure that will come soon enough. The editor is truly leaps and bounds ahead of CC and the program is way more polished.

With that said.

CC is definitely executing lots of math faster than C2 can. Displaying sprites might be more effecient, but doing anything useful with them isn't, at least from my small experience with C2. CC just feels tighter executing something with a lot going on, and i'm not sure why, but i do admit i need to play with C2 more. My problem is, i really like using per-pixel collision and distortion and lots of big expressions running everywhere, and C2 isn't handling that like CC at this point. I hate that CC games are hard to get running on some machines and i hate that CC runs on windows only etc. There are little bugs i encounter when messing with some plugins or family stuff in weird ways but they've NEVER been something that got in the way of my development of anything at all. I just wish C2 could get some OpenGL windows/mac application exporting capability so per-pixel collision and canvases and lots of expressions were as feasible as they were in CC (Likely they would be much more so since C2 is so much more efficiently written).

As things stand, i really like to use CC because i can make some really cool stuff with canvases, per-pixel collision, xaudio2 and distortion. I've even written some pixel shaders that can use the canvas in a feedback loop to simulate mass particles on the gpu through a texture/effect that you paint into. dunno if i could do something similar in C2 yet but i'll try soon. I have no qualms with C2 aside from those things. Its really an amazing piece of software and for 95% of the people who did use CC, its entirely better. theres still a few of us around however who like pushing lots of limits and have hit barriers with C2 that aren't so easily reached in CC at this point in time.

Spectrum Wing by my brother is another "simple" game that would be impossible to make in C2 because of the dependency on canvas and per pixel collisions. If you were to say you could make everything in c2 that you could in CC you would really be mostly right. you can make pretty much any SNES game, and any game in that vein, it's just as you move into more fringe requirements that it falls off, and that's why i recommend everyone to C2 if i do bring up Construct somehow.
B
52
S
7
G
6
Posts: 1,945
Reputation: 7,610

Post » Fri Feb 01, 2013 3:46 am

Since all the oldies are posting I thought I throw in my 2 cents.

I love Construct. Both Classic and C2. They're both amazing projects, and it has been such a joy to watch them grow.

C2's IDE feels so damn snappy (apart from the image editor). It's a joy to work with really, even though I've only used it for a few hours so far. The one-click expression editing that classic had is missing at the moment however.

What bugs me about C2 is the lack of a few key features.

-Audio: It's not C2's fault, but let's face it, the audio support is bad in HTML5. You can't change the frequency of sounds the same way that Xaudio could , and I used that feature like crazy. (last time I checked it just made a horribly crunchy noise on chrome, the browser with -supposedly- the best audio support)

-Color filters: it requires an effect, and 3 actions to change a color filter in C2. Not the end of the world, but I really liked that color filters were an integral part of the rendering engine in Classic, with 1 action call. And with no shader performance hit, it allowed you to recolor everything, at will, effortlessly. An enormous plus. Furthermore, Since webGL on mobile is iffy atm, then color filter support in C2 is doomed to modern pcs with FF and Chrome only, perhaps an equal fate to being windows only. Since a game's design and look can depend entirely on color filters, running the game without the effect is not an option.

-Per pixel collision: Not having this cuts out a lot of potential games.

-Slower code performance: Sure, C2 might be able to pump more raw poly's, but what happens when each of those objects has 10 collision checks and 50 conditions per frame?
B
25
S
3
G
6
Posts: 1,197
Reputation: 5,620

Post » Fri Feb 01, 2013 4:02 pm

In response to what's been raised:

Audio: this is being worked on. The Web Audio API (already supported in Chrome & iOS 6) is as powerful as XAudio2, and we should be able to port most of the missing audio features to C2 in the near future. I've got an overhaul of the Audio object planned in order to add these features, I'm basically waiting for Firefox to implement the Web Audio API (to prove it's not a webkit-only feature that doesn't gain favour with other browser makers).

Canvas: this third party plugin might help

Per pixel collision: surprisingly few people have said they miss this in C2. Do games really absolutely have to have per-pixel collisions? I thought collision polys were acceptable in almost all cases. Can someone show me some gameplay mechanic that requires per-pixel collisions? Polys have some additional advantages such as not needing so much CPU, being able to be shared with Physics, and if we implemented shadows & lighting then it can be shared for that too (which has to be polygon based).

Sprite distortion: will probably eventually get implemented for the WebGL renderer

Color filters: can be done with WebGL, but is not easily supported in canvas2D, which is why it was moved to a shader. WebGL is in its early days; it should be much more widespread in future, and you should be able to count on it being present on some platforms eventually (e.g. maybe Android or desktop). Or you can implement canvas2D fallbacks, or just require WebGL support (check on the start screen or something). Not quite as smooth as Classic, but it does work cross-platform.

Slower performance: most games (that don't use Physics) are bottlenecked by the renderer. If you can send me a C2 project that is bottlenecked in logic, I can run some profiles and see if I can optimise it. I haven't seen many logic-bottlenecked projects in C2 though.
Scirra Founder
B
359
S
214
G
72
Posts: 22,952
Reputation: 178,580

Post » Fri Feb 01, 2013 9:40 pm

To determine just how much faster CC's event execution speed really is I decided to do some performance tests.

Create 40,000 sprites:

CC: 1.2 seconds
C2 exported html: 1.8 seconds
C2 preview: 18.5 seconds

Edit: I screwed up this next test, redid it on the next page

3000 sprite instances checking if not overlapping 3000 sprite2 instances, rotate sprite 1 degree

CC: 3 fps
C2 exported html: 3 seconds per frame
C2 preview: 10 seconds per frame

check sprite var=0, set sprite var to 0 and rotate 1 degree 50 times per frame on 3000 instances

CC: 9fps
C2 exported html: 4fps
C2 preview: 2fps

While these tests aren't covering everything, they are common and I think give a good basic comparison.

So CC appears to be anywhere from about 33-100% faster (though those percentages are not entirely correct due to more work being able to be done per frame at lower frame rates).

Collision detection, the area that was 100% faster, is probably an exclusive case considering I remember it being mentioned how many hardware specific optimizations were made for that in CC, and they might not even apply to other platforms like mobile since some of those optimizations required MMX.

While the speed difference seems to be more than 20-30%, I think as much as I would like the extra speed I'm beginning to side with Ashley on sticking with HTML5. 33-100% extra speed would be nice, but I thought it would be more - probably because I run C2 games most of the time in preview mode, which slams the event execution speed hard.

I'm beginning to think that the benefits of HTML5 outweigh the benefits something like haxeNME would have (not to mention how long it would take to make that new exporter, and therefore the delay in other added features).

At least for what I'm making, C2 has sufficient speed for very close to everything I want to do with it - the only speed problems I've hit have been one thing on mobile and something I wanted to do on desktop that CC couldn't handle either. Obviously that is not the case for everyone's projects, but I think C2's speed is sufficient as is, and performance improvements are still being made - not to mention the optimizations I can make.

I think people might be getting a bad impression of C2's speed from the preview, thinking that's its full speed. It has checks so as shown it can be a LOT slower than the exported HTML. I was getting a negative impression before I did these tests even though I knew the exported HTML is faster. I didn't realize how much faster it actually is.Arima2013-02-02 05:52:57
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,432

Post » Sat Feb 02, 2013 2:04 am

3 seconds per frame is 0.33 fps, Vs 3 fps. That's not 100% faster; it's 10x as fast; 900% faster

4fps VS 9fps is over twice the speed, over 100% faster.

it's not 30-100%, it's more like 100-1000%

That's a huge difference.

Did you make sure to set collisions to bounding box as well in both c2 and cc?

Also, more work CANNOT be done per frame at low fps, assuming rendering always finishes first; It just can't spit the logic out fast enough. Rendering finishes in a fraction of the time, and the cpu is just chugging, trying to finish calculating the event sheet.Davioware2013-02-02 02:13:33
B
25
S
3
G
6
Posts: 1,197
Reputation: 5,620

Post » Sat Feb 02, 2013 2:45 am

While the spread information is interesting, I don't think it will be a determinating factor for many users - I guess it is simply a choice between making Windows only games and multi-platform ones. For me, as a new user, this is the main question.
I am considering CC only because, as an oldschool gamer, I feel more at home with .exe files and saving to a file instead to cache.

Saying that, I think that Scirra is correct in pursuing html5 for their engine, as the web is going heading into html5 era. They are exploring new grounds and I salute them for it... almost as much, as for releasing CC to the public free of charge.

I am wondering, how easy would it be to port a simple game between CC and C2? Has anyone attempted it? I am curious of the results.
B
16
S
3
G
5
Posts: 44
Reputation: 3,231

PreviousNext

Return to Construct Classic Discussion

Who is online

Users browsing this forum: No registered users and 2 guests