DuckfaceNinja's Forum Posts

  • You can scale the layout or layers.

    https://www.scirra.com/manual/125/system-actions

  • Just that. Have fun

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Seriously the main problem is I don't completely understad syncronization here... or it works different than I understand

    There, you yourself acknowledge what you're lacking. So revisit tutorial and the official example, manual, manual manual. The answer is already there! Make yourself understand if you still don't.

    What's the point of uploading the same capx a few time?

    Don't expect I will make it for you because it is useless since you can't understand the entry-level example from the official example, you will still at lost even farther after I edit your capx, because it's almost the same thing all over again! There's no way you can finish your game with this kind of attitude towards learning.

    PS: There's no way Chuck Norris can be a Chuck Norris just by practicing martial arts in just one day and go out kicking asses soon after.

  • Wow I wish my future game will get featured on front page like those 3 too... It's like an achievement

  • I don't see any events pertaining to the color change at all, you're probably gave link to the wrong one.

    Anyway, a bit of comment, for "on key pressed" use send message, but for "key is down" use sync client input.

  • It's correct and it will work? Oo

    Nobody know until someone tried...? Check your debugger to see whether it's created or not.

  • Look at line31 and line5.

    I don't know what and how you want to achieve, I'll just speculate. In line5 you created loot for host, but you never created any loot for peers, I think create loot should go into line31, which is why I feel you capx is incomplete.

  • Example.

    If I understand your post correctly though.

  • Have gone through all multiplayer tutorials.

    Its been mentioned that if the host goes down all the peers will be disconnected. Wondering if there is any way to switch the host to next peer when the first user goes offline/disconnected?

    Any inputs is appreciated!

    Automatically? No but...

    It's doable but it is astronomically advanced events. There are 2 category to approach this, whether a forced kick or a permitted leave. However, I only managed to create mechanism for chat only, for games it would be crazy and might be not doable by just sheer patience and will, preserving game state is a big job.

    Forced kick:

    All peer should keep the log on live events. Once the host left forcefully, peer can have the on kicked trigger to initiate the room creation again. In this case, it's like a race of who can connect to signal first. Upon room creation, connected peers will be updated with logged message, and resume chat like usual.

    Permitted leave:

    This allows more control on who's get to be the host, which the host can choose one of the peers name, broadcast the name of the newroom and the chosen peer name, once all peer confirmed to receive the data, everybody can safely leave the current room and wait for the new host to create room and all peer can join in once the room is available on roomlist. Then update the chat state as usual.

    For games, it depends on the complexity of your game, the difficulty of events setup goes exponentially with the complexity of games. Note that the suggested method, will need 1~5 seconds of recovery, so it's pretty advance.

  • Strangely it only works for the very first instance and not for others!!

    I came into conclusion that the data arrived in parallel ordered (independent) not in serial ordered (dependent)

    (I dont know the right word for it)

    , because I found in my spam test, some sprites changed color but some don't, event upon creation all should change the color on created, it's inconsistent. However it's an old test, I'm not sure whether I myself made a mistake on the event, but when the wait for signal works, I think that is the case.

  • Hi ! Is there anything new someone can tell me about the implementation of this function ? Is there a plugin available ? Thank's

    It's available in the store. However I think this will require you to ask player to buy the signalling server if they want to play on LAN, I think the license will not allow you to distribute it as part of the game.

  • I don't have the team or time to make a game to the scale of LoL and DOTA. Most likely I would be sticking with 1v1 and 2v2, but I wanted to see if it would be feasible to push the limits to 3v3.

    Heaven knows 5v5 would be a nightmare.

    Regardless if it is 2v2 or 10v10, number of the player is not the limitation, what can limits you is your server machine, can it handle bandwidth for several instance of 5v5? Will it have enough processing power to process several instance of 5v5?

    In C2 MP context, this is largely depends on how you build your event, there's no clear cut on how to optimize the bandwidth and MP game itself, it's a matter of preference and choices whether you rather sacrifice bandwidth for smooth "lively" movement or having a lot of complicated send message (used as trigger) to save bandwidth when some event can be internalized in peer and host.

    I think it is feasible in scale of 100-200 (might be more) concurrent players or so for one server machine, with good bandwidth.

  • Ashley, I did look at real-time game example...Even in real-time game, there is only a single instance creation of a sprite called "Peer". But my question is even there are only 2 players or "n" number of players, I want to create multiple instances of sprites for each Peer...And I want to associate all instances of sprites created by a particular peer to that peerid....In such case, inside the peer group if I have an event like - on-created sprite event - set Paddle.peerid to multiplayer.peerid action sets the peerid only for the first instance of the sprite...The peerid for all other instances is blank using this approach...somehow sync object is not syncing for the remaining instances of peer sprites ...Hope I am clear..

    You either want to look at container or independent sprite like RTS?

    I haven't look at RTS yet but I think that'll be one hell of a job.

    Looking at your name I think you're an Indian, happy celebration then!

  • I have to spawn a new sprite on peer or host whenever the user double clicks on a screen...While I was able to get this working, I am not able to update the sprite.peerid with the peerID's of the user who creates them...I am using "Sprite - oncreated" event on peer and then assigning it to multiplayer.peerID...(as per the example multiplayer.peerID is supposed to contain the peerID whenever sync object creates a sprite on the host)...Strangely multiplayer.peerid gets set only for very first sprite that gets created on the peer / host...The sprites that get created from then on have blank values in their peerid instance variables..I am sending a message to host to create a sprite whenever peer double clicks on screen...

    I'm not sure if you're having the "not yet created" issue here, but I think this might be the case. I have issue before with similar like this but different. Ashley introduced wait for signal a few release back which solved this issue.

    I'll explain my case, I'm not entirely understand the technical work on the back of it but I hope this help:

    I think sync object is sync 1/30 second so there's a chance that the data arrive is not in desirable order when used in parallel with send message. However, reliably ordered message are guaranteed to arrive in order if it is a case of between broadcast and send. There's a chance the sync data arrived the tick before the send message arrive which theoretically confirms why wait for signal works.

    Tl;dr, experiment with wait for signal in the on created event. Actual snapshot of my simplest case:

  • I don't know what should I be saying here... What's left is you are the one who has to understand how to do it.

    Some pointers:

    1) Understand what sync object does: (creation and destroy is covered here not broadcast message)

    2) Sync Position (or with angle) if it is moving npc/enemy object.

    3) Sync None if it is a static object like loot. Use broadcast message to update position on created.

    4) Restrict client input just for continuous trigger, for triggering trigger use send message.

    I'm not sure how familiar you are with c2 event system, what can I say is the way you set up you capx imply that you still need some more study to get out of the normal event structure (it feels incomplete rather than wrong), in MP it is different but you can correlate such as to use every tick = use sync, to use trigger = use send message, trigger once= send message.

    I'm an artist, not a coder and official example and manual is all I need to understand this, there's no reason why you can't do it