Thanks Scirra!

0 favourites
  • Ignoring money, both GM and C2 can be equal performers, with everything depending on the ability of the developer. But for the money that it's worth... yeah C2 is a better bargain.

  • Ignoring money, both GM and C2 can be equal performers, with everything depending on the ability of the developer. But for the money that it's worth... yeah C2 is a better bargain.

    Indeed! There seems to be a lot of hate for GM on this forum, but the truth is that they are both great tools and have their own inherent strengths/weaknesses.

    I started out with C2 at the end of last year and I ended up getting so frustrated with poor performance on my platformer that I ended up buying a pro GM license a few months ago. Currently I am developing several games in both applications, so am quite aware of the pros/cons of each.

    GM kills C2 in the performance stakes, since it does native exports. It also benefits from having features such as paths, timelines, scripting, per pixel collisions, debugger, SVN , etc. Wheras Construct is much faster to use and has a more elegant workflow/gui with a nice layering and events system. While using the event sheets is great, at a certain level of complexity I would much rather be scripting it!

    And if C2 had native exe export I probably would have never even tried GM! This is why you are paying so much more for the full studio version of GM, as the standard and pro versions are actually cheaper than C2. YoYo have many more devs than Scirra and most likely most of them work exclusively on the exporters. I would be more than happy to pay an extra few hundred for an exe or apk native exporter for C2!

    For my projects that will be aimed at the desktop/mobile/Ouya market I will mostly use GM and for the web I will use C2. For non-web destinations, C2 is too reliant upon 3rd parties which is too much of a unknown for me at the moment. HTML5 for games will certainly be viable for games in the coming years, but if you want decent performance on older machines and mobile, it just isn't there yet IMO.

    As always, you need to pick the tried and true tool for the job. Like the saying goes...If the only tool you have is a hammer, then every job looks like a nail...

  • Nice points zendorf. I'm neutral with GM because I know it is a tried and true engine and it's just my personal taste that I decided against GM. Nothing can yet be said for certain with C2 because everything about C2 is new, even its philosophy is to be ahead of the technology at the time of this discussion. That adds up into a lot of uncertainty compare to GM which conforms to current, tried and true technology.

    Like you said, C2 relies a lot on third party technologies, which themselves are new as well. Until HTML5 is more stable, we continue to be in an experimental age right now with C2, and it's up to all of us to either push this to be the next norm or keep this as a toy.

    With that being said, arguing about what the future is going to be like for these game engines is moot and the only way to find out is to use whatever works. C2 let you do something complex for other engines in a day? That's great. Feel better off to write scripts for a mechanic than endlessly drag-dropping bunch of objects and events? Go for it. Stick with one engine, use several engines, doesn't matter. Our actions over time will tell what will work for the next generation.

  • I would be more than happy to pay an extra few hundred for an exe or apk native exporter for C2!

    Really? Construct 2's desktop exporter using node-webkit outperforms our old C++/DirectX 9 renderer. I genuinely think Construct 2's performance is comparable to native engines, and will be on mobile as well as soon as WebGL arrives (which should be here very soon via CocoonJS).

  • Poor performances with C2 can come from mistakes in designing, as expressed in that blog article.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Poor performance in node webkit can also result from an old graphics card without OpenGL properly installed (which causes it to use a technology called ANGLE which converts OpenGL calls to direct x ones, but it does degrade performance, though I don't know how much), or a blacklisted driver, resulting in it rendering via software rather than hardware. I'm guessing one of those is what's happening on a old laptop I have access to with a mobile intel 945gm express graphics card because the framerate does take a noticeable hit in comparison to a CC direct x 9 exe, but on gpus without those problems as Ashley said it renders faster than construct classic does.

  • Sure, if you have current hardware and a decent graphics card you can get good performance out of C2/HTML5, no question. But I want to cater to a general market that may be running less optimal/slower hardware. I shouldn't expect a potential customer to have good gaming rig just to play a fairly simple 2d game.

    Even though I have several i7 workstations and laptops , I am intentionally doing most of my development on an older centrino laptop(HD 3670) to keep my performance expectations realistic. Since this laptop runs all of my Steam games fines such as Rayman Origins, Limbo, Trine, Botanicula ,etc I know that the hardware is quite capable of running an "indie" style title. If I am struggling to get even a consistent 30fps out of a much simpler C2/HTML5 game (at 720p) under chrome/node webkit I have to question the viability of HTML5 on older hardware.

    I am also testing out a physics based game I made with C2 on my Asus ep 121 tablet(i5 proc and HD3000 gfx) and getting totally unusable results(less than 20fps at best). On my centrino laptop with an old Radeon card it is much better at double that. Still, I do seem to get lots of random slow downs on all my games, and I have massively optimised and stripped them down over time.

    Just getting to the point where I wanted to finish some games and not spend all my time just trying to optimise, hence why I started dabbling in GM and finding I was getting massive performance gains. I haven't had anything drop below 60fps yet on the same hardware. And for what it is worth, I have been trying out other C2 users work to see how the performance/frame rate is and finding the same issues. No doubt HTML5 output from GM or Stencyl will have the same issues.

    Please don't take this as a slight on C2, as it is a joy to work with :) I will continue to use it for games that don't require high performance and don't have physics properties. This will be less of an issue in coming years with higher quality GPU's as standard(Haswell) and more optimisation of HTML5 and browsers in general.

  • zendorf - I agree with your frustration on the matter. The simple truth is that direct x has been better supported on Windows machines than OpenGL (unsurprisingly, though it has been getting much better as of late), and as such since C2 uses OpenGL, it's more vulnerable to the mess that are some drivers for some of those older graphics cards out there (there aren't any driver updates for the card I mentioned earlier, for example) - and there doesn't seem to be anything we can do about it except wait for people to stop using those graphics cards. It will get better as more people migrate to new computers, but for now some users simply get disappointing framerates on windows. :(

  • I personally didn't know what to expect when I first started with C2. I had seem GM before but it didn't interested me. What got me to take notice here was the community. Lots of sharing of ideas, it just seemed like it had potential in a lot of different ways.

    I can't say I am fully up to par with every ability that C2 is capable of but I can say it can make games that look as good as any it really just takes the effort. As for exporting and third parties. Webkit seems to work completely fine from the testing I've done and the performance, at least for me, is better than chrome browser in r129( have not tested since).

    I have had some problems with C2 don't get me wrong, but they come more from inexperience and misunderstanding. And there are things I would like to see, native exporters would be awesome. But the price point for C2 is really spot on, changing that would isolate a lot of potential game creators. So third party exporters are fine with me as long as I can figure them out lol;)

  • Arima, yes it does seem to be a DirectX vs OpenGL issue. Would be interesting to know how many commercial 2D PC games use OpenGL instead of DirectX these days.

    The integrated HD3000 in my Asus tablet is giving awful performance for my C2 games, even though it has a decent cpu, it all seems to come down to GPU power. The HD4000 is pretty much the standard in most laptops these days...how well does it fare for HTML5 games?

  • If I understand well, it is more a compatibility with graphic card driver problem than a problem with C2 itself, I know that is problematic, but this reminds me something, not sure everyone encounter this kind of problem before:

    When you buy a PC game at a store, on the box, there are a configuration list, to know if you can/can't play the game at all, or how well it will play.

    Maybe, it is possible to make a program/Page that check if the game is compatible, and if not, how to make it better (@Ashley like the scirra mark, but for PC, could this be possible?), also, if you want to check if an executable will eventually work on a PC (and mobile phone maybe?), why not also make a Demo of the game

    EDIT: also, a compatibility mode, if it is not to hard to implement, can be good as well (les/no particles, less effects, etc...)

  • zendorf - the problem is probably solely to do with graphics card drivers. Even old laptops should be able to easily get 60 FPS when using hardware acceleration. Your results sound like you're getting software rendering because your driver is known to be buggy. Updating your driver may fix it and give you 60 FPS again.

    We experimented with the node-webkit exporter forcing hardware acceleration to be on all the time, and we got lots of bug reports of crashes or games rendering with really bad glitches making the game unplayable. These were all graphics card driver problems. So we realised they're disabled for good reason. You'll probably have these kinds of problems (crashes and severe glitches) with any engine or framework that uses hardware acceleration; just wait until you publish your game and see if you hear about people complaining of crashes or glitches. Top commercial games have the resources to spend days or weeks working around catalogues of obscure driver bugs; most smaller companies can't do that. With C2's engine we decided to follow Chrome's policy that reliability is better than speed. Users with reliable systems get great performance, and users with unreliable systems get slower but reliable games. Software rendering may be slow, but it avoids the many crashes and glitches caused by graphics card drivers, so at least the game works for that user rather than being totally unusable.

    So this is a deliberate decision to make sure your games are playable on a wider range of systems. You should advise users to update their graphics card drivers regardless of which technology you use, to ensure maximum performance and best reliability. If users playing C2 games also update their drivers, they are likely to get significantly better performance if they previously got software rendering.

    In our experience, graphics card drivers are the #1 technical problem with games on any platform.

  • Thanks Ashley for the valuable info! Is there a flag or variable in C2 that I can add to my game HUD to display if it using hardware or software rendering? This would be useful when I try it out on various PC's.

  • zendorf: Display the "Renderer" system expression in a text object for example.

  • Kyatric - I think that actually doesn't display anything other than canvas2d or webgl, even in software mode.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)