DUTOIT's Forum Posts

  • Remember we aren't talking singnalling server... this just connects host and peers to each other. The server is the actual host server the one that has a chrome installed and running 24/7 as host.

  • The C2 plugin allows the server to be host (ashleys multiplayer ghost shooter does just that) ... but you are still limited to bandwith as Refeuh so elegantly showed... Info has to be passed to and fro from peer to host and host to peers. And host has to send info out to all peers.

    The bottleneck will arrive at some point.

    Depending on the type of game, depends on the strategy. I've seen people break a map up into segments, so only those players in zone A are connected to each other. Those in Zone B, etc this makes because zone B has no interaction with zone A... it also allows the game to appear to have 100's of players on the map, when in fact they aren't actually playing together. The issue comes in(well not an issue, just a matter of brain application) when player moves into another zone, he then has to auto connect to new zone without him knowing it. Its that split second lag, jitter you get when running over some invisible line - lol.

    Lots of ways, but C2 isn't really built for "Massive" multiplayer.... a turn based is possible, but 100's if not 1000's of objects sync'd with 100's of players - I doubt it very much.

  • Also...

    100+ players connected concurrently... and considering you need to pass info to a database. You are talking 1 hosted server, the actual reality is you will need 10+ dedicated servers just for your database... and many more to load balance.

    Best bet is to start small, use C2 multiplayer (it is awesome) build a following and expand as your user base expands.

  • Is this frame rate dependent and is it correct if I assume it fires every other tick? I wonder what will happen if one of the peer have a significantly slower device compared to others..

    i) That is my interpretation.

    ii) Lag

    And...

    THANK YOU SO MUCH, ashley, that makes much more sense... really appreciate the clarification.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Thanks quick question. If im using the drag and drop plugin for player input to control a sprite. That will work for mobile devices to right. At the moment i dont have a way to test for mobile because i dont have a c2 license until towards the end of this week

    Yes, drag and drop works on mobile.

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

    Sorry ashley...

    I'm with duckfaceninja in querring under what conditions should we be using it. From what I understand, and the fact that it does what "On Client Update Does" and more... can use it all the time instead of "On Client Update" because both are true that client is about to update, or has updated. And "Is ready for input" has the added bonus of ensuring that we have no input prediction error.

    Actually everything duckfaceninja said

  • I rather use the built in multiplayer plugin

    Good choice. But it is pretty advanced. There are a number of threads on multiplayer and syncing and messaging going on in the forum at the moment. Check my last couple posts.

    I would recommend you do the tutorials by ashley and read the manual entry about 50 times.

    After doing all that then you will be in the same boat as the rest of us... trying to figure it out and make it perform like we think it should. It is very advanced, and we have a lot of questions, and we all experimenting to what works best.

    But check out the active multiplayer forum threads. Offer up your own tests, your own trials, your own breakthroughs and we will get to the end together

  • Skimmed through... haven't much time, will look later.

    You have a mix between touch.x touch.y and mouse.x and mouse.y choose one or the other. Touch is the same mouse as long as you don't need to use right button or scroll thingy.

  • Ok, so does it work when even the "is ready for input" is also removed and some other event like "on touched object coin" is used instead? My question is - "is ready for input" OR "on client update" one of these is necessary to communicate?

    on another note, I am trying to work on this scenario --> As a peer/host , lets say I want to create a coin whenever I double click...And each coin could be moved around only by the peer who creates it....if you have some ideas then let me know

    It appears so, but the "is ready for input" is very important because it stops an input prediction error from firing if the client isn't able to input for whatever reason.

    For Ashley:

    I myself now have to go play around... Ashley can we just use "is ready for input" as it does the same as "on client update" doesn't that make "on client update" obsolete?

    The Mp INPUT example I add the peerid to the coin, so only if your id = the instancevariable peerid can you move it. So pretty straight forward. So when creating, add the users id to that token.

    edit;

    Agggh overposted. What Duckfaceninja said - has to be done via host

  • I guess the "On Client Update" is still a mystery to me.

    You and me both...

  • > Multiplayer is ready for input

    > > On client update

    >

    I'm curious what will happen if you remove on client update, and just leave the ready for input.

    Just disabled

    Lol, it works same... learnt something, can that be right?????

    I was using it as a safety check...

    Edit

    [quote:25wlx59l]Is ready for input

    True when a peer is ready to send input to the host. This means On client update has triggered at least once, or is about to trigger. Do not allow players using input prediction to move or act before this condition is true or On client update has triggered: doing so will simply cause an input prediction error since the host is not yet ready to receive input.

    On client update

    Triggered when a peer is about to send its input state to the host. The input state should be updated in this trigger using the Set client state action.

    So "Is ready for input" is the better way then... I was just using it to avoid an input prediction error, but it looks like they both work

  • kmsravindra You still need at least one "OnClientUpdate" to communicate your input.

    The thing I'm unsure of if it is used outside the "OnClientUpdate" whether will it still update the host if "OnClientUpdate" events is placed after "SetClientInput".

    Multiplayer is ready for input

    > On client update

    Edit:

    [attachment=0:3w4iwg40][/attachment:3w4iwg40]

    Well something like this... sorry I use touch, not mouse

  • This isn't working precisely, just a demo.

  • Thanks am now able to make it work with send message approach...Its just that I am still trying to understand what works in MP and what doesnt work in MP...Please see my post in C2 general on multiplayer - questions -

    Trust me when I say... Me too. It is a lot of trial and error.

    Edit: the pong example needs the paddle to move every tick of the game.

    Messages are used when something happens it triggers.

    Controls are usually being read every tick, and in pong you want that functionality. Sending messages every tick is looking for trouble.

    That is what sync is for.

    I'm still unraveling all this myself.

  • I prefer send message for something like this...

    What DuckfaceNinja said.

    Anyways, I was at my C2, so did a quick small capx