dop2000's Forum Posts

  • Usually mechanics like this are done with instance variables and timers. Say, the enemy may have State and Direction instance variables.

    When it sees the player - set State to "attack", stop Bullet etc.

    When the player is no longer in LOS - set State to "patrolling". Depending on the Direction variable set mirrored/not mirrored, re-enable bullet.

    On collision with walls - change Direction value, start a timer to resume movement.

    And don't use "Wait" action, because you can't control it. If the player appears in enemy's LOS during the 2s delay, you won't be able to cancel waiting actions. So always use the Timer behavior to schedule events.

  • "System compare two values" or "System evaluate expression" doesn't pick object instances! So if you have multiple enemies, it will only evaluate the distance to the first enemy instance. You need to use LineOfSight behavior instead.

    For each Wizard
    .. Wizard has LineOfSight to Player : fire at player
    .. Else : continue patrolling
    

    You can use "System pick by evaluate" condition to pick by distance, but the LOS behavior is a better choice.

  • You can make a snapshot (System action). Then load this snapshot into a sprite. Then paste the sprite onto a canvas.

    I don't know why DrawingCanvas doesn't support loading images directly, so that's the only way.

  • Use the Date plugin:

    construct.net/en/make-games/manuals/construct-3/plugin-reference/date

    Save the progress in Local Storage, or simply with System Save/Load actions.

  • There is was an app like that (which I helped to develop):

    tidyque.com

  • No, just reproduce all events correctly.

  • The easiest way is to put all variables into a dictionary. Then write Dictionary.AsJSON to a text file.

    To load: read the text file and use 'Dictionary Load from FileSystem.FileText'. Then extract all variable values from the dictionary.

  • That depends. If you're running your game as an Android app on Google TV, the remote will likely function as a standard gamepad.

    If you want to use an IR remote on a PC, you'll need an IR receiver, a driver for it, and possibly a Construct addon.

  • "Is visible" condition should be above "Pick random". You want to first pick all visible instances, and then pick a random among them.

  • The problem is that objects are not destroyed instantly. So the loop can still pick the spawner instance which has been destroyed. A simple solution is to check another condition, say make destroyed spawners invisible and pick only among visible instances.

    +Repeat NumberToGenerate times
    ++Spawner Is Visible
    ++Pick a Random Spawner Instance
     Spawner: Spawn EnemyBase
     Spawner: Set invisible
     Spawner: Destroy 
    
  • Definitely use the hierarchy feature, remove all containers. You can create the entire menu on a different (unused) layout, add all objects to a hierarchy. Tick "create hierarchy" checkbox in "Create object" action. This will create the entire menu!

  • I'm not sure I understand. Do you want to re-color portions of the sprite in runtime?

    We use ReplaceColor effect in our game and it works quite well.

  • Because you are not picking an enemy instance. If you have multiple enemies, without picking, the distance() expression will only check one of them.

    I suggest using Line Of Sight behavior instead - add it to Enemy sprite, set distance to 150px.

    Enemy has LineOfSight to Player : Player subtract 1 HP
    

    Also, if you have multiple enemies, disabling their event groups is not a good idea. It will obviously disable all enemies, not just one.

  • You can access the file in plain text using this link:

    https://drive.google.com/uc?export=download&id=FILE_ID
    

    However, you probably won't be able to request it with AJAX because of cross-domain restrictions. Ask ChatGPT about how to do this with Google Apps script instead, it's pretty good at that stuff.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Yeah, you can simply use a second sprite for shadow. Or paste the plane and other objects on a drawing canvas. And apply some effects to it - 0% brightness, blur etc.