Construct 3 suggestions & ideas

Suggest and vote on ideas for Construct 3! Please note this is only one aspect of planning. We do not guarantee any features here will be implemented, even if they are top-voted ideas. The aim is just to collect feedback. Remember to search for existing submissions before adding an idea, describe your ideas as comprehensively as possible, and vote for plausibleĀ ideas that are well thought out. Please seeĀ our full guidelines on suggesting features.

3 VOTE

Sync Strings for Multiplayer

It would be extremely useful to be able to sync string variables in Multiplayer projects, without interpolation, of course.

For example: I have a game where players can use different abilities and one of them is the ability to throw smoke grenades that its owner is supposed to see through, while others can't.

However, trying to get the clients to know which smoke belongs to them is something I've been struggling a lot with, as smoke is supposed to be created and removed and shouldn't have a limit of 1 per player such as their player character. If I were able to properly sync the PeerID strings which every object has, things like this would be a non-issue.

Booleans would be a nice bonus but aren't important to have seperately, since numbers can do the same things.

  • Lilli Gref
  • Nov 28 2018
  • Already exists
  • Dec 4, 2018

    Admin Response

    Strings can already be sent between peers by sending messages. Syncing essentially automatically sends a message whenever the value changes, so this can already be done by sending a string message whenever the content of the string changes. Further, syncing is carefully designed to use minimal bandwidth. Since strings can be any length, including being extremely large, it seems preferable to control exactly when strings are sent with your own events rather than having them automatically synced. For example if you have a very large string and only a small part of it changes, you probably want to rearrange how the data is stored so that the changing data can be extracted in to its own smaller messages, so you don't have to keep retransmitting a large string.

  • Attach files
  • Lilli Gref commented
    28 Nov 21:24

    I mentioned booleans because they would be nice to have but they are basically reproducable with numbers so it's not really a problem.

  • Eleanor Jacques-Morel commented
    03 Dec 04:51

    Use the "send message" action as instructed by the documentationĀ 

  • Lilli Gref commented
    03 Dec 13:59

    But how would something like my example be resolved with messages? It's basically impossible to send messages with coordinates and have them point to an object accurately. UIDs are completely client-side on the other hand. My best guesses would be making a seperate ID system from the normal PeerIDs which uses numbers or give the objects numerical IDs which are synced and then sending messages as well, both of which basically involve creating a seperate system for IDs for objects even though PeerIDs are already a thing that exists.