Any plans for multiplayer improvements?

0 favourites
From the Asset Store
The official Scirra Multiplayer Signalling Server for helping peers find and connect to each other
  • > Make it work on ios and osx and lot more developers will try harder/longer to make working multiplayer projects.

    >

    That's entirely in Apple's hands - and they're working on it.

    Keeping my fingers crossed then ^_^

  • I'll weigh in here, as I wish multiplayer was improved as well. I spent months building a multiplayer platformer in C2 before the discussion was had that the platform behavior was (IIRC) too difficult to sync, and that the multiplayer engine was built more for top down. From what I've seen it was looked into, but I don't think it was ever resolved.

    I thought everything was outlined pretty well in terms of how to use it; Ashley's tutorials were easy to follow and worked for things like menu screens and such (thanks btw!). But I had to abandon the project because of the platform problem, and move to Unity 2D.

    If there was a more mature and robust multiplayer, I think it would be more appealing. Granted, most hobbyists aren't going to delve into a more advanced topic like this, but if Construct is for professionals and tinkerers, it would be great to have this ability. Army of one, of course.

  • Just because no one directly responded to Ashley 's response to Everade: Dear god, no, please don't drop multiplayer support.

  • Ashley

    Thanks for the reply.

    No i don't want it to be removed, but waiting for an update which is never going to happen is really not fun.

    Let me quote you from just a few weeks ago:

    There's a number of other aspects like the Scirra Arcade, multiplayer signalling, the hosting of C3 itself, other services we haven't announced yet, and other services we'd like to add in future.

    So i expected to see multiplayer improvements in Construct 3.

    But now since the beta release there's nothing about that "promise".

    And with your post above saying that there are no plans to improve it any further is just a huge let down yet again.

    And yes, multiplayer isn't easy.

    Your tutorial is also pretty good.

    It helped me to get multiplayer properly working with the prediction and anything else that's important about online multiplayer environments.

    Although there's still a lot more that could be covered. But i can work with it even though i'm an absolute Construct 2 beginner.

    I'm just saying that since that release back then, multiplayer has just been left back in the void.

    If at least you could improve the solid behaviour (which could also be useful for non-multiplayer scenarios) that would already be a huge relief.

    Yet the biggest request (which i understand is a lot of work) would be support for dedicated server hosting.

    I'm not really expecting that to ever happen, even though it would be freaking amazing.

    But i would already be more than just happy with the solid behaviour update.

    Curious, it works fine and has full functionality as dedicated host, regards if you're running it in nw.js or a browser tab, so wondering what the problem is there. Is not like clients ever see what the host sees, depending on how you approach it.

    Also, what is the benefit of running for own signalling server? Honest question, I really don't see it.

    The main question I guess would be what exactly you want to see improved and how?

    The solids issue you mention is hardly unique to multiplayer projects, and there are logical workarounds. Also it will likely be addressed in a C3 runtime update, which is planned for the future.

    Full dedicated host functionality?

    Do you mean if i let the game itself run on a windows server or what?

    That's a really non-performant ugly workaround. I think Ashley even said that himself from what i can remember in a private message.

    Benefit of running an own signalling server is:

    I have full control over availability and geographical location (about 1 year ago the scirra signalling server was down for several days and i've offered my signalling server to others (and yes it has been used by several people))

    And the solid issue i've mentioned has no logical workaround.

    I've been testing tons of different things but everything was an ugly workaround which ended up with specific bugs which are impossible to be fixed.

    Maybe someone could write a plugin for that, no idea since i'm not a coder (that's why i'm here using Construct in the first place).

    And "likely" be adressed is a huge word.

    Ashley

    I would love to hear some feedback from Ashley on this particular case.

  • ..... the multiplayer engine was built more for top down..

    It can be used in near all game types, it's all in the approach.

    Last (for fun) project I was working on was a RTS space game:

    I managed to pull it off, did tests with 4 players on a lan each able to create up to a dozen ships and able to control each ship individually or as group(s) and fight each other.

    The amount of ways you can develop a multiplayer mechanic are about as diverse as the options to move a sprite from a to b.

  • I think I'm starting to see it. Users are spoiled by the sync feature and not going through the work of building their own. There are many, many ways to handle netcode - that is how different multiplayer games optimize for their specific systems. The sync behavior the multiplayer object was a nice feature included by Scirra, but it really isn't suitable for all uses.

    However, the multiplayer object has everything you need to write your own netcode. The problem is that it is not a simple endeavor at all, which is probably why Scirra designed Sync to begin with. Unfortunately, users run into situations where it doesn't meet their needs, and think that they are unable to continue.

    So to nail down a specific request I think people are asking for to improve multiplayer would be to expand on the sync options and behaviors to make it easier to use.

    But right away I'm going to say that is mostly impossible (besides the fact that Scirra has made it clear they are not interested in doing so) - there are just too many ways to do it, and netcode really should be tailored towards its specific application. Basically - do it yourself, because there is no way they'll be able to make sync cover all the situations it needs to. The tools you need to do so are already there.

    A tutorial with a different approach and focus on simple data communication via messaging may be the most useful at this point, then moving on to interpolation, lag compensation, and bandwidth limitations/message efficiency. Then users will be able utilize the shortcut tools provided by the plugin as they see fit, and understand why the plugin behaves the way it does.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • > Curious, it works fine and has full functionality as dedicated host, regards if you're running it in nw.js or a browser tab, so wondering what the problem is there. Is not like clients ever see what the host sees, depending on how you approach it.

    >

    > Also, what is the benefit of running for own signalling server? Honest question, I really don't see it.

    >

    > The main question I guess would be what exactly you want to see improved and how?

    >

    > The solids issue you mention is hardly unique to multiplayer projects, and there are logical workarounds. Also it will likely be addressed in a C3 runtime update, which is planned for the future.

    >

    Full dedicated host functionality?

    Do you mean if i let the game itself run on a windows server or what?

    That's a really non-performant ugly workaround. I think Ashley even said that himself from what i can remember in a private message.

    Benefit of running an own signalling server is:

    I have full control over availability and geographical location (about 1 year ago the scirra signalling server was down for several days and i've offered my signalling server to others (and yes it has been used by several people))

    And the solid issue i've mentioned has no logical workaround.

    I've been testing tons of different things but everything was an ugly workaround which ended up with specific bugs which are impossible to be fixed.

    Maybe someone could write a plugin for that, no idea since i'm not a coder (that's why i'm here using Construct in the first place).

    And "likely" be adressed is a huge word.

    I would love to here some feedback from Ashley on this particular case.

    Makes sense, thanks for clarifying. I myself don't really care about running nw.js on a dedicated windows server - All servers are software running on some type of dedicated platform. Maybe I just haven't really pushed any limits in terms of performance. In terms of reliability, I can imagine a few ways to have redundancy and messaging/feedback for clients based on the availability of servers.

    Also reasons not relying on a third party (Scirra) signalling server makes sense too. Although for me theirs is probably more reliable than anything I would set up

    Solids issue - I must have been thinking of something else. Hopefully this can be addressed in the new runtime.

  • Everade

    https://www.scirra.com/blog/204/the-fut ... -3-runtime

    [quote:1sjze2vz]Enable hosting the runtime in new environments like a Web Worker, or a headless mode in Node

    This sounds like what you want.

  • Oh can I also suggest that every instance of "Signalling Server" ever mentioned be changed to "Signalling Service"?

    Might clear up a lot of entry level confusion.

  • > ..... the multiplayer engine was built more for top down..

    >

    It can be used in near all game types, it's all in the approach.

    Last (for fun) project I was working on was a RTS space game:

    I managed to pull it off, did tests with 4 players on a lan each able to create up to a dozen ships and able to control each ship individually or as group(s) and fight each other.

    The amount of ways you can develop a multiplayer mechanic are about as diverse as the options to move a sprite from a to b.

    That's awesome to hear. I'm sure it worked great for RTS (and it sounds like a fun game).

    Have you seen any examples or references for multiplayer games based on platform behaviour? To make games like Towerfall, for example, where precise platform calculations for players and projectile collision/overlap are the core.

  • The developers for Towerfall specifically decided not to do online multiplayer for exactly the reasons you specified. It would be too difficult to account for lag in that system, so they opted for local only.

    However, there are games like Street Fighter IV with highly optimized netcode for their specific engine that allows for frame dependant game play (mostly simulated latency to buffer any jitter)

  • The developers for Towerfall specifically decided not to do online multiplayer for exactly the reasons you specified. It would be too difficult to account for lag in that system, so they opted for local only.

    However, there are games like Street Fighter IV with highly optimized netcode for their specific engine that allows for frame dependant game play (mostly simulated latency to buffer any jitter)

    True, sorry — I only meant Towerfall as an example of a 2D game possible in Construct, and then multiplayer added to that.

    I've just not found any examples of the multiplayer, platform, and bullet behaviour working together properly, and have had no luck (despite my efforts) creating one.

    If it's possible, I'd love to see an example. In fact, I wonder if Scirra-grade examples of the many uses of multiplayer would spur interest in the plugin again (a multiplayer R-Type; a multiplayer Mario; a board game; a chat app; etc).

    (EDIT: or if it's not possible, I think it'd be a good idea to put that in the manual, to prevent others from the same fate)

  • I just wanted to chime in and request that anyone who has a good grasp on the multiplayer plug-in or using photon by all means feel free to write some tutorials or link me to some information... I'm not looking for someone to give me all the answers, but to show me the way so I can learn.

  • True, sorry — I only meant Towerfall as an example of a 2D game possible in Construct, and then multiplayer added to that.

    I've just not found any examples of the multiplayer, platform, and bullet behaviour working together properly, and have had no luck (despite my efforts) creating one.

    If it's possible, I'd love to see an example. In fact, I wonder if Scirra-grade examples of the many uses of multiplayer would spur interest in the plugin again (a multiplayer R-Type; a multiplayer Mario; a board game; a chat app; etc).

    (EDIT: or if it's not possible, I think it'd be a good idea to put that in the manual, to prevent others from the same fate)

    I think Construct 3 fixed the precision issue already (I'm not 100% sure)

    https://www.scirra.com/blog/203/some-bo ... onstruct-3

    Read the Enhanced acceleration precision part

    And which issue exactly are you talking about ?

    Do you mean that bullets fly through players and did not hit them?

    Construct 3 also enhanced the bullet behaviour to fix exactly that.

    I personally created my own bullet system which works very well within multiplayer environments.

    Instead of moving a small particle, i'm shooting a line which stretches over time.

    My goal was to create realistic bullet speeds, so the lines stretch extremly fast!

    I've even extended the system with penetration, depending on the bullet type being fired.

    So you can easily adjust it for each bullet that it penetrates multiple enemies before it gets destroyed.

    But i guess this should now be possible with Construct 3 new bullet behaviour which according to the blog does not fly through objects anymore because it moved faster than the frames have been updated.

    Please note that you will require lag compensation (rewinding time) if you try to create a real-time shooter or something similiar.

    https://www.scirra.com/tutorials/892/mu ... pts/page-8

    Ashley covered that already in his tutorial.

    And there's a pretty good real-time multiplayer template in the store:

    https://www.scirra.com/store/royalty-fr ... plate-2846

    It's not perfect and some things are a little bit complicated.

    It also has some precision issues when jumping. Which should be fixed in Construct 3 (read above)

    But it's great if you really want to get into it.

    But you can achieve exactly that by reading through ashley's multiplayer tutorials.

  • I think Construct 3 fixed the precision issue already (I'm not 100% sure)

    https://www.scirra.com/blog/203/some-bo ... onstruct-3

    Read the Enhanced acceleration precision part

    And which issue exactly are you talking about ?

    Do you mean that bullets fly through players and did not hit them?

    Construct 3 also enhanced the bullet behaviour to fix exactly that.

    Nice to know, but I'm not planning to upgrade. I'd love the same upgrade in C2!

    Please note that you will require lag compensation (rewinding time) if you try to create a real-time shooter or something similiar.

    https://www.scirra.com/tutorials/892/mu ... pts/page-8

    Ashley covered that already in his tutorial.

    I had implemented this, and other user's suggestions on how to work around it using functions.

    Bullets were easy to sync; one set of instructions were synced to all players. But because each player's platform position was inconsistent on each machine, none of that mattered.

    The big problem was that the player's position was never the same. Especially when jumping. There was a discussion about this some time ago.

    And there's a pretty good real-time multiplayer template in the store:

    https://www.scirra.com/store/royalty-fr ... plate-2846

    It's not perfect and some things are a little bit complicated.

    It also has some precision issues when jumping. Which should be fixed in Construct 3 (read above)

    But it's great if you really want to get into it.

    I'll check it out, but it sounds like it has the same issues as above. Thanks for the recommendation.

    Whether C2 gets any of the benefit (hopeful but it sounds like not), I do hope this is all resolved in C3. Especially with multiplayer gaming touted on the new site.

Jump to:
Active Users
There are 2 visitors browsing this topic (0 users and 2 guests)