dop2000's Forum Posts

  • It takes about 15 minutes to load to the login screen in Firefox and Chrome. It stays at 3% for a very long time. Didn't try Edge.

    How big is the game? Maybe you should try a different hosting service?

    Edit: Edge is indeed faster, about 5 minutes.

  • Here you go:

    dropbox.com/s/wpc08rq21lc8qa7/PasswordBox.c3p

    I used Button object for keys as it's easier, but of course you can use sprites.

  • You are clearly a fan of "Wait for signal" action :). Which is not a bad thing, but I'm not sure if you are always using it correctly. For example if the two shuffling functions on your screenshot are completed immediately and don't have any "waits" or asynchronous requests inside, then you don't need the "shuffled" signal.

    Also, your whole GameStartup function is set as async, which means you can use "Wait for previous action to complete" in the parent event, from which you are calling this function. And yet you are signalling "StartupComplete" for some reason.

    And of course, you can optimize all those AJAX requests, get rid of "on completed" events and signals there.

    .

    I feel like your experience with other engines is actually doing you harm here, because Construct events system is quite different.

    Another thing you may be overusing is arrays. Of course, I can only make assumptions here, but I see 10 arrays on the screenshots you posted. In Construct many things where you normally need arrays, you can do much easier without them. If you have several instances of the some object or family - this is already a two dimensional array. And it's much easier to work with instances (sort, filter, group, modify, add, remove etc.), than manipulating an actual array. It's totally possible to make big complex games without a single array.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Did you set any blend modes on the objects/layers?

    Can you share your project file?

  • This can be done a bit easier. Check out these two demo projects:

    howtoconstructdemos.com/spawn-objects-randomly-without-overlapping-2-capx

  • You mean Who&What? If Who="Kids" and What="Dancing", then when you concatenate these two variables you get Who&What="KidsDancing"

  • Sine behavior should do it.

  • You mean on the circle line?

    Set a = random(360)

    X = center.X + 100 * cos (a)

    Y = center.Y + 100 * sin (a)

  • To distribute existing sprites on a line, you can use "For each sprite" loop, and the same lerp expression.

    Or you can even do this without a loop:

    Sprite set position to X=lerp(A_x, B_x, self.IID/(Sprite.count-1), Y=lerp(A_y, B_y, self.IID/(Sprite.count-1))

  • Let's say you want to create 10 instances, the first instance should be at point A, and the last instance at point B:

    Repeat 10 times
    Create object at X=lerp(A_x, B_x, loopindex/9), Y=lerp(A_y, B_y, loopindex/9)
    

    If all 10 instances need to fit between points A and B:

    For "n"=1 to 10
    Create object at X=lerp(A_x, B_x, loopindex/11), Y=lerp(A_y, B_y, loopindex/11)
    
  • Fixed your project, made it much simpler:

    dropbox.com/s/9l5bs8e8vbguwzr/MakeASentence2.c3p

  • Sorry for assuming that you are a beginner, but some things you've described and especially your troubleshooting methods (re-arranging events, adding waits etc.) are mistakes that I've seen many times on this forum.

    For example, adding 1 to a global variable when any enemy is attacking, and subtracting 1 at the end of their attack animation - with multiple enemies this is difficult to program correctly, and extremely difficult to debug when it's not working.

    It's much easier to set isUnderAttack=true when an enemy starts its attack, and then when an attack ends (or on every tick, or every 0.1s) check if there are any enemies still attacking. If not, set isUnderAttack=false.

    Using "Wait" in this logic will only cause problems! If you need to delay something, for example, player recovering from the attack, use Timer behavior.

    .

    About your other issue with the startup sequence - when you are starting many asynchronous requests at once, and then use many "On completed" events, it's difficult to figure out when all of them are completed. It's easier to execute them one by one.

    Unless the files are really big, these requests should be finished in a couple of ticks.

    .

    Can you please post screenshots of your code, which you are struggling with? It will be much easier to discuss with actual examples.

  • For the console log to show anything, you need to add "Browser Log" actions to your events :)

  • These two objects (healthbar and its background) have different Z-elevation, that's why they are drifting.

  • I'm guessing you can run any CMD command via "start", for example "start dir"