Everade's Recent Forum Activity

  • The way you should design your multiplayer game shall always be to send the tiniest amount of data possible.

    Syncing the position of all Players is also normal.

    System ¦ On start of layout -
    -- Multiplayer ¦ Sync PlayerObject (with Position only, precision Low (int16, 2bytes) at Normal bandwith (unpredictable)[/code:1pv07suh]
    
    Please note that you still require a basic Multiplayer Setup.
    To connect everyone with each other and associate each Player Object with a Multiplayer.PeerID
    
    Here are the basics about Multiplayer and the Plugin:
    [url=https://www.scirra.com/tutorials/892/multiplayer-tutorial-1-concepts/]https://www.scirra.com/tutorials/892/mu ... -concepts/[/url]
    
    Here's a Tutorial for real-time multiplayer games
    [url=https://www.scirra.com/tutorials/915/multiplayer-tutorial-3-real-time-game/page-1]https://www.scirra.com/tutorials/915/mu ... ame/page-1[/url]
    
    [i]Checkout the Multiplayer example .capx files inside your Construct 2 installation folder.
    There are multiple ones and should help you to understand how everything works.[/i]
    [b]Construct 2/examples[/b]
    
    In a normal Multiplayer Setup you usualy have a 
    HOST - Moves players, Shoots for them, Tells everyone what they're actually doing like Player Position and so on.
    PEERS - Recieves Data from HOST and displays what's going on. Sends INPUT only to host (Mouse Clicks, Keyboard Strokes)
  • aquadijoib

    I'm using the AddLog for Chat only, as used in the multiplayer example from Ashley.

    It works just fine.

    But i've never tested it to send anything else.

  • troublesum

    The problem with your code is, that it's not really well synced.

    It's always pretty off and then resyncs the position, so you see other players warping/bugging around like crazy.

    You notice that already when normally moving, but it becomes much worse if the players is hitting multiple directions at the same time, like jumping to the right and mid air to start pressing left while still pressing right.

    So other players will see you still moving to the right until it's synced which then warps you a long way to the left.

    Or by pressing left and right at the same time, the peer starts twitching.

    That's far from perfect, the official behaviour with InputPrediction works way better for me.

    The only positive thing i've noticed as slight improvements on the latency.

    Still great to see another aproach though.

  • Yes it's absolutely possible.

    Isometric however isn't easy to work with.

    But rex_zSorter Plugin helps you to do the layer ordering automaticaly.

    So you will be able to freely move around behind, and in front of the table and it will look correct.

    Here:

    http://c2rexplugins.weebly.com/rex_zsorter.html

    Pathfinding within an isometric environment works as well out of the box.

    Everything you ask for is possible.

    But it's not going to be easy.

  • Maybe add a "send to peer"

    Otherwise the messages are not being sent out?!

    It's hard to tell if we can't see the entire code.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • There are pretty good examples from Ashley himself in the Tutorial section when it comes to the basics of Multiplayer.

    Please note that C2 offers -Signalling Server- only, so setting up a dedicated server does not work out of the box.

    But i think it would actually be possible to create an actual HOST Game, which you could run on a dedicated server. So that one would be able to handle registrations/logins.

    The Signalling Server is only here for the initial Connection and then connects all players with each other.

    So with the basic setup from the Tutorial example... The first player to connect will become the HOST while all other players following will become Peers.

    So you need to understand that ones the players have been connected, the Signalling Server its job is done.

    Scirra also sells the Signalling Server in the Store, so you can run your own signalling server rather than using the official Scirra one.

    To ensure that players are not able to cheat that easily, it is very important that:

    • PEERS only send Keyboard/Mouse/Controller INPUT to the host
    • HOST handles the entire Logic and Actions of all Peers.

    -- Host then sends the data to the Peers to tell them what they have actually done.

    If you let the PEERS handling logic as well, the problem will be that its possible for players to cheat by sending whatever information they want to the HOST. Like "I have 100%HP" or "I just Shot 1000 times in 1 second"

  • The possibilities are kinda endless when it comes to tycoon games.

    I highly recommend to find something you personally like.

    Try thinking out of the box and get away from the idea of creating the next RollerCoaster or Animal Park.

    Maybe start from top to bottom

    Do you like shopping?

    • Mall
    • ....

    Do you like extreme sports?

    • Motocross
    • Quad

    ...

    Do you like Cars?

    ....

    And so on.

    • Post link icon

    Ashley

    It always gets me frustrated when i see how you're talking about your Multiplayer Plugin.

    It may not have reached your expectations in usage as in "numbers" or a high sale increase.

    But seriously...

    It's the only reason i'm here.

    It's the only reason i bought C2.

    Oh my god i freaking love it, and i wasn't even voting for it because i came later on!

    I bet the sales would be lower if you guys wouldn't have made the effort to code it.

    Simply KNOWING that it's possible, could make people prefer C2. It does not have to mean that they will ever use it.

    However i do. And i like it!

    My project requires Multiplayer and i'm still studying it during development, bit by bit.

    It's not easy to learn, but i understand it better day by day.

    The main problem is that there's only your basic example. I was happy when i saw someone selling a multiplayer shooting example which is based on yours.

    But if you take a closer look at it, there are a lot of mistakes inside that one (from the store)

    It's hard to make sure that the HOST handles all the logic, while keeping the Syncing as low as possible to save Bandwith. I've even created my own study to make sure i keep it as slim as possible.

    This makes it even harder for beginners to get into Multiplayer implementation.

    I really hope to see more people taking advantage of it.

    I've seen a lot people saying that it lags.

    The thing is.... Just one single mistake CAN make it lag. Like trying to sync something without input.

    And the Engine won't tell you that you've made something wrong. I got "lucky" after testing for days... and found that prick of an event xD

    But if it's properly implemented, it actually works pretty good!!

    The Prediction isn't bad. It could be more accurate but it's better than decent.

    On the other hand you have to design your game on day 1 based on Multiplayer.

    Implementing it on a finished game is nearly impossible if it's complex.

    I'm still hoping for major improvements on the Multiplayer features coming with Construct 3.

    Please don't scrap it!

    That would kill me.

    Give us more time.

    I don't have much spare time, so the progress of my game is really slow.

    But i'm doing my best to release it some day.

    I just found a way to create actual real physics on an isometric environment within Multiplayer.

    There are people out there who appreciate your hard effort of creating it.

    There are...

    Looking forward to sneak peaks of C3. (maybe in a year or two ? )

    Cheers

    And keep rocking!

  • I don't think that ashley should pre-code every single thing for us just to make it easier for everyone.

    If it's possible per events (not ******** workarounds), it should be fine.

    Of course, some basics should be available, i'm not trying to get rid of everything, nor would i hate to have such features.

    My personal and most important things i'm still wishing for are:

    Basic support for isometric games (At the current stage it's simply a huge experiment everyone has to go through and there's no good nor real solution in any part of an isometric environment. Unless for professional coders maybe)

    True and dedicated multiplayer support.

    Looking forward to more great and actually released PC Games using Construct.

  • sqiddster

    I've never came this far with my projects, so i've never had these issues nor have i reproduced them.

    Still trying to help you out in case it's an actual issue which i may run into in near future.

    Left comments on both pages.

    Cheers

  • delete

  • > The key is to avoid per-instance work for every instance in the layout, and to narrow the scope only to the active/visible area of the layout.

    >

    What exactly does per-instance work mean?

    Ashley

    I'm also interested into some more details on this one.

    Are you saying that we should avoid using instances on objects ?

    Or what exactly do you mean?

    And whatever it is, what should we use instead to avoid performance issues?

Everade's avatar

Everade

Member since 24 Jun, 2014

Twitter
Everade has 12 followers

Connect with Everade