DuckfaceNinja's Forum Posts

  • Condition: Repeat tokencount("What is that?"," ")

    Action: Set array.at(loopindex, 0) to tokenat("What is that?",loopindex, " ")

  • Game center is achievements and chat like you see if u was playing a ps4 or some. multiplayer or game center its all the same

    Just to make categorical distinction:

    Game center is not multiplayer, it's a social functionality.

  • When player in LOS if item and clicking on it - he will take it. When all events are triggered, I'm sending message to host (reliable ordered). On message I'm destroying object on host side

    All sounds theoretically correct in this part until...

    and broadcasting new message. In common on message, I'm destroying object to. All's working. But when new player connecting it can interact with this object - it's dissapearing only for players what were online.

    Starting from this part, there are things that is unnecessary, destroy event concept is similar to creation event, you don't have to broadcast message to trigger destroy event, this is done by host. Broadcast message only when it is necessary, such as announcing the name of the peer and the item collected.

    Furthermore, do not use create/destroy/spawn event in peer and common, these are restrictively host only event, whatever happen in peer will not be synced, unless you communicate the changes, which is unrecommended because you adding burden to the host.

    I haven't looked at the capx, I'll look at it if I have some time later today.

  • Whatever you're doing there, you should follow the bug reporting format.

  • DuckfaceNinja is lightyears ahead of everyone when it comes to multiplayer. Whatever he says, he has good reason for saying it. So go with his expertise

    Well I wouldn't say I'm ahead of anybody in terms of MP, it might be true that I'm using it more and longer than anybody else, given the complexity of my project

    I already have some host/peer running, but I'll need to start measuring bandwidth requirements...

    think you might want to hold out on that thought first, because I don't think it is helpful to measure anything without actually seeing the actual data comes in/out. I think the best practice is to always build your events by considering network load in mind, especially the host. There are things that you can let the peer to process instead of host, so prioritize the logic but for a start, let the host do all the logic first until you have good grasp on which logic can be leveraged.

    If you want to measure your bandwidth, you might want to avoid mistake I did in human error.

  • steam tools could be treated in the same way; without approval you can't get it.

    Why would we need approval to get it? I don't understand... Nintendo did it probably to protect their store from getting flooded with shovelware, which they are consistently emphasize on quality, while imposing no fees on developers, am I right? Steam already does this with the greenlight fee, am I missing something?

  • I think this is not a bug, this the popular power of the 2 problem, I believe this is applicable in all tile based plugin. Get your dimension in the power of 2, see if that helps.

  • Oh, that's interesting ! So if I understand correctly, you would have 1 host handling multiple peers in parallel, by storing and managing the data related to each individual game session in arrays (or other suitable data structures)

    Yes, you got it right. The only pain is the data structure, I'm certain that it would be one hell of a job to do.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It is a lot easier than syncing, but duckfaceninja can correct me if I am wrong, I think it is a little slower, so animation might have a delay.

    Shockingly, I find using instance variable is much easier than send message, which I did not expect. I'm now certain that instance variable is the way to go for movement animation.

    RisenFear

    I made a tutorial on this subject. Basically the similar thing with syncing movement, what differs is how to use the setbit/getbit conditions to trigger the animation.

  • Ah thanks for sharing! This will be very useful!

  • I'm wondering if it is at all possible to publish a game with C2 and have a "secured" (to some extent... read "secure enough") centralised leaderboard that would match the scenario 3 described in the previous post.

    Scenario 3 is doable, but that would require a very creative use of array and possibly dictionary. You don't need exclusive host for each game, that would kill your server much faster. I never tried this kind of scenario, which a serverhost hosting single player game, but I have a theory that this can be managed by handling the logic using array (based on your CCG case) and store the array in dictionary to differentiate between peers. Possibly make the calculation to always read/write the dictionary consistently.

  • Lol guys it's Star Nomad actually...

    I'm amazed that there are a few people work on the same sub-genre, I think so far in C2 this sub-genre has the most attempt by c2 community, in the complex mechanic category. To be honest, I tried create a space-based game months back but stopped doing it because I'm running out of idea to make it different, it felt bloody similar to star nomad.

    Anyway I have plans to restart in this sub-genre, probably as a long term side project, with MP awesomesauce maybe next year.

    I love this sub-genre, so I'll be watching you guys.

  • Are asking in C2 MP context or MP architecture as general?

  • Found it.

    I just remember that this test was never finished, I never get the animation to be right actually, still have to tinker a bit, I won't spend time on the send message method anymore since it is definitely doable but I'll try out instance variable shortly, see whether it is better or not.