oosyrag's Forum Posts

  • You use animations with invisible helper sprites as hit and hurt boxes.

    Spawn and size the boxes depending on the animation frame, and on collision play the relevant resulting animation.

  • 1000x1000 is massive. What is your target device? A standard HD screen is only 1080 pixels tall. Does your main character usually fill up the entire screen from top to bottom? There is no point in having a sprite that large if you're going to scale it down anyway. Standard practice is to create your sprites the same size as you plan on displaying them, or upscale them if memory is expected to be an issue. There is usually no reason to downscale, as it is a huge waste of resources.

    When you debug a layout, one of the lines under "performance" is estimated memory use. It's not exactly accurate but it can give a general idea, especially relative to other projects. You can try loading up the example projects to see how much memory they use on any given layout.

    Here are some additional links for memory management.

    construct.net/en/make-games/manuals/construct-3/tips-and-guides/memory-usage

    construct.net/en/blogs/construct-official-blog-1/remember-not-waste-memory-796

  • It can be, but running out of vram usually involves long loading times or crashes rather than low fps. How big are your textures and estimated vram use?

    Otherwise - construct.net/en/make-games/manuals/construct-3/tips-and-guides/performance-tips

  • An example made for someone else, but I believe it should give you a rough idea of how to approach your question.

    dropbox.com/s/od4zgfohtuaqugy/compareorder_example.c3p

  • You can set the Fullscreen scaling property from high to low as a system action.

    You can use the sprite action load by url.

    Or you can make a duplicate layout with the low resolution textures.

    The system memory management tools can also be of use.

    The latter three are most likely more work than it is worth, when you could just design your game with appropriate specifications for your target device in the first place.

    Also note that lowering texture/vram use won't get you "better performance" anyways, depending on how you define performance. If your game is running slow in terms of fps, Vram usage is probably not your problem.

  • + Sprite: Platform is jumping

    -> Sprite: Set animation to "run" (play from current frame)

  • They don't stay visible because you're destroying them in events 5 and 6.

  • Well then what can't you figure out? Because Newt's answer is exactly the easier way you're looking for.

  • Hmm I'm not exactly familiar with it myself, but you should be able to.

    You can take the screen snapshot and pass it to the system share function for mobile, and they would select Twitter manually if they have it installed. The example editor.construct.net should get you most of the way there.

    If you want to use Twitter directly I imagine Twitter has a JavaScript API that you can access directly via scripting actions in c3 to authenticate and upload to Twitter, but I'm even less familiar with about how to go about that.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I believe the proper channel would be to e-mail support@construct.net, you will likely get a more timely resolution than asking on the forums.

  • The grass needs to be on the same layer, set to force own texture, as your shadows, and the grass should be below the shadows in z-order.

    Source atop will not render the source texture on top of transparent pixels. Note that by default layer 0 is not transparent and filled with white, so there are no transparent pixels. Thus a source atop image without any additional settings will always render on top of the background of layer 0.

    Force own texture isolates that specific layer from others below it.

  • Just wanted to point out that the algorithmic and logical lessons learned from working with Construct, as well as basic computer science principles such as variables, expressions, functions, and mathematics concepts, will carry over to any programming language regardless of engine.

    So if I were an educator, I would consider that the value proposition here has nothing to do with if my students continue using construct or not in the future (I wouldn't really care), but rather how easy it is for me to teach in Construct versus another engine?

    Personally I would hate to waste time in a programming class worrying about syntax and compiling issues ect if I could be focusing on building a strong foundation for algorithmic logic instead. But of course that depends on what the goal of your class is...

  • Height and bump mapping simulate light depth by having certain pixels (based on a prerendered map) on an image be affected by a simulated light by different amounts, depending on what is specified by the map. It allows the illusion of 3d lighting in 2d.

  • Here's the simplest overview I can give.

    The advanced random expression Classic2d(x, y) will give you a random value between 0 and 1 for every pair of values (x,y) you enter. Classic2d uses a Perlin noise algorithm. The special thing about Perlin noise is that neighboring values won't vary too much from each other, so neighbors won't normally jump from .9 to .1, as opposed to purely random numbers.

    So the most basic implementation would be something like you tilemap coordinate indexes as input x/y, and then you can 0compare the result and decide what to do with it. For example if it is less than 0.5, then make it a water tile. If it is over, then make it land. This is a common use case for Perlin noise to generate an elevation map. For any given x/y coordinate, it will return an elevation in the form of a number between 0 and 1.

    That's the absolute basics. You can add layers upon layers of noise to build whatever you want. Unfortunately it's quite open ended so there's not really a one size fits all algorithm or tutorial. It just depends on what your end goal is and how good you are with manipulating numbers via functions (in traditional math/algebra terms, not programming).