oosyrag's Forum Posts

  • Any object with instances that need to be differentiated per peer should have an instance variable to identify it - this is usually what the peerid is used for.

    Animations are not normally synced. All animation should be handled locally on each client. There are a few ways to go about this.

    Cleanest way is to set animations locally based on the change in position or angle of the object (because position/angle is already synced). This works for movement style animations, but not for anything that is based on an input.

    If you have an animation that results from a specific input, the host will need to relay that input to other peers manually so that the other peers can play the correct animation (inputs are normally communicated only from the peer to the host). However it would be silly to send every input of every peer to all the other peers all the time, since most of it is unnecessary information. Instead, the host can send the "state" of any particular peer's animation to all peers. This can be done either with a synced (number) instance variable (probably set on the particular peer's instance) or by sending a message (with the relevant peerid and correct animation state contained).

  • Right click the example - copy direct link

  • That condition was depreciated in R318.

    Multiplayer: deprecate 'Supports multiplayer' condition as it has been widely supported by all browsers for years now

  • Set sprite animation frame to floor(random(sprite.animationframecount) to change them all to the same random frame.

    If you want to set a random order of frames, use the advanced random plugin's permutation table.

  • Instances by far. Each instance/copy of an object effectively doesn't take any additional graphical memory at all.

  • Text - Set text to Array.At(floor(random(Array.Width)))

    No need to shuffle.

    If you do shuffle, then put set text after the shuffle, and Set text to Array.At(0)

  • The webhost should have no impact on the multiplayer plugin's functionality - the game is downloaded from the webhost onto the user device, and all multiplayer data is communicated directly to and from the multiplayer host's device - it does not go through or get handled by itch.io.

    You should look into NAT issues, or utilizing a TURN server.

  • construct.net/en/make-games/manuals/construct-3/plugin-reference/nw-js

  • Correct. I'm assuming you'll be using your IDs as the tag, as they are already unique and supposed to be associated with the data requested.

  • Use the ajax.tag expression with the on any completed trigger to identify the tag/id of the request it was sent in response from.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Use messages to sync peers if realtime sync is not necessary, if your goal is to save bandwidth.

    Note that even in Normal bandwidth mode, objects which are not changing gradually reduce their bandwidth to twice a second anyway, so static objects will still end up using Very low bandwidth mode. Therefore it is not normally necessary to change this, and it is suitable to use Normal bandwidth even for objects which rarely change.

  • I'd heavily advise against using physics for this application.

    Try a bullet behavior with the bounce off solids property. If the bounce of solids is unacceptable for whatever reason, use the line of sight ray casting feature to get the angle of reflection to do what you want with it instead.

  • You do not have permission to view this post

  • Your ideal solution would be an html launcher website or app.

    You can do the similar in a c3 project by opening a link with the go to url action in the browser object, or by using the iframe object but that might be kinda silly since that's what webpages are made to do.

  • For each box (or object)

    Set object.angle to box.angle

    Or you can do it on created instead of for each.