Colludium's Forum Posts

  • OK, MadSpy, I've re-enabled a couple of events that I had disabled for some earlier debugging... All should be well, now. I've also tweaked the background lighting effects so that no two layout runs appear exactly the same, just to make it a bit more visually pleasing.

  • MadSpy - You have an uncanny knack of finding my coding errors LOL!! Thanks again - I'll take a look at this and have it sorted in 10 mins.

  • ^^ That's why I'm starting my first Unity class tonight. I love the philosophy behind the design of the c2 editor and I hope the export options improve, because if they do I'll be back full time in a flash.

    But with talk of improving the editor to "c3" it feels like the priority is a design journey rather than getting to an export-your-game destination. A journey that may well end in a couple of years in being able to quickly make awesome things that still play well nowhere.

  • I think it all went wrong with chrome 37 in Aug 2014 and it hasn't fully recovered yet. Begs a lot of questions about how Google's hundreds of engineers actually test what they've done, but here we are.

  • How about giving us a choice?

    1. Don't care about slight delay - start of layout, end of layout etc = synchronous.

    2. Writing/reading data in-game and don't want to cause a frame drop = asynchronous.

    I'm not a fan of Then, it will probably lead to beginner confusion.

  • Ashley, I'm going to risk exposing my limited knowledge here... Is there scope for setting alpha masks for transparent objects somehow? A big change, I know, but if you can define what not to draw then the alpha problem might be manageable.

  • And I forgot to add that browsers don't care if a frame is dropped, and neither does the c2 engine. I think if there was an option to set an engine clock that worked then that would be a start.

    I mean, how can the engine cope with a 144 hz monitor when it frame drops at 60 hz? The answer is it giddy-ups - we need a giddy-up method so each frame is considered important, because we're making games and not online forms.

    Edit - I know, the above is actually Google/Mozilla/MSN controlled and our games cannot dictate their own render clock...

  • I think there are some very good posts here and I share some of the frustration. I bought c2 to make mobile games after learning to use Corona SDK (a bit), but the lack of editor and writing code were killing me...

    So... other mobile game dev tools encourage the multiple drawing of sprites at 1x, 2x, 4x etc resolution so there is no need to GPU scale the images to fit screen resolution. Each tick the objective is to draw, say, 960x640 pixels with no scaling work, just drawing to canvas pixel to pixel. Add in a couple of layers of objects with transparency, blend, lots of objects etc and each layer can add a draw data rate of upwards of 37mb/s of data.... A full HD display might demand 124 mb/s of data per layer for each pixel to be drawn...

    So, coming from Corona it was tempting to get swept away by the promise of new tech - easily scaled images, no need to create and load a batch of bespoke images for differences resolutions, back to front renderer will efficiently draw everything... And so on.

    The truth, for mobile and desktop, is that the engine seems to easily permit the dev to create a GPU bottleneck. Create a game full of scaled objects that each take up a large screen area and overlap each other - and the needless drawing of each screen pixel many times over is uncontrollable and can result in gb/s of wasted data flow as pixels are redrawn over and over again, back to front, until the final image is created. 60 times per second.

    Because of the way browsers draw 2d I don't see a solution, only a continuing need to minimise overlapping objects that fill layers with transparencies that have to be drawn. Which is counter intuitive because the editor encourages you to use your imagination and create a super parallax world with scaled objects. That's not the editors fault, it's the way the browsers draw each frame.

    Instead of a back to front renderer we need a front to back renderer, with camera culling and an algorithm to stop drawing the scene when/if all pixels are drawn. Something like a 3d engine that won't draw the sky in full hd detail every frame because you're actually in a room and the sky is not visible right now... Yeah, right...

    It also seems that many GPUs are full of 3d loving but 2d has been relatively forgotten about. Where's the 2d acceleration option?

    Long diatribe over. I'm going back to making sure I don't have to many objects overlapping and checking that hi res detail on upscale is off...

  • Toddler - awesome points.

    GPUs are not up to full HD with 6 parallax layers and 1000 on screen moving objects with webgl effects on top. Just because C2 will let you do that in 30 mins of drag/drop does not mean you should be doing it.... I've just been reading up on optimizing html5 drawing - even scaled images and high quality up-scale settings will add a draw burden that might cause stutters in low powered devices. There are lots of tricks available to coders that we cannot easily access, like drawing static objects to a separate canvas to reduce draw calls each tick (I know, there is a way that you can do this, but the plugins are not officially supported). Perhaps in a couple of years then GPUs will be able to cope with most amateur aspirations, but until then there seems to be a need for a repeating education piece to curb expectations. I think that if every image object had to be added to a javascript file long-hand then this would never manifest as a problem... Ashley - you've only got yourself to blame for making it too easy .

  • Where I used to be able to check a set of parameters on start of layout (if they exist and, if so, what their values are), this now requires me to pause the layout until all of the triggers have fired, lest the player is spawned in the wrong place etc. Which means extra faff tracking which triggers have and have not fired as well. I am not sure that this is an improvement... Perhaps there needs to be an option to wait for a trigger to fire - but the on start of layout / load a bunch of variables from web storage seemed to work well and was not in need of tweaking IMO. As Toddler said, could this waiting for a load trigger be an option?

  • DatapawWolf - LOL - I think he should also make a small but not-so-subtle change of the loading icon to this:

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I imagine the super-lean way of doing this would be to take a snapshot of the canvas and load it into a sprite, then put that sprite under the fade-white layer and set all of the other layers below the sprite to invisible. You could alternatively paste everything onto a Paster / Canvas object to get the same effect, but it seems like a lot more effort to get the same end result.

  • Problem Description

    The audio object "play sound at object" does not work in IE11.

    Attach a Capx

    link to capx

    Description of Capx

    A listener object and a sound source are set at start of layout. The source object is moved across the screen so you can hear the stereo effect caused by its movement.

    Steps to Reproduce Bug

    • Run layout in Chrome
    • Run layout in IE11

    Observed Result

    In Chrome and Firefox the stereo effect works as expected - left/right sound effect and the volume of the sound reduces with distance. In IE11 there is no stereo sound effect and the audio is played at full volume (ie no reduction with listening distance).

    Expected Result

    Audio API should work consistently across all major browsers. If this is a long term bug in IE11 then I realize that there's probably nothing that can be done.... but I am not sure... Thanks.

    Affected Browsers

    • Chrome: (NO)
    • FireFox: (NO)
    • Internet Explorer: (YES)

    Operating System and Service Pack

    W8.1 x64

    Construct 2 Version ID

    r201 64 bit

  • Ahhh - I see - I think I know what's been happening there: you triggered the trap twice. I have now fixed it - awesome find mate - thanks MadSpy! The death by jumping off the platform is deliberate.... so be careful!!