Ashley's Recent Forum Activity

  • 1. Which method out of the below is preferred to propagate data from peer to host in multiplayer and in what conditions each of them is used ?

    A. Set Client input state "<variable>" to something and then use Multiplayer.PeerState (Associatedobject.peerid", "<variable>") sequence

    Use that for anything latency-sensitive, which is generally the buttons the peer is pressing, i.e. as the name suggests, input states.

    [quote:2rfc2qr0]B. Send message with peer data within the message

    Anything not latency sensitive, like chat messages.

    [quote:2rfc2qr0]C. Use Sync variable

    Not an option, because that *only* sends data from the host to the peer. 'Sync' never sends anything from the peer to the host.

    [quote:2rfc2qr0][re: is read for input] For me the confusion is whether this condition should be checked by host or by a peer?

    By the peer, because only peers send their input. The condition is very simple. Imagine setting a global variable to true when 'On client update' triggers. The condition just checks if the global has been set. If you allow the player to move before then, it will simply cause an input prediction error, because the host is not yet aware of your movement. It's pretty minor though - even if an input prediction error occurs, it will be corrected a few moments later.

    [quote:2rfc2qr0]Another confusion is for the "on client update", this is a trigger, but what triggers it?

    It fires 30 times a second to test the inputs, because that's how often messages are sent to the host (not 60, because that would use double bandwidth for little benefit). The frequency should not be important though. The trigger basically means "time to check what the inputs are, because it's about to be sent to the host".

    • Post link icon

    Please only use English on the forum.

  • Making it built-in won't make it magically faster. It still has to do the same number of collision checks.

  • The Multiplayer manual entry accurately describes what 'Is ready for input' does. Is there something else about it you were wondering?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • In my British accent I say construct (does the underlining make sense? ), but obviously different people have different accents! There's not the one true way to speak...

  • What's wrong with using loops? Why do you need this? Is it worth the serious performance impact of making far more collision checks than otherwise?

  • This is an incredibly difficult problem to solve in general. It could also be very CPU intensive and slow down games. I'm not sure solving such a thorny and problematic feature is going to be high on our priorities. You could experiment with the plugin SDK and see if you can come up with something yourself.

  • You can force WebGL enabled in Chrome to compare how it runs with WebGL support. It's described in Performance Tips.

  • Turn off 'Preload sounds' in project properties. Android can be pretty slow at decoding audio, and if that option is on, it will decode all sounds in the project before starting.

  • Closing as duplicate of https://www.scirra.com/forum/r184-nodewebkit-visual-bug-on-exported-exe_t117269. In this case you probably want to overlap the images by 1px, or just use medium quality downscaling (which is the default, why did you change it? Are you aware of the significant memory use limitations and the fairly narrow cases that it improves quality? Did you observe that this was important to your game?)

  • Crosswalk is basically Chrome running your project as a native app, so consider it identical to Chrome. WebGL is a lot faster than canvas2d so yes, if it's not supported it will impact performance. It will also severely impact performance if canvas2d is not hardware accelerated.

  • You can't get seamless rendering with adjacent sprites unless you use letterbox integer scale, point sampling and pixel rounding. This is often repeated on the forums and for the same reason inserting the Tilemap object recommends you use those settings. Otherwise you may get seams from floating point rendering which is a normal result in computer graphics.

    Also I am not sure why you changed the downscaling mode from the default. Are you aware of the significant memory use implications and the narrow cases in which high quality mode is truly recommended? Have you observed rendering quality changes that justified it?

Ashley's avatar

Ashley

Online Now
Early Adopter

Member since 21 May, 2007
Last online 27 Oct, 2026

Twitter
Ashley has 1,835,313 followers

Connect with Ashley

Trophy Case

  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Forum Wizard Made 5,000 posts in the forums
  • Forum Unicorn Made 10,000 posts in the forums
  • Forum Mega Brain Made 20,000 posts in the forums
  • x126
    Coach One of your tutorials has over 1,000 readers
  • x74
    Educator One of your tutorials has over 10,000 readers
  • x6
    Teacher One of your tutorials has over 100,000 readers
  • Sensei One of your tutorials has over 1,000,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x44
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

32/44
How to earn trophies

Blogs