oosyrag's Forum Posts

  • Again, there are scripts/bots that can automatically close issues after a set period of time of inactivity, rather than arbitrarily at the beginning of the year. So every issue will be open for a year, then closed, instead of ones opened in January being open for a year and ones from December open for a month before closing.

  • Some git projects have stalebots that automatically mark stale or close issues after a set amount of time.

  • You can use an Array object, which is similar to a spreadsheet you can store data in.

    Or you can use a Dictionary object, which is a list or set of key:value pairs, or like a group of variables and their contents, in a way.

  • That looks correct to me, and indeed how you would add a space between the two.

  • "string 1" & ", " & "string 2"

    Ect.

  • You would concatenate the entire paragraph each time it updates instead of appending.

  • See "Making AJAX requests cross-domain or in preview" at

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

    Some things also don't work without a shttp server, which is pretty much required on all online websites now. You should be able to configure it on your own local server.

  • The obvious straightforward solution is to simply get access to a computer, or at least a tablet. But otherwise, just practice. Eventually you'll get used to it.

  • construct.net/en/make-games/manuals/construct-3/project-primitives/events/how-events-work

    Picking resets between events

    After an event ends, the next event begins from scratch. Its conditions will start picking from all instances again.

  • I'd imagine your bug would be present in the function version too. Auto picking by newly created objects isn't preserved in a separate same-level event afaik. Try putting the pick mirrored condition in a sub event of the spawn event.

  • Are you trying to open an exported project? Exported projects can't be edited. Try the original project file. You can also try opening it in the same version of construct you saved it as and see if that makes a difference.

  • First off, lag/latency is something that is going to exist and is not physically possible to get rid of. Designing for multiplayer and net code are about how to manage and hide it from each peer and host.

    Local input prediction is one part of it on the peer side. An input from the peer will take time to be sent to the host and more time for the host to update the peer with what happened as a result of the input. The result is when a peer does something, nothing visually gets updated locally until that communication completes. Local input prediction hides this lag by allowing the peer's objects to update and move immediately upon inputs, and gradually correcting the position after receiving what actually happened on the host from the host.

    Reducing client delay isn't always a good thing - it's a lag management system on the host side. The client delay allows for a buffer time for the host to receive inputs from peer, because it takes time for peer inputs to be sent to the host, and also more importantly because latency is not a stable, set amount - it changes all the time. The client delay is how long the host has to collect actual received inputs from peers before updating the game. If the client delay is exceeded by lag, that means the host has to guess (interpolate, another lag management feature) at what the peer actually sent. When the guess and the actual input are different, you'll have a desync and correction = visible rubber banding and lag. It's often preferrable to wait for the actual input when possible to prevent desync. TLDR: what this means in the end is that you want your client delay to be at least longer than the time it takes for the host to receive each input from the peers, or even better the last two inputs from the peers so there's an extra buffer/backup time, because as I mentioned before latency changes constantly. (For more detail regarding timing, note that ping ms is actually the round trip time, so only half of that one way, and also don't forget to add in the maximum time between client input updates, which don't occur every tick.

    Regarding your "offline" disc accessories, assuming you mean those are not synced and displayed locally for each peer and host (which is the correct choice if they have no direct involvement in gameplay logic), it's a simple matter of positioning them when and where you want them on all peers and the host. Because they don't need to be communicated across the network, it is impossible for them to "lag". If you have them set to the disc position locally every tick, it will be at the discs visible position every tick.

  • Did you apply local input prediction to objects on the peer side?

  • Rays and beams generally consist of separate origin, body, and target/hit parts. The body part is the part that tiles with a variable size. This can be done with sprite objects + tiled background for the body, or a 9patch (at least we can rotate 9patches now!).

    Unfortunately, we have animations for neither tiled backgrounds nor 9 patches, so you'll either have to stack multiple of them and manually cycle through their visibility, or create and destroy them as you go to animate.

    You might also consider layering effects/additional sprites atop the path of beam, which can be animated, with the beam itself being mostly static.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • There is a image transform, scale x and y in the tiled background properties you might have missed, I think that's what you want.

    Then make the base texture half as large pixel wise, but scale 200%.