dop2000's Forum Posts

  • It was exciting to see the addition of "Set min/max framerate" action in the latest beta. I thought FPS cap could fix various performance issues, or solve the problem with physics engine producing inconsistent results at different framerates.

    Turned out I was wrong and this action has nothing to do with limiting FPS. I studied the Catch-up Time example, and I can see how it can be helpful in that particular scenario. But I can't think of any other usage cases. It can probably be used to increase the time scale of the game more accurately, but only if the device hardware is powerful enough.

    I believe the name is confusing. Perhaps it should be called something like "Limit delta-time" or "Lock delta-time".

  • Yeah, things like this happen often and I wish Construct would just allow us to open invalid projects. Or at least explain in human terms where the problem is and how to fix it.

    I especially love cryptic error messages like "cannot read properties AQ.tz of undefined W_S.ao at Yu.d_q"

  • No, you should use Timer behavior instead of "wait". You can pause and stop timers if needed.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hi Tom,

    I believe you mentioned in some other topic that Construct will now notify us by email before charging for another year of subscription. But I can't find that post, did I imagine it? :)

    In any case, can you please add such notification? I really don't enjoy unexpected $150 charges.

  • I think it's the right trigger, but check the official example:

    editor.construct.net

  • Put three placeholder sprites and use "System pick random instance" to pick one of them at random. Then you can spawn the object at that placeholder sprite. Or keep the object hidden off-screen, and move it to placeholder position.

  • So is the third event from your screenshot not triggered at all? Or is it triggered, but the array is not updated?

  • You can use a sprite - first frame contains one heart, second frame contains two hearts etc. Set the sprite frame to the number of player's lives.

    Or you can use a TiledBackground with a single heart. Changing its width will change the number of hearts visible.

  • Normally this shouldn't happen, unless you specifically stop the previous sound. Check out this example, you can click the buttons quickly and the sounds will overlap:

    editor.construct.net

  • Thank you for those insights! My games are exclusive to android devices, is it still work to switch to 60hz and observe performance?

    You should definitely try your game with different monitor refresh rates, I do this regularly to make sure I didn't forget to use delta-time or something like that.

    But the performance on mobile is vastly different. The game that works perfectly on PC may lag pretty bad even on a high-spec mobile phone. So I suggest you test it on different mobiles.

  • You probably need to remove "Array load" action from the second event.

    If this doesn't help - add browser logging to events, to see if they are triggered.

    Why are you using FileSystem for this? It would be easier to simply import the array into the project and request it with AJAX.

  • Check the official examples, you can find almost everything there.

    editor.construct.net

    There are plenty of other tutorials and examples:

    howtoconstructdemos.com/basic-game-template-with-home-screen-basic-menu-local-storage-win-lose-scenarios-c3

    howtoconstructdemos.com/simple-level-selection-screen

  • Why does that matter? Your workaround is running every tick

    I'm guessing one overlapping check + one variable check is less costly than two overlapping checks.

  • Unfortunately, "Else" block doesn't pick instances. Your workaround is pretty good, I would've done the same. You can optimize it a bit - move "Do the things" inside the "A overlaps B" event.

  • "var" is a variable name. You need to store the value somewhere - you can store in a variable.

    Global Variable var=1
    
    Every tick: 
     Set var to min(var+dt, 4)
     Set layout scale to var
    

    This will increase var (and layout scale) from 1 to 4, over 3 seconds.

    You can do this without a variable of course:

    Every tick: 
     Set layout scale to min(LayoutScale+dt, 4)
    

    I suggest you use Tween behavior instead, it's easier, you can specify the time and target value, and you can choose a nice easing effect.