Laserwolve Games's Forum Posts

  • Hi, my project has a sprite that has approximately 4 megabytes worth of images for its various animation frames. Four hundred 160x160 PNGs.

    Removing that sprite from a layout reduces the "estimated image memory" by 64 megabytes.

    1. Are there any optimization techniques to reduce the amount of RAM consumed?

    2. For a game that's intended to be played in a browser, what's a good maximum estimate peak memory usage?

    3. If I have a layout that requires more memory than is available, what would happen?

  • If you use inner scaling, you won't be able to fit every screen perfectly. It's literally in the name, it will scale (i.e. change size) to fit the screen. If your background is tiled and repeating however, you're in luck, because you shouldn't need to come up with a custom image for your background. Just slap that puppy into a Tiled Background.

    If you have stuff you need to always need to be in certain corners or positions of the screen, look into the Anchor behavior.

  • Hello,

    Is there a way to prevent the game from loading until certain checks are made? For example, I'd like to check that the user is on my website, before the game starts loading.

    Something along the lines of

  • Isometric games are pretty much just top down games, with a layering system and artwork created at that angle.

    It's always been possible, check out: construct.net/en/free-online-games/nero-engine-isometric-rpg-demo-23557/play

  • Wow, "frame changed" was exactly what I needed, I'm incredibly blind. Thanks!

  • I think "Trigger Once While True" is working as intended in this case. After all, it's called "Trigger Once While True", not "Trigger Once For Each Instance That's True"

    The first Family member that fulfills the condition, satisfies it.

    Logically, the solution would then seem to be some combination of "For Each" and "Trigger Once While True", however no arrangement of those two seems to work.

  • That's odd, the image in my original post vanished. Yes, I'm using system create, because I have to do it by name. (gotta have BadGuy1 spawn BadGuy1Projectile, and BadGuy2 spawn BadGuy2Projectile, and so on and so forth)

  • Do you mean 1 object total or per instance?

    Total. It seems as if "Trigger Once" looks at a Family as one big entity, so the first time the condition is met by any Family member, "Trigger Once" is satisfied.

    There seems to be a workaround using variables detailed in https://www.construct.net/en/forum/construct-2/general-discussion-17/request-instanced-trigger-once-81102 and https://www.construct.net/en/forum/construct-2/how-do-i-18/trigger-once-per-instance-131777

  • Hello,

    Consider the following:

    To save you the headache of deciphering those expressions the gist of it is:

    That's all fine and dandy. Without the "Trigger Once", an object is created every tick during that certain frame. That's too many. We just need 1 object. Sounds like the exact use case of Trigger Once While True, right?

    It works... until multiple CharacterAnimation family members are on that certain frame of that certain animation at the same time. Then, still only 1 object is created.

    Any ideas of how I can re-factor this event to calculate the Trigger Once for each instance? "For Each" just exacerbates the problem.

  • Hello,

    I have a sprite that uses

    as a way to make a scrolling liquid effect.

    Will this cause issues during a long play session where the image offset would eventually reach an extremely high value?

    Tagged:

  • Sorting Player vs enemy, npc or other simple objects would be simpler. You’d just compare the y positions.

    This'll get interesting once I apply this technique to sort NPCs near complex objects such as these, or on very thin, long, tall diagonal walls, with characters on both sides. (I'm guessing "Z Order Sort" is the optimal sorting method, but in my experience it overrides all other sorting and layering data/actions)

    I'll necro this thread next week with my results.

  • Aha! I knew there was some solution involving multiple image points and somehow utilizing a line between them, but with my limited knowledge of both Construct 3 and geometry I wasn't sure how to articulate that into an Event.

    Hypothetically, more complex objects could be solved with more image points and more conditional math, right? I'm sure at that point breaking it up into multiple objects would be faster.

    Your solution is highly relevant to large simple diagonal stretches of walls/cliffs commonly found in isometric games. Thank you so much!

  • Hello, for reference, here's the classic 2 event isometric solution:

    This is great for any isometric game with objects' collision polygons that are as wide as they are tall, or at least symmetrical along their Y axis. The problem arises on oddly- or diagonally-shaped objects; when an object's Y value is less than the player's, but the player should still be in front of the object:

    The red dot is the location of the Image Point used for calculation.

    Is there any solution that does not involve cutting the object into separate pieces and having each one be a separate sprite?

    Tagged:

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Ah, I see.

    Just right click an empty space in the list of animations on the right hand side in the Animations Editor. Use the Import from Files option and it'll let you import multiple ZIP files, each as its own animation. (Provided you update to r252) You'll still need to put all the animations in the correct .ZIP archive, but you can automate that with Powershell or the command line interface of an archiving program, like 7-zip.

  • With the release of beta r252 (today!) Scirra updated the importing of animations.

    Wow, not even 24 hours after I made this post... Awesome!