dop2000's Forum Posts

  • Now, does that mean that the game has to load every frame of every sprite that exist in the layout? Would it be faster for the game if I split up frames into individual sprites that only exist in the the layout in which they are needed?

    Yes to both questions. If you have a sprite with 10 large frames, but only using 1 frame on each layout, then the remaining 9 frames will be wasting memory.

    You can experiment by running the project in Debug Mode and comparing memory usage by images. Of course, you should only start optimizing if there is an actual problem - if the images are using a lot of extra memory (hundreds of MB or more), or if you are making a game for web where loading time is important.

    Compressing image files (say, by using lossy format) will make the loading faster. Reducing their resolution will save memory.

  • It may be better to use Line Of Sight behavior to check if the path is clear. Either check LOS or cast a ray and see if it intersects any objects.

  • Do you have a lot of text? Break it into smaller pieces. There is a limited amount of memory allocated to a text instance and when the text is very long it will become blurry.

    If that's not your case, then please explain what you mean.

  • Perhaps the easiest solution for you would be putting a bunch of placeholder sprites, manually in the editor. And then you can spawn random objects on them.

  • As I understand you need something like this:

    academo.org/demos/rotation-about-point

    You can update the position of every object by rotating their coordinates 0.01 degrees on every tick. However, this will probably mess with behaviors like 8direction or pathfinding.

    As an alternative you can use the method from my previous comment and make all objects invisible or place them off-screen. And then add visible copies of them, which will be positioned based on the original/parent object coordinates and the world rotation angle.

  • I'm curious - what program? Can you make a screenshot of the program window?

  • If you are certain it's a bug and you can reproduce it in a small project, you need to report it:

    github.com/Scirra/Construct-bugs/issues

  • --disable-devtools is a checkbox you can enable/disable on export.

    You can see what commands were added in previous version and manually update package.json file after export.

    You can also revert your project file to Construct version 368.2 by unpacking it to a folder and editing project.c3proj file:

    	"savedWithRelease": 36802,
    
    
  • I think the problem is that you are picking a random spawner first, and then checking if it has not spawned a key. If the first condition picked the spawner which has already spawned a key, the whole event won't run. You need to swap the order of these conditions in every event.

    Also, "Wait for previous action" should not be used like that - you need to remove them or replace with "Wait 0" if you want to wait to the end of the tick.

  • Can you post a screenshot of the event sheet? Or share your project file.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • In "On key/button pressed" event you can set a variable jump_start to 1.

    Then add another top-level event:

    jump_start=1 
    ... Platform set vector
    ... Set jump_hold to Jump_Hold_Strength
    ... set jump_start to 0
    
    

    This should fix the issue!

  • Yeah, this is odd. My guess is that keyboard and gamepad "On pressed" events trigger at different stages in a tick. Perhaps the keyboard event triggers earlier, before the Platform behavior makes its vector calculations. So the event sets vectorY to -400, then the behavior reduces it by gravity value. So at the end of the tick the vector value is already reduced to something like -370.

    In case of gamepad, the behavior updates the vector first, then the "On A pressed" event sets vectorY to -400, which remains -400 until the end of the tick. That's why the sprite jumps higher.

    Player.Platform.VectorY returns -400 in both cases, but from my experience you can't trust vectorX/vectorY expressions, they often return wrong (not actual) values. See this bug report for example:

    github.com/Scirra/Construct-bugs/issues/6323

    Three objects move at different speeds, by vectorX returns the same value for all of them..

  • This is an issue with backward compatibility, might be worth reporting:

    github.com/Scirra/Construct-bugs/issues