Construct 2 - Realistic State after 1 gazilion downloads

0 favourites
From the Asset Store
State Machine
$9.90 USD
10% off
State Machine is a great tool for managing the state of anything in your game.
  • 'Stutter' issues on mobile are what have hurt C2 the Most.

  • My personal opinion is why isn't Scirra using all that money they got from us and HIRE some temp developers? I'm sure they can afford 10K to deal with all the mobile stuff. If you don't have it, Scirra, take a loan. You know that this will bring tons and tons of new costumers and make C2 the de facto standart.

    I personally can't believe that someone else didn't do it already. It's business gold.

  • Well I'll chime in on a few commentaries.

    Chrome could fine as a wrapper export. The issue is that there are non required bits and there is some structure that needs to be removed. For any browser to work as a wrapper some one needs to go into the source and remove parts of the load. Here is what needs to be removed to start

    DOM

    requestAnimationFrame

    C2 would perform a lot better if both of those were removed. Instead JS runtime needs direct access calls to GPU image buffer rather than having to wait for a valid hertz speed request.

    I already suggested letting the community develop a wrapper from an abstraction layer for us to create native wrappers. It was vetoed. Also if anyone wants to create a C2JS converter to another language there really isn't any reason you can't. Accept what it is right now. Complaints aren't going to change.

    As for power. If your supporting older hardware don't. You may have older hardware(as i do); however that doesn't mean you should support it. It's callous, but the truth is that mobile CPU/GPU techonology is advancing at a faster rate than desktop. Next year or two will stabilize this. Next year you will have mobile chips that perform PS3 level performance. If that's the case why are you supporting iphone4. The most common iOS version is 7+ at this time. If you know that then you know none of the A4 chips can run iOS7. You can classify all A4 chips and there equivelent Android counterparts as already obsolete. Stop supporting that generation of chips.

    Arima

    I don't agree with you that all images are LOADED into the game memory upon the game start. Watching the memory profile for the game drastically changes on Layout to Layout. What C2 does is DOWNLOAD all the assets locally and LOADS them into memory at run time. JS does have a Garbage collector as does Java. Java runs Android and there really isn't a problem. it's not a memory management problem. However CJS sucks for memory management and does suffer your statement of loading everything. However CJS is the exception not the norm.

    As an answer to performance. I have a game tested day 1 running on my A5 chip iOS device and runs at a smooth 60fps with Spriter working out the tweening animation. My program calls angle 3 times a tick and includes very poor mathematical operations constantly working floating point precision math. I personally gave up with the idea of supporting hardware from 2012 or earlier. Especially with the Tegra 6 and equivelant chips due late 2014 or early 2015.

    Personally I think C2 weakest link is that a large multitude of games possibly well more than 50% have a logic FPS at 30. Where as C2 mandatory runs at 60Fps. If your device doesn't run the game at 60fps then the game suffers. I know no matter how much Ash says other wise; it just does. If we could set the logic fps30 properly then even when your game seriously dips or your logic is poor your games would suffer less. But that's not going to happen.

    Anyways I'm going to be starting a new game soon where I will be keeping a devlog. The focus of the game will be MP on tablet devices(sorry no phone) of 7"+. I will be keeping progressive updates and let everyone know how performance will be.

  • I already suggested letting the community develop a wrapper from an abstraction layer for us to create native wrappers. It was vetoed.

    I don't recall reading about this. How it would work?

    Also if anyone wants to create a C2JS converter to another language there really isn't any reason you can't.

    Yes there is, I have no ability to code traditionally at all.

    Accept what it is right now. Complaints aren't going to change.

    These are significant issues, please don't discourage discussion of them.

    As for power. If your supporting older hardware don't. You may have older hardware(as i do); however that doesn't mean you should support it. It's callous, but the truth is that mobile CPU/GPU techonology is advancing at a faster rate than desktop. Next year or two will stabilize this. Next year you will have mobile chips that perform PS3 level performance. If that's the case why are you supporting iphone4. The most common iOS version is 7+ at this time. If you know that then you know none of the A4 chips can run iOS7. You can classify all A4 chips and there equivelent Android counterparts as already obsolete. Stop supporting that generation of chips.

    The most common ipad is the ipad 2. I mean, apple is still even selling the thing. By your own logic we should continue supporting it. Also, phone companies continue to sell older phones for cheaper. The point is if we had native exporters, we wouldn't have to set the cutoff so high and would therefore have a larger audience. It's the same reason sony is still supporting the ps3 now that the ps4 is out. There's still a sizable audience there.

    Arima I don't agree with you that all images are LOADED into the game memory upon the game start. Watching the memory profile for the game drastically changes on Layout to Layout. What C2 does is DOWNLOAD all the assets locally and LOADS them into memory at run time. JS does have a Garbage collector as does Java. Java runs Android and there really isn't a problem. it's not a memory management problem. However CJS sucks for memory management and does suffer your statement of loading everything. However CJS is the exception not the norm.

    Textures are not alone in determining total memory use. Instances, music, garbage and a ton of other things contibute.

    C2 does in fact load all images at the start. You can tell by going to chrome's developer tools and looking at the resources, from the very start, with the exception of a loader layout, all of the images for the whole game are there. I think you're forgetting about VRAM. C2 downloads or reads from disk all textures at the start AND puts them into ram, but with webgl on, only puts the ones for the current layout in VRAM. Layout by layout loading only controls what gets put into VRAM, not RAM. Additionally, images in ram might not be decompressed until they're needed if webgl is in use - if that is the case that would cause ram use to fluctuate as well (I'm not entirely sure about that point though).

    Personally I think C2 weakest link is that a large multitude of games possibly well more than 50% have a logic FPS at 30. Where as C2 mandatory runs at 60Fps. If your device doesn't run the game at 60fps then the game suffers. I know no matter how much Ash says other wise; it just does. If we could set the logic fps30 properly then even when your game seriously dips or your logic is poor your games would suffer less. But that's not going to happen

    As far as I understand it, that would be easier to implement with native too.

  • EDIT:upon reading my post, I think my post seems kind of unfair I think, not sure, If it does feels like it, sorry, that wasn't the expected result

    jayderyu : I like the way you are thinking, it brings hope and is still reasonable, C2 does HTML5 well, and the HTML5 is cross-platform, from what I've tried, this is not a lie, but like anything else, it has compatibility problems (exe have too before someone say otherwise).

    Also It seems there is a pattern, like every two month a big topic "C2 bad performances, it is bad" comes, with valid or invalid arguments depending of each topic, but mostly I wonder if people use C2 as it is meant to be, an HTML5 game engine that get rid of the programming, but not the design (I don't say that the presentation of the program is perfect on the homepage, but it is what it really is)

    Also it seems everyone tries cocoonJS because it is the "best performance wise", which is wrong IMO, for JS execution maybe, but I always see the main complaint is it is bad at everything else it seems, I thought scirra stopped to support cocoonJS because of that + bad communication can anyone confirm or invalidate that?

    To stop this kind of complaint I do:

    -Yes I love C2, No it isn't perfect, but it will improve, it has already improved, a lot, do what you want, I stay personnally, there is improvement to be done, well, how can we help then?

    Also I would love to see your performances reports, and remember to code it well ^-^

  • I appreciate all these comments as they totally speak to things that have concerned me in recent months. I've only been using C2 for about 9 months, but I fell in love with how fast it was to produce something. I, like others, ran into some performance issues, but was mainly due to an old computer. However that said, I want to make deep games and the idea of Chrome or web games seriously turns me off. I bought C2 because of node-webkit. It's not exactly what I thought it was but Arima I agree whole heartly that if Scirra came out with its own local build exporter that would be a great thing indeed.

    I've been using Unity3D for a bit and think that tool is something else, not really comparable to C2. I look at C2 as a good way to prototype a game (a 2D game) and is currently what I am using it for. If I feel my game has real potential I will redo it in Unity. But to do that in Unity I will need a team, and for C2, all I need is me (although one could always use help!). However, I think there are certain designs that lend themselves very well to C2. But the whole 'web game' stigma seems very limiting. I could care less about mobile. Even though I work on mobile games (as a music contractor), I have no real interest that platform.

    I love C2, and I love that it has got me way deeper into game development than I ever have been before. I used to code in the IT world (functional programming). And C2 has taught me so much.. it teaches you to think like a game developer. I used Unity and Torque long ago without much success. Going to Unity after designing and producing many small games in C2 helped a great deal. Can't say it enough.

    btw Arima, if you've been using Construct for 7 years then you could definitely pick up traditional coding pretty easy.. I'm not saying you'll be coding for Blizzard any time soon, but you should pick it up fairly easy. Do some tutorials, you'll see

  • jobel

    I've tried, I just can't seem to wrap my head around it for some reason. There's all these random symbols scattered all over the place in seemingly random places and every tutorial I tried, even ultra beginner's newbie's very first tutorial series for dummies seems to think that I already know what they mean. I just look at code and see gobbledygook. Then I found construct and stopped trying to learn to code, as C2's editor is the editor I've always imagined and wanted anyway.

    It also doesn't help that I have problems with my hands and it hurts to type. I have to use a Wacom with C2 and assistive devices to type a lot of the time, which are utterly unusable for traditionally writing code. So yeah, without C2, I'm not making games at all. I really don't have the option of looking elsewhere.

  • Arima - well I don't think you are giving credit to your understanding of how things work. Maybe the language and the syntax is foreign, but you understand the logic and problem solving is more than half the battle. Syntax is a pain, but once you get by that, you'd be golden.

    And for typing use a speech recognition software like Dragon... check this out...

  • jobel - probably so, but it's pointless for me to bother with at this point.

    Sadly, I also have such significant problems with my ears that I can't use voice recognition due to being unable to tolerate almost any sound any more, including that of my own voice. Hyperacusis - don't get it. Seriously.

    Thanks for the thought though. If you want to discuss it further we should probably do so via PM, as to not derail the thread with my health problems.

  • I was going to announce this in a few months...

    But i love c2 so much that i thought i would give a heads up to people.

    Currently been working on 2 native compilers for android and ios for the past month.

    Of course they are in very /very early alpha, but so far so good.

    Android a bit easier than ios.

    I was originally going to make a construct 2 clone that compiles to native, but in the end i thought it would be far better to just write a direct compiler (and not step on Scirra's shoes)

    Again i wasn't going to let anyone know for a while until i had something /stable.

    But this is really for the people who are thinking of jumping ship

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Currently been working on 2 native compilers for android and ios for the past month.

    DUDE

    Interest piqued

    Like seriously

    Please don't give up on this. PLEASE.

    Do you have any plans on how to deal with the memory management problem with large games loading everything at the start? Or would that require collaboration with scirra to add more manual memory management options? Or perhaps a plugin?

  • Right now i'm trying to mimic c2 behaviors so they work as closely as possible when previewing in HTML5.

    But since i'm working on compiling to MOBILE, performance is a must.

    Saying that my priority after behaviors is audio, since that's the most frustrating feature i read on the forums.

    I'm not going to give up on this, having a a'lot of fun coding and working out problems

    And this compiler is purely for C2, so i don't have to worry about supporting other developers like other companies...

  • I want to share my experience with you guys. I'm not only a construct 2 "developper", but also very experienced in other "real" programming. I totally agree with you, that most people think, construct is just a comfortable tool to create games easily. This is totally wrong. Construct requires a lot of knowledge of programming. Not because it's so hard to get something working. But it's so hard to make it good.

    I love reading the forums and most of the time I just inspect the capx file of other construct users. And I can tell you with a 99% chance if the person has programming knowledge. Most of the time it really hurts in my programmer's heart to see what people do.

    But to be honest it was very difficult for me in the beginning, too. Even though I had a lot of experience in programming i struggled in the first month with the unfamiliar event driven system. And I still learn something new about construct every single day.

    But back to topic: You said the performance of most games is horrible. Yes maybe it's true but this is not constructs fault. In the beginning I also had a lot of performance issues. But then I tried to find a way to fix them. And I never had these issues again and all my games are running on 50 fps.

    And maybe this opinion is unpopular but flash is dead and html5 the future.There is no flashgame I couldn't build same quality with HTML5 (actually this is what I'm currently doing and I never had problems. Quite the contrary: People are impressed how good it works and how fast projects can be programmed with HTML5). When I look at friends/collegues using YoYo'S gamemaker I only hear complaints. Tests even proof that c2 is more performant than GM.

  • Other issue is that events are going in one big loop,

    so 100 events may be good for simple game,

    but 10.000 events (I guess) could kill even desktop

    also bullet behavior that isn't 100% smooth both on mobile/desktop

    also saying "use Crosswalk" is not serious at this moment

    and +18MB apk size can dramatically decrease number of downloads on Google Play

    but yeah... anyway: there is no competition with anything similar to event sheets

  • szymek - If you code it right, C2 has no problem with thousands of events because they don't all have to run every tick. Using groups and subevents, it only runs the ones needed. For example:

    Sprite.count > 0

    • do stuff with sprite

    If sprite.count is 0, the entire subevent tree is immediately skipped. Because of this, you can have thousands of events even on mobile as long as not too many of them are actually running each tick.

    I have a hard time imagining a game that requires 10,000 events to run every tick.

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