Farsight's Forum Posts

  • Problem Description

    Only Ashley can handle this, If talking short: If client to connects to server, then disconnects. And then connects to fresh launched another server - there(Only on client side) will be undestroyable duplicates of each object in "Sync objects section" staying on positions were they was on previous server. If player refresh page\client and connect again - bug will not occur. So its repro only if you played once on one server and connect to another after it. Repro made on default multiplayer example. I will upload video of repro steps here too.

    More detailed: Im making multiplayer game, its all in one capx. There is a server and client in separated by groups. Server part exports with NW.js, and client uploads on site via html5. When client plays on one server once, when he disconnect and connect to another server(that was launched during client was on old server) there will be all synchronised objects duplicated(Only on client side). And if you try to destroy it on client, they will respawn again, like its still connected to old server.

    That means you cant make stable server-side game. Player after playing once on one server will have duplicated objects on other servers, until he refresh page.

    Attach a Capx

    https://dl.dropboxusercontent.com/u/950 ... P_bug.capx

    Description of Capx

    Repro made with default Multiplayer realtime game example - only thing added is button on client to move back from game to login menu. Nothing else was changed.

    Steps to Reproduce Bug

    • Export game via NW.js.
    • Launch game from NW.js and connect to be host.
    • Launch game from construct via chrome for example, and connect as client.
    • Close NW Host.
    • In Chrome game press spacebar to go back to menu.
    • Launch again NW game and connect as host.
    • Connect with chrome again.

    Observed Result

    Two peers, one from NW and your own in Chrome.

    Expected Result

    You will see third Peer - its duplicated peer from previous server.

    Affected Browsers

    • Chrome: (YES)
    • FireFox: (YES)

    Operating System and Service Pack

    Windows 7

    Construct 2 Version ID

    Currently its r216, but was appeared in previous builds.

  • Problem Description

    Focusing on Textarea by pushing button work properly only for first push. After that focusing happens only on double pushing of button.

    Attach a Capx

    https://dl.dropboxusercontent.com/u/950 ... d_bug.capx

    Description of Capx

    Its have only one text field

    Steps to Reproduce Bug

    • Press T to focus on textarea
    • Fill in text and push enter(this clears textarea and unfocus it)
    • Press T again to focus on textarea again

    Observed Result

    it will not work. It works only if you push T twice.

    Expected Result

    Textarea must be focused if i pushed T once

    Affected Browsers

    • Chrome: (YES)
    • FireFox: (YES)
    • Internet Explorer: (YES)

    Operating System and Service Pack

    Win7 64b.

    Construct 2 Version ID

    R216 stable

  • I have a layout 3000x500. And player window is 500x500. Player have a valve in front of him - when player rotate valve he scrolls around layout . Its like aiming system on old tanks. I need to make - three full rotates of valve to right is scroll to 1500px by x to right, and same for the left. Trouble is to detect valve spins, cuz when it hits 360 degrees its goes 0 again. I need a way to detect "overall" angle of valve.

  • I have a multiplayer game with open world. When releasing i export separetely client via html to web and server via NWjs. Is there any way to reduce render work on server to increase perfomance? Because when server launched its only shows some texts and its no need to render all other stuff on server side, only calculate collisions and etc. Ashley , is there any export way or trick for that?

  • Line of sight works wrong in "Or" conditions

    "Or" not working with multiple conditions related to line of sight

    Link to Capx

    https://dl.dropboxusercontent.com/u/950 ... s_bug.capx

    Description of Capx

    Simple example - eye have LOS and two targets with drag and drop to test. Eye must becomes green when have los to one of the cubes. But with or its not work.

    Steps to Reproduce Bug

    • Launch preview
    • Drag blue or green cube in LOS range

    Observed Result

    Eye become green only when see both cubes

    Expected Result

    Eye must become green if have LOS to any of cubes. This result can be achieved with separating "Or" conditions to separeted conditions.

    Affected Browsers

    • Chrome: (YES)
    • FireFox: (YES)
    • Internet Explorer: (YES)

    Operating System and Service Pack

    Win7

    Construct 2 Version ID

    212.2

  • I'm getting server(room) list via Request room list action. And i need to know somehow ping for this servers(rooms) before i connect to game. Ashley maybe its possible to make this in nearest release as option for multiplayer object?

  • For example, you can add variables to player with names "pants_id", "weapon_id" and etc. Sync that variables. And when client connects it creates and pin clothing sprites on other players by checking they id's.

  • Same thing guys, getting error when i disconnect from server(one layout) and going to menu layout, and then try to connect back to server layout.

  • i think its must be something like this.(but in my case "list recieved" not triggering, dont know why)

  • > New items\backpacks respawns\erases with time and in case of it new players connects you propose to send for everyone newcomer messages about every loot positions?

    >

    Yes, doable in the form of array.asjson . However to set it up, it is not as direct as syncing the position, rather quite tedious but it'll save you bandwidth.

    If you don't mind about the bandwidth at all you can still go with syncing positions, but you have to live with the interpolation issue that you show, unless Ashley provide the "no interpolation" option for sync object.

    I think the other syncing way you can try is using instance variable. They have no-interpolation mode, so basically record you x and y in the host and have an event in common group to position to instance variable every tick, or every1/30 second depends on what you prefer but the drawback is, the object movement might look choppy, jerky or stuttery.

    Better way is optionable interpolation for sync object ofcource Ashley can you just say will it be in nearest updates or not?

  • > And how in this case other players will see backpack on connect(if backpack not sync)?

    >

    If the host is the one who created the backpack, the backpack will also created on all peer, but set the position manually and pin them. This is how you sync backpack position by piggyriding the position value of the character.

    Ashley also mentioned this before.

    New items\backpacks respawns\erases with time and in case of it new players connects you propose to send for everyone newcomer messages about every loot positions?

  • Where is it interpolating to? It sounds like you might be trying to position it on the peer, but that will be overridden by 'sync object', you have to make sure it's created on the host.

    Ashley No, its repositioned on host, when recieved message "drop" from peer. When backpack repositioning from -100,-100 to Player.X,Player.Y its drawn with inertion(interpolation) Peer side thinks that its slighty move and starts "smooth" it with interpolation. And we get what we see on gif above. I need just simple replace it from one position to another without sliding effect.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • > Other players must see this backpack, without sync its bad. Make it via broadcast message with position is bad too, because on start all loot generates randomly, and it will destroy bandwith by sending for each player postions of created objects.

    >

    That is why you need to pin the backpack to your referenced position which is the character. Broadcast message is used like function/trigger which you have to send it only one time, unpin the backpack and set the position according the message.

    And how in this case other players will see backpack on connect(if backpack not sync)?

  • Did you sync the backpack? If yes, you shouldn't do that, you're wasting bandwidth. Use send message to pin/unpin the backpack, this will guarantee pin point accuracy in placing the backpack. All dependent object should be dependent to "main referenced position", not independently synced position.

    Other players must see this backpack, without sync its bad. Make it via broadcast message with position is bad too, because on start all loot generates randomly, and it will destroy bandwith by sending for each player postions of created objects.

  • I have object that Sync with posiition only and with very low bandwidth. In my game mechanics it object must change position on some actions. from (-100,-100) to some other an instant without interpolation.

    Example:

    Backpack on ground synced (backpack on player is only visual anims on peer side). When backpack picked its on (-100,-100) position. When player initiates backpack drop its "set position to player X,Y" Built in interpolation makes sub positions and it causes this visual flying backpack bug:

    Deleting backpack and creating another one in new position is not an option for my gmeplay mechanics.

    Ashley is it possible to add in multiplayer "Sync object" — interpolation mode on\off?