Construct2 - Just for prototyping?

  • Hi everyone,

    I ve being using Construct 2 for a while and i really find it a great tool, very easy to learn. The thing is I continuosly hear from "proffesional" or more experienced game developers that C2 is a great tool for prototyping, but not for making a "commercial" game. Some arguments i have heard are that it runs "slow", but i would understand that is day by day a less meaningful argument since computers get faster all the time. I am not a programmer, nor a very technical computer person. Does really C2 start limiting developers in bigger scope projects? Is it really "slow"? Which are C2 limits? If speed is the issue, shouldn't Scirra work more in code efficiency over adding new features every week?

    I am a big fan of C2, but i think this discussion may be interesting.

    Best regards,

  • I wonder who are those "profesionnal" that say this, performances are an issue only on mobile, and even then, it is mostly with old devices (people are targetting those because they are still in use, or because publishers wants them), at the end it is.

    the other issue is the wrappers, but with crosswalks getting better and better, and Ejecta starting, this issue will be took down in the long term (again, not talking of old devices).

    With careful design, I didn't had performances issues, mostly audio issue on phones and tablet, but apart from that, not that much issues.

    Performance wise, it is the best HTML5 engine I've seen, some says HTML5 is an issue, but why did they bought it in the first place then, is beyond me anyway, and sometimes updates improves performances, the hard part is not breaking anything by doing that.

    As for the features, people are asking for them, some says "it should improve performance instead of pleasing everyone!", but performances are fine, and by implementing those features prevents people doing it wrong by themselves and complaining about performances after that anyway.

    Just try it, and see if it works for you.

  • C2 is fine for making a commercial game. The concerns about it being slow are due to it using JavaScript, which isn't as fast as native, but it's fast enough for pretty much any game on desktop. On mobile, reeling it in is required, but as long as you test frequently and keep the game simple enough, good framerates most certainly can be achieved there too (especially on newer mobile devices, they're becoming quite powerful). It also helps that the situation on mobile is improving quite a bit - iOS 8 will have webgl and jit for apps, speeding up both the logic and rendering considerably. I've also tested C2 with lots of assets on PC and as long as I keep it within the realm of what my hardware can handle (like not trying to load 5gb of art on a 512 mb graphics card, which native coding has to do too) it works just fine.

    The idea that C2 is only suitable for small prototypes is incorrect. Several commercial games have already been made with it, and many more are in the pipeline. Not to mention games that have been/are being made for the wii U. No, C2 isn't 100% problem free, but I've heard professional developers talk about bugs and problems with native toolkits too. C2 is updated crazy frequently, and bugs are being fixed and export options are improving all the time (ios's improvement being the most recent).

  • Well in my case I do have to say that performance took a tiny hit on my mobile game however since I kept on wailing at the issues and put in the effort I managed to get a rather fast paced game working at the intended frame-rate now some other issues may appear but it's up to me as the developer to take them down not C2. I find that C2 is a great tool for programmers and non programmers alike It speeds up results which in the end is what the managerial types are really looking for and gives a boost to morale to everyone working on the title to see it actually working. There's plenty of plugins, wrappers and crafty ideas in the community that will help you get the product done from start to finish.

    I recommend C2 now that I managed to get my Freefall Bird (for android ) out in the open and next games are going to be even more awesome because I learned a lot in the process.

  • Writing code in a file is faster than dragging events in an eventsheet, also, writing everything yourself gives you more flexibility, you wrote that code by yourself and you know how it works under the hood, and it's easier to debug it with a console (You can use the Browser in C2 but eh, not really interesting) ... Finally, C2 is geared towards beginners, most notions like floats, arrays, pointers, classes, functions are all hidden or even removed from the user's perspective, which makes it not better than other languages, which are consise and allow you to do everything with a limited syntax.

    But that's all fine because C2 did what it was meant to do, it gave the ones with no programming experience the tools to build games, but it's design seems unappealing to professionals and that's why they don't like using it for big games, on the other side, when you get to know it, C2 is as powerful application that is completely suited to make big games, it's just different than the rest of the market, and people use that as an excuse to not use it

  • ... Finally, C2 is geared towards beginners, most notions like floats, arrays, pointers, classes, functions are all hidden or even removed from the user's perspective, which makes it not better than other languages, which are consise and allow you to do everything with a limited syntax.

    What? C2 has floats, arrays and functions, and they're not hidden at all.

    The event system is also partially a matter of personal preference. I understand how people with lots of experience writing traditional code might not like it, but I've tried traditional coding and I don't like it at all. I vastly prefer C2's event system.

  • At the end of the day, it all boils down to preference and what you are targeting. I've made several games with both C2 and native and I prefer C2. It's quicker in my opinion and it allows me to do everything that I want it to do. If there's something that I "couldnt" do, I usually later found a workaround.

  • Arima

    What I meant is that, they weren't designed for programmer, as ints and floats are just "numbers" in C2, that's an under the hood, arrays are objects, they should be primitives just like numbers, that's an under the hood too, in my opinion, and C2's function have no return values and are actually just triggers, for a programmer, that's a bummer and an under the hood for beginner's, a programmer will see those as inconveniences to what he's used to, all of this to accomplish the design goal of being non-programmer friendly

    2: Well, that's preference, but i personally don't like code hiding from my eyes, that's why I code in C xD

  • Arima

    What I meant is that, they weren't designed for programmer, as ints and floats are just "numbers" in C2, that's an under the hood, arrays are objects, they should be primitives just like numbers, that's an under the hood too, in my opinion, and C2's function have no return values and are actually just triggers, for a programmer, that's a bummer and an under the hood for beginner's, a programmer will see those as inconveniences to what he's used to, all of this to accomplish the design goal of being non-programmer friendly

    2: Well, that's preference, but i personally don't like code hiding from my eyes, that's why I code in C xD

    I think I see what you mean about the concept of floats are different from ints at a technical level being hidden, but I'm not sure why the alternative is better - it seems to be pretty much the same functionality. I agree that it would be nice to have arrays as variable types, but that's easily worked around by storing an array in a variable as a json string. Also, the function plugin does have the ability to return a value via the returnvalue expression (though it would be nice if we could return more than one, but again, there are numerous simple ways around that).

    I also think that some of the things that C2 does to simplify game making overall make up for the difference in speed writing code vs making events. Even the fastest programmer in the world couldn't get a platformer up and running from scratch as quickly as it can be done in C2, and there's lots of time savings throughout the program like that.

  • Arima

    That's why they made libraries,

    In a nutshell, it was made to be intuitive for beginners, but it's counter-intuitive to programmers,

    Gentlemens, we have an answer

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • True, I forgot about those, being the non-programmer that I am.

  • To add up to the conversation, construct is an efficient programming tool for non-developers, that's for sure. As far as making commercial games, I'd say it's quite capable, but that your reach is limited on the mobile market: as far as rendering is concerned, it's hard to target every device and every users. There is no mip-mapping, no possibility to launch the games at different resolutions. 960*640 games (a decent resolution for tablets and desktop in general) will most likely never run on iphone4 and below, or any device of comparable strength. Although this may not be a problem any more in a couple of years, a solid mobile game publisher will request games that are optimized for a wide range of devices, and that retain crisp visuals on tablets.

    It's still a very nice html5 engine anyway though !

  • Try running XCOM (https://play.google.com/store/apps/deta ... omeu&hl=en) on an iPhone 4 or equivalent device, you can't. Because its fail hardware. Even top Android phones and tablet get hammered with this game.

    At some point you just have to move on and target another minimum spec and not one thats so weak such as the iPhone 4 (which now is a very small market, 4S is the bulk with 5 fast replacing it too).

    I had this (Star Nomad, 1280 x 720p RTS-RPG:

    ) running and holding 50-60 fps during an intense fleet fight on my Nexus 7 & LG G-Pad. On my old Nexus 7 (2012) with Tegra 3, it held 40+ fps, very playable during heavy fighting.

    Performance wise, HTML5 is quite fine on mobiles, as always, it comes down to optimizations. But its not going to be possible if you want lots of WebGL effects, most of them still cripple even top end hardware.

  • I'm professional games developer for 5 years of wchich 4 years were spent with AS3. Games making is my day to day job and hobby.

    Construct2 is fine for making games. I will go as far as to say its even extremely efficient tool to make small to medium sized games. I highly doubt it would be more efficient to write baldurs gate 2 in c2 rather than do it in unity3d right now which brings me to my point - when you make games you evaluate your tools and market and other factors and decide which is most viable for that task.

    For me c2 is right now dream tool. It took me couple of months to adjust to workflow and find my own way to organize project but dang, it does feel great right now. I also see progress of making more in less time with each month. There are also less failures and dropped ideas due to "it cant be done in c2".

    On top of that Scirra team is really great with all the work they do. Its easy to get in touch with them and have some help plus they add features all the time.

  • Even the fastest programmer in the world couldn't get a platformer up and running from scratch as quickly as it can be done in C2, and there's lots of time savings throughout the program like that.

    Don't let Tommy Refenes hear that

    Writing code in a file is faster than dragging events in an eventsheet, also, writing everything yourself gives you more flexibility, you wrote that code by yourself and you know how it works under the hood, and it's easier to debug it with a console (You can use the Browser in C2 but eh, not really interesting)

    Well, Writing is faster, but when writing a whole game in for example C++, it is not faster. When having learned C2 really good, you are probably faster with it then writing native C++ code. Since C2 has most things simplified so it is really easy and fast to use. Also when writing native C++ you can have typos. That is almost impossible when using C2

    Finally, C2 is geared towards beginners, most notions like floats, arrays, pointers, classes, functions are all hidden or even removed from the user's perspective, which makes it not better than other languages, which are consise and allow you to do everything with a limited syntax.

    It is geared towards beginners, but has all functionalities you would want from an game engine, it's extendable and easy to use.

    Also, even though it is easy to use: Easy to learn, hard to master. There are many that don't know how to do complex things, since they haven't mastered C2, only a few here have, so mostly when people say C2 is limiting, it isn't C2 that is limiting, it is themselves. Also C2 really has Floats, Arrays, Classes (In some degree), Functions and Pointers (To some degree).

    At the end of the day, it all boils down to preference and what you are targeting. I've made several games with both C2 and native and I prefer C2. It's quicker in my opinion and it allows me to do everything that I want it to do. If there's something that I "couldnt" do, I usually later found a workaround.

    I couldn't agree more.

    That's why they made libraries,

    In a nutshell, it was made to be intuitive for beginners, but it's counter-intuitive to programmers,

    Gentlemens, we have an answer

    Libraries are awesome, but see, with the Javscript SDK for C2 you can extend C2 in some kind of the same way that if you would use a library.

    And i defientely don't see it being a counter-intuitive to programmers, if you need something that you know isn't possible in C2, code your own plugin/behavior.

    C2 is extendable, it's not limiting, if something is missing, you can extend C2 to your needs. It helps beginners understand basics of programming in simplyfying it with Visual Coding, and makes it for existing programmers easier to use,

    with the possibilty of extending the existing with something that will probably benefit a whole community.

    Anything i let out?

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