gles.js - a lightweight WebGL renderer for Android

0 favourites
  • This all comes down to NOT HTML5 or the browser, but just not well optimized critical performance pipeline of C2 engine. Which I have been requesting overhauls for 3 years now. It's why I requested focus on core malleable World Object with dynamic attached behaviours rather than C2 rigid Plugin system. This would allow for more flexibility to overhaull the choking points in C2.

    So it is what I feared the most, the engine itself . I thought of this since my games can run at 60fps in crosswalk, but there is always a stutter, also the smallest frame drop (even 56~57fps) is noticeable.

    I've tested the Unity Demo in HTML5 Preview and while it has 2D and 3D examples, it works surprisingly good, fluid and very good at resources. Couldn't test it on mobile because it takes around 400MB.

    And yes, modularity of plugins should be there ... Unity's approach is very good in this way: you include your plugin/asset in your project and after that you use/modify it. Other people don't need to have the same plugins as you or certain versions added to C2 since the plugin is included in the project.

    I've already got back my money that I've invested in C2, but not sure about the time ... It feels like C2 is still in beta after more than 1 year I'm working with it. I'm not sad or mad, but doubtful of what to do next.

    Ashley has seen that C2 has reached it's limits already and decided to go for C3 (which is a good thing to make a better Construct from scratch than patching the current one) so I could continue working in Construct hoping C3 would make things good, but at the same tame I could go for another engine that can do things good now, but I'll have to start all over again...

  • why don't we.. developers and computer scientists (i'm pretty sure i'm not the only one with wide knowledge of AI/CG, c# and JS here) take a look into runtime files of our

    behaviours, try to pimp them for bigger performance, update ashley on changes, and let him include those changes in next version of C2 ?

    i've already thrown a couple of looks inside A* pathfinding and saw some stuff that could be fastened..

    Ashley #fixC2plsomg<3

  • I just want to say that as a guy who has made a giant game using C2, I love it and I'm terrified to use it at the same time. I can see in our game where things hitch up. A lot of it looks like behaviors and webGL effects not being as optimized as they could be. Even with the new prototype I'm working on that is still at a very clean and basic stage I'm catching things that I thought were fixed long ago in the engine.

    The hitches in our game are so varied between hardware that I am not confident enough to publish another PC game using C2. While I'm having a fantastic time on all of my machines with the game aside of a 7 year old pc. Someone who has a newer pc than mine (I have a new i7 republic of gamers laptop 16gb ram and a 2gb 860m gpu) complains that the frame rate isn't smooth on my game or it crashes or the sound randomly cuts out... I honestly don't know what to tell them. We've done so much trouble shooting and suggesting but so much of this stuff shouldn't be happening. The same bugs don't always have the same solutions. It sucks.

    I have someone play testing my current prototype who has a new machine and the prototype just crashes randomly. We can't pin point it. He said the same thing happens with Insanity's Blade... go figure. The prototype is only using a couple of the main webGL fx and behaviors... nothing added extra added. It's just the engine. And I know I haven't done anything kinky with the engine.

    Last time I checked one of the recent builds of C2 completely broke Insanity's Blade so we have separate version of C2 running to do our work on either game. We can't test or export IB. It's just borked. So it's at this point that I get pissed when I've paid for a product and it doesn't work and I get shoved aside when I don't upload all of my copyrighted shit and can't recreate the problem in a tiny file with none of the games assets. To me that is a giant "F#ck you, not thank you for buying my product".

    But then I ABSOLUTELY LOVE the fact that I can toss my idea into a prototype at close to the speed I can think it up. I can work at it on the fly and that is just amazing to me. The way C2 is laid out from a designers point of view is brilliant. I just flow through everything I do - when it works!

    So it's a real love hate relationship. I want to see it *really* get better. I want what I bought to do what it said it would do before it's abandoned. I don't want excuses from anyone - I paid for something because it said it could do something and that's the bottom line.

    It feels like the bad relationship that you know you should walk away from because that person just can't clean up their act. But you just can't do it because you see that little glimmer of hope that they can.

    Insanity's Blade wouldn't have happened without CC and C2 and that is a fact. It would have take us much longer back then to do it with an engine like Unity. But in my professional game design job, I already use Unity. And it now does things so much more easier than before. And for me, it's not about how much the engine costs. I don't give a shit. It's how well it works, and what it can do for me.

    I will hold on to that little glimmer of hope that C2 will break through and be what I expected of it. That's what I want. I don't want to give up on it. I don't want to make a 3d ultra modern epic game to blow everyone's mind. I want to make a simple 2D platformer with some effects and not have it fuck up. That is all.

    So as angry as I am at this product, I want it to succeed. Hell, I made a Broforce demo (with awesome gfx) on a lunch break just to show how amazingly simple it was to toss something incredible together in C2. Amazing things can happen with it.

    /end lovehaterant

  • i will most definitely when i finish my plugin manager and game go through some behaviours / plugins and try to find some optimizations and suggest them to ashley. we'll see how that goes.

    also everything i've ran on my PC works just fluidly - 75FPS on i7 4860HQ, 8gb ram, 980M and samsung SSD, BUT!

    (there's always a butt ) - eli0s gave me his barrage thingy - a bullet spawns explosions. those explosions are made of 10-20 random particles flying in random directions. they spawn smoke particles pinned to themself and parciles that make smoke seem dissapear. each bullet spawns 5x. so i tested that on my laptop.

    one bullet = 5 x (15+15x32+15x32) (i'll take the middle value ) = 4875 objects in a 1.5 sec - works ok - 75 fps

    two bullets - same

    but around 5-7, maybe a bit more, let's say 10 bullets - it gets to massive 48750 objects and it sloooows down massively. down to 20-30fps.

  • We have worked really hard to optimise our engine, to the extent I'm convinced there aren't any easy optimisations left to make. Render cells was getting to the point of very complicated implementation with benefits only in specific circumstances. I think most complaints are just to do with Chromium's frame scheduling/v-sync, which is actively a work-in-progress as the Chromium GPU team are upgrading a bunch of stuff. But as ever if you find anything particularly slow, send me a .capx and I'll profile it. I really rarely get sent .capx examples of slow things, and last time I got sent one I managed to profile it and make improvements to the engine, but people mostly talk about it which isn't helpful, I need to be sent real-world examples! Also as ever if an update breaks anything or you have any other bug reports please file them following all the guidelines, otherwise there's not much we can do.

  • Ashley

    1) I did not pay to be your guinea pig or beta tester, I paid for a product to do my own work with. If people have time to help you out, that is fantastic. I do not. Not even remotely. This is your project, not mine. You are making money off of it, I am making money off of mine. If yours does not work and I have paid for it. That is your problem, not mine.

    2) As I've said countless times before, I can not send you my working file. It is no different than you sending me the code to C2 to look at. Although I have successfully recreated the issues in small capx files in some occasions, in others I can not. It really is just because the game are big. And I have seen the same issues happen the same way in CC and they do in C2. It's not me, it's you.

    3) Either play one of the big games that people have made or make your own. Stop passing the buck to us. If you want this to be a professional product, act like you want it to be. Your guidelines don't work for everything I'm afraid. You need to realize this.

  • Giving bug reports and error profiling you have with every other software out there too, this is a normal process in software development. I think they give you your 100 bucks back, if you really have no use for C2.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Its really hard not to make fun of all this with some "doctor patient joke" analogy, but I can be really straight faced when I say demanding a native exporter is not going to help you.

    If you have some alternative solution to "don't have the manpower to do a native exporter, that may or may not provide some stability, which coincidentally will take probably the same amount of time to develop as it will for the current instabilities to be resolved separately" then please share them with us.

  • damainman - bugs are an inevitable result of the imperfect nature of software development using any set of technologies. I want to help you, but if you complain about a bug but provide nothing for us to investigate, what do you reasonably expect us to do about it? I can imagine going to all the effort of making a big game, and not encountering your specific problem. In fact that happens regularly even with small bugs, because they depend on factors which the submitter didn't originally realise, like the presence of a separate feature or something about their environment. This is why our guidelines exist - to ensure we can actually help. Even submitting a sporadic issue with one of your smaller .capx's with hints on what to try would be something, but right now I think I've got nothing.

  • Games - I have a business licence... For a company. Not a personal one. Last time I checked the total was over $500 for it. I didn't pay to be a beta tester, but that's what has happened. Likewise because of this, my customers become my beta testers for the faults of the software I used. Luckily my game is $5 and not $500... And actually because of this, I am *forced* to stop using C2 to create commercial games because - not fault of my own, the engine has serious issues. Trying to explain to a customer that I didn't code my 2d retro game in assembly or c++ and chose to use an engine that causes it to run like Crysis on an under spec machine is hard to do. They don't get it. HTML5 is still a ways off to becoming something reliable. And that's just the way it is.

    newt - I'm personally not asking for a native exporter. The exporter is what always gets blamed for the frame rate issues it seems from both sides. But you are exactly right about the doctor patient thing, it's not far off of what I'm trying to say with bad relationship thing either. I love it and it screws me over. The Doctor can prescribe pills to ease the symptoms but sometimes never cure the sickness.

  • damainman: You are right in many points and i can understand you, but you must also see that it is like this: You never ever will find any engine or framework or even 3d graphic software without bugs or issues and the need of workarounds, and every company asks their customers to report bugs, send in error reports or files to track down bugs. That's how it is when you use software.

    And, not addressed at you, but sometimes i wonder if nobody is researching first about the underlying technic of an engine, before he is buying it or starting a big project. C2 is a Html5 engine and never lied about it, and everybody could know before about the possibilities today of Html5...

  • Ashley Like I said before. Not all issues can be recreated with a smaller capx. I can't make a capx of someone else having the game crash on them. Or for the fact that I mentioned in a previous post that all C2 dev'd games and prototypes I give to this person crash randomly for them while they have no problems running anything else. Stuttering frame rates on computers faster than mine? I can't make a capX of these issues for you - in a big game that has issues that randomly happen, how do I even know what part of the engine is messing up? How do I make a capX - I'd basically be recreating the whole game until I figured out what was going wrong.

    All of the issues we've had with C2 aside of not being able to update the version of C2 we are using for Insanity's Blade, I have developed work arounds for - or simply found alternate ways to do the thing that should work the way I'm already doing it. One thing I've always liked about C2 (and well programming in general) is the fact that I can always find multiple ways to get the same end result.

    But for us, it's simply the instability and unpredictability of the end result. Which again, we have no control over. No matter how complex or simple of a creation I make with this software, the end result will always be the same - unpredictable. And you can't simply blame the state of say Node Webkit for it's faults either as it was your choice to use it as an exporter.

    And I also know you have no control over HTML5. And it would seem that the people who develop have no control either And the updates they make must have some toll on how C2 runs.

    Anyhow, I'm not here to argue. I only want this thing to get better. And to me, the announcement of C3 when C2 feels unfinished has made me worry.

  • Games Error reports are generated by the software... you don't send gb's of copyright game data to the Unity or Unreal when something goes wrong. When Adobe Suite crashes, it generates an error report. You don't send your company's Magazine layout to them with working files of other people copyrighted ads etc...

    So this is my issue - I can't send my company's copyrighted files, they don't just belong to me. The working files belong to my company and that's that. If I just said "LOL, hey Unity/Unreal devs! I have a bug. I'm doing this unannounced game for EA/Activision and here are all the working files LOL!! XD XD XD!!! shhhh dont show anyone..." etc etc. I would be fired and probably face a lawsuit. And that's just how it is. If when I worked at a magazine company a few years back and sent the working files for Maxim to Adobe because it was crashing... holy shit I don't even want to think about the crap I would have caught. E

    rror reports are generated by the software. And that's how the end user helps. If C2 was spitting out error reports every time something went wrong by god you better believe I'd send them in the second I got them.

  • i think ashley should replace all jquery code wherever found (behavs / plugs)

    with this superb library http://vanilla-js.com/ just look at all the performance gains!

    (p.s. just for comparison jquery document call (Which i saw in a couple of behavs) with jquery is around 300k ops, while default pure javascript over 12 mils. - why would you even use jquery except for the easieness of writing code?)

  • damainman: An error report only helps so much in showing if you have a system or driver problem with the software package, so it sends your hardware specs to the developers and where in the their code the error/crash happened. Ashley wants the capx files for the reason of code optimization and hunting down logic errors in the code. This doesn't work with generated error reports. Like he said, he only wants to help you and everybody to improve C2. Blaming him doesn't help neither you nor the community..more likely Ashley will only get frustrated and abandon C2...

    Anyway, if you can't sent your (art?) files, try using placeholder graphics. I think you don't need to send all your project, just the part that makes problems (if you structure your projects in a kind of modular way this should not be an issue).

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