Ashley's Forum Posts

  • You always need an internet connection to connect to the signalling server. The game data will still run over the LAN.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • The stock user media examples show how to choose cameras if it's supported. It's a relatively new feature though so I don't know if Crosswalk has picked it up yet. Does the beta build of Crosswalk support it?

    Chrome for Android should already support it.

  • I think the minifier didn't recognise the ondrop or ondragover names used for that. Should be fixed in the next build.

  • gonzdevour - does r172 work? Closing as it worked for me.

  • Construct 2's built-in Multiplayer object already does this over WebRTC (which has NAT punchthrough and UDP transmission).

  • Where does Construct 2's profiler say the CPU time is going? That should help you narrow down what is slow in IE11.

  • Construct 2 games already work offline in web browsers, but only when hosted on a real website (you cannot run games from disk unless you use the node-webkit export).

  • It was previously reported as a bug that 'Go to URL' would navigate the app instead of opening the device browser, so we changed it. If your app just navigates to a web page, why not just open it in the browser where the user can bookmark it, add it to their home screen etc?

  • Have you gone through the Multiplayer tutorials? They describe in principle how data syncing works: the host informs the peers of the game state, and the peers inform the host of their inputs.

  • Go through all four Multiplayer tutorials and all your questions should be answered.

  • Setting the timescale also affects the 'Wait' action.

    Instead try making a measurement based on the wallclocktime expression, which is not affected by the time scale.

  • Yes, it is automatically supported: all you need to do is have 2 or more people on the same local network, and the signalling server will help them determine that they are both on the same LAN and connect directly, so game data doesn't even go over the Internet.

    The Multiplayer object has a 'set bandwidth profile' action which lets you improve the gameplay quality when you have effectively unlimited bandwidth and zero ping, as is typical of most LANs. However don't turn it on automatically and don't use it for games that do run over the Internet, since it will probably make the game experience worse. It should probably be an in-game option, like a checkbox that the user ticks to indicate they are running a LAN game.

    Players not on the LAN can still also join, so anyone over the internet can join your LAN game if the firewall permits. However don't use the LAN bandwidth profile in that mode either.

  • The part of the spec you referenced is an extension to the input element, which isn't really relevant to User Media since it's not a form control. I guess a file-chooser form control could be useful though - I'll look in to it for the next beta.

  • If at all possible, it's best to avoid this type of thing, since it is incredibly slow. The GPU may have a long queue of rendering commands in-progress, and normally it is working in parallel to the CPU and things are going super fast. However when you ask for a pixel back, the CPU has to synchronise: it will have to sit and wait while the GPU finishes its current queue, then when it's finished read a single pixel then send it back to the CPU. Then the GPU is sitting idle waiting for the CPU to finish whatever it's doing with the logic and get back to issuing rendering commands at the end of the tick before it can start doing any work again. So normally the CPU and GPU are both busy and working at the same time, but as soon as you start asking for pixels back they both end up doing a lot of waiting and doing nothing. For this reason reading back just a single pixel per frame alone can drop you to 20 FPS or less. On mobile, reading back a single pixel once-off could noticably jank the game. If there's any conceivable way you can do it differently, you should.

  • The debugger has a fairly significant performance overhead. The extra time of updating all the information in the inspect tab can affect performance.