oosyrag's Forum Posts

  • You can also use invisible helper sprites overlapping a single other sprite, but usually for animations you want separate sprites for your buttons.

    You can also do what you said and define areas for clicking, but that is super clunky and inflexible and you'd just be wasting your time.

  • Use your global variable as an indicator of the previous position.

    Before you update the y coordinate of the sprite in the global variable, compare the current y value of the sprite with the value stored in the variable, to see if it is greater or less than the previous value stored in the variable. Then update the global variable with the current value.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • On start of layout

    For each sprite -> set instance variable

  • I'm curious, what game? Can you link to your version and the stolen version?

  • There are encryption plugins available that will let you encrypt data to save and read encrypted files iirc. That would be a more significant step you could take on top of simple obfuscation by changing the file extension.

    But in my opinion there's not much point, as far as redistribution goes it doesn't really matter how many layers of protection you put on it since your program will be able to read it either way. Encryption might prevent someone from reusing your assets elsewhere, but from what I recall of your project your assets and format should be pretty unique to your program.

  • Common sources of frame rate slowdown include exceeding fill rate capabilities, physics and collision calculations, inefficient gameplay event loops, and pathfinding, among others.

    You'll need to first identify what is causing your problem to fix it.

  • What Construct offers? Accessibility is generally a design issue, not an engine issue.

    You can use text to speech for blind users, to answer your specific example. Did you have anything else in particular in mind as far as technical capability goes?

  • Use a variable to keep track of the dashing state, then use that variable as a condition when colliding with an enemy.

  • Are you using it in an "On movement" triggered event, as specified in the manual?

  • I'm not very experienced with mesh deformation myself, but I imagine you could use some invisible helper objects with image points in place of bones to use as reference points for mesh deformation. It would probably still be significant work and math heavy since you don't have any built in inverse kinematic systems to assist in keeping everything connected and in place. I think we currently do have the tools to set up the necessary constraints, it would just be difficult.

    Either way from a visual design perspective splitting up a sprite into multiple individually deforming pieces is always going to give you a significantly superior result than trying to deform one large sprite.

  • I've done something similar before. The solution I settled with was to set imagepoints at every corner of a los blocker, the cast rays immediately before and after every corner in range. Then see if any rays collide with the object in question. The key is that you're casting rays at the obstacle corners, not the target object directly.

    Depending on the sizes (and distance) of the origin and target objects, you can further cull the rays cast by only checking the corners in a certain direction, within a set range of angles from the angle between origin and target.

    It ended up much more accurate and higher resolution with less rays cast than trying to cast rays every x degrees in all directions, and more reliable than casting rays at the object.

    An alternate solution could be to cast a fan of rays towards the target object, wide enough to envelop the object. If the target is a fairly square or round shape you could set the bounds of the fan based on the distance and width/height of the target, then cast x amount of rays based on the desired resolution (or by distance, since you probably want higher resolution the farther away the target is).

    Edit 3: For further (significant) optimization, first check to see if the target origin is in los directly before casting any additional rays at all.

  • Built in physics catapult example - editor.construct.net

  • First off, don't use waits in repeats.

    Repeats all happen in a single frame. Wait's don't delay events, only the actions following it.

    You can try using the fade behavior or tween behavior instead.

  • Divide n by 10^(l-s), where n is your original number, l is the length of your original number, and s is the number of significant figures you want your result to be.

    Round or floor the result, then divide again by 10^(d) where d is the number of digits you want after the decimal.

    You can use an expression to get l, which would be len(n), as long as n is a whole number.

  • No, a larger cell sizes requires less processing, but less resolution. For example if you make the cell size too large pathfinding might not be able to find a path through a small gap.