Godot 4 Makes Multiplayer EASY!

Поділитися
Вставка
  • Опубліковано 25 чер 2024
  • Creating multiplayer games has never been easier! Godot 4 has made some changes and new additions that make it mega simple to prototype a multiplayer game. I built a quick project in 3 hours, here's what I learned!
    Resources:
    Replication: godotengine.org/article/multi...
    RPC's: godotengine.org/article/multi...
    Tank model: sketchfab.com/3d-models/styli...
    Chapters:
    0:00 Intro
    0:23 MultiplayerSpawner
    1:50 MultiplayerSynchronizer
    3:50 RPC's
    5:18 Outro
  • Ігри

КОМЕНТАРІ • 118

  • @Snafuey
    @Snafuey Рік тому +371

    I think a tutorial series would be great for the community!

  • @mojosulo
    @mojosulo Рік тому +109

    As someone who's preparing to make their first multiplayer game in Godot, I would love an in-depth tutorial series!

  • @piousthepious
    @piousthepious Рік тому +26

    Yes I would love to see a tutorial, trinkle in essential concepts to networking or link resources/articles to begin grasping concepts so that we can use the tutorial as a reference for future use on these concepts.

  • @indieology7336
    @indieology7336 Рік тому +34

    Thank you for covering the new multiplayer! would love to see more!

  • @Filipinjo
    @Filipinjo Рік тому +7

    Love the multiplayer stuff! Great video!

  • @studyinggodot1229
    @studyinggodot1229 Рік тому +3

    I've got the notifications ON waiting for that step by step tutorial hahaha. Thanks in advance!

  • @sunniegameplay
    @sunniegameplay 5 місяців тому +1

    Just starting with Godot but this tutorial makes it seem pretty intuitive, I'll try it out. Would love additional tutorials regarding online multiplayer, but the other content you have is great from what I've seen too. Thanks!

  • @squidboimusic
    @squidboimusic Рік тому +6

    I'd love to see a step by step tutorial! I'm very interested in both 3D and Multiplayer in Godot! 👍

  • @fatduckling7001
    @fatduckling7001 Рік тому +3

    Would absolutely love a tutorial series for this type of game!

  • @alexleonardkrea
    @alexleonardkrea 9 місяців тому

    I would definitely love to see more on this.

  • @sashaschwartz7101
    @sashaschwartz7101 Рік тому +1

    I would LOVE to see a step-by-step guide for a multiplayer game in Godot 4!!

  • @disregarded10
    @disregarded10 Рік тому +1

    I would love a step by step tutorial! I really appreciate your videos!

  • @SW-vy4he
    @SW-vy4he Рік тому

    Godot and your tutorial are both awesome.

  • @devildragon4562
    @devildragon4562 3 місяці тому +1

    Thanks man. I am just starting to get into network coding and the video was very helpful. I personaly would love a video explaining how to connect to a different player. So a simple peer to peer connection. The host generates a room code and other player can join the lobby by entering the code,

  • @jorgeramirez4761
    @jorgeramirez4761 10 місяців тому +1

    Love to see a tutorial using this tank game as the example

  • @hairiclilred
    @hairiclilred Рік тому

    this is an interesting and welcomed change to godot, can't wait to try it out

  • @OlivierPons
    @OlivierPons 26 днів тому +1

    I find this tutorial very good if you just want to copy-paste everything shown without asking questions... But I can't find a single tutorial that explains the developers' goals and how they implemented it to understand the overall functioning scheme instead of just copy-pasting from all the videos currently available on the internet about multiplayer with GODOT 4.

  • @jared7650
    @jared7650 9 місяців тому

    I would love a tuorial series on this, especially for local multiplayer

  • @tomf4927
    @tomf4927 Рік тому +6

    I would absolutely like a tutorial. Yes please :)

  • @JonathanTash
    @JonathanTash 11 місяців тому +1

    I really want to make a multiplayer game to play with my friends, so yes, I tutorial series would be extremely helpful.

  • @noahfyi
    @noahfyi Рік тому +1

    I'd love to see a basic tutorial on how to make a small toy game like this in Godot with multiplayer

  • @danieldarko6495
    @danieldarko6495 Рік тому +1

    Would also love to see a Multiplayer/Networking tutorial

  • @Imirui
    @Imirui 3 місяці тому

    Are you ever going to make the tutorial series?
    If you do, I hope you do it with a game type like an FPS game.

  • @pixezy8962
    @pixezy8962 Рік тому +22

    Of course I want a tutorial. Godot 4 is awesome.

  • @TheMaskedPlayerr
    @TheMaskedPlayerr Рік тому +1

    PLEASE do a tutorial series on it!

  • @benjamindeverell1123
    @benjamindeverell1123 Рік тому +1

    i browsed my way to this vid, i would love to see a step by step, even for something as simple as a rock paper scissors sim. both prototyping and polishing for production on multiplayer.

  • @yazhifan8448
    @yazhifan8448 Рік тому +2

    Yes, please! godot 4 multiplayer step by step tutorial.

  • @JeffLewis1975
    @JeffLewis1975 Рік тому

    As someone who is just starting to check out Godot I'd definitely be interested in a tutorial for multiplayer!

  • @darthnegativehunter8659
    @darthnegativehunter8659 11 місяців тому

    actually annotations are a thing in godot 3 as well. you can add master, mastersync, puppetsync, puppet before a function or a variable to configure it

  • @spartv1537
    @spartv1537 Рік тому +1

    damn dudes, i've been working with godot engine multiplayer for a quite long time and seeing THIS is omega pog! I can't believe my eyes!

  • @Domse65
    @Domse65 Рік тому +2

    Could you do a tutorial or give an example, how to do scene switching in multiplayer? Mainly some sort of lobby, when switch scene to some main game scene and spawn all players

  • @dippinpahwa
    @dippinpahwa Рік тому

    I am certainly interested in step to step multiplayer tutorial in godot 4.

  • @nonchip
    @nonchip Рік тому +2

    just for the record you'll probably want to use the `Callable.rpc(...)` syntax instead of the `Node.rpc(StringName, ...)` one shown at 4:30 , to save on sanity, just like `Signal.connect` and `Callable.call_deferred`.

  • @ericwood1185
    @ericwood1185 7 місяців тому

    yes a MP tutorial would be great!

  • @GBSCronoo
    @GBSCronoo Рік тому +3

    Yes Plz!

  • @labrum4932
    @labrum4932 Рік тому +2

    Subscribed 🎉

  • @pmp209
    @pmp209 Рік тому

    multiplayer tutorial? YES PLEASE

  • @schmecklin377
    @schmecklin377 Рік тому +2

    A little more in depth would be really really great. You explain things really well.

  • @jordanlapointe4690
    @jordanlapointe4690 Рік тому +2

    Great video, thank you!
    Can these new multiplayer nodes also synchronize (custom) resources across the network?

    • @crigz
      @crigz  Рік тому +1

      You probably could if you exposed it as a property on your node! I've not tried it though.

  • @tomashutchinson2025
    @tomashutchinson2025 Рік тому +4

    How did you spawn in projectiles? I'm currently having a lot of trouble with this and some help would be greatly appreciated.

  • @TommyLikeTom
    @TommyLikeTom Рік тому +1

    I'm trying to synchronize an Item list such as the one in the old multiplayer websocket demo. I have no idea whether to use a synchroniser or a spawner because the items in the list are generated by the node itself

  • @MennoHoman
    @MennoHoman Рік тому

    A tutorial on this topic would be greatly appreciated

  • @KevinNijmeijer
    @KevinNijmeijer Рік тому +14

    A tutorial would be very nice! On the point of authority, isn't it safer to have a server be the authority instead of all the peers for themselves? Doesn't that cause issues with RPC's? Is that why you use any_peer for the rpc call?

    • @crigz
      @crigz  Рік тому +13

      Absolutely, it's easier to just let players be responsible for their own character, but definitely not the safest. If you're working on a game where you don't want it to be easy for players to cheat, you'll want the server to have authority over everything.

    • @MasterBroNetwork
      @MasterBroNetwork 7 місяців тому

      @@crigz Hey, I know this was a year ago but would it be possible to have a client-sided character on the player's side that isn't replicated and use a server-side copy so that there is less chance of cheating and just correct the player's client view character as needed? (ex. Desync due to latency)

  • @lismith5733
    @lismith5733 Рік тому +2

    good tutorials

  • @spayeur
    @spayeur 6 місяців тому

    A tutorial would help so much!!

  • @luisroma7138
    @luisroma7138 Рік тому

    how do you manage spawning different players in different locations? for me, the client side position returns to the default node position, instead of the spawn position i am trying to asign

  • @piousthepious
    @piousthepious Рік тому +1

    Wondering what the thoughts are in making a Godot 4 multiplayer tutorial 👀

  • @XerotoLabs
    @XerotoLabs Рік тому

    An in depth one owuld be great . I'm still having issues while allowing players disconncet and come back to a session . I end up with the old ghosts being sync'ed on all subsequent new players ?
    I much have some thing wrong in the disconnect and dropped connection some place.

  • @festerdam4548
    @festerdam4548 Рік тому +1

    3:09 line 30 and 76, what addon are you using to display the not-equal, less-than-or-equal operators as their equivalent unicode characters (≠, ≤)?

    • @kiyu3229
      @kiyu3229 11 місяців тому

      I think Its font ligatures some fonts have them some does not

  • @paulchen9145
    @paulchen9145 9 місяців тому

    please can we have the repo for this project? It would help me tremendously to actually look at a working example with all the setup and scripts instead of just some small snippets and explanations.
    Please make this project available to everybody, that would be so awesome! :)

  • @FreestyleRez
    @FreestyleRez 10 місяців тому +1

    Hey, I can't seem to get the same child replication behaviour you have with the shield. The player nodes are replicated correctly with their position but if I instantiate something under the player and add it as a child it doesn't get replicated to the peers. I have the scene added to the MultiplayerSpawner. I've created a separate node and spawner at a higher level and added to this instead as a test and this will replicate correctly to all peers, but because the ability should ideally be a child of the player it's not the solution I wanted. Any idea what I could be missing get get child nodes to replicate? Thanks

  • @firebrozockt5492
    @firebrozockt5492 Місяць тому

    Sometimes it sounds simple to build a multiplayer, but i dont get how to transfer data from server to client or something like that.
    So i would love to see an in-depth tutorial

  • @KaasTVNL
    @KaasTVNL Рік тому

    tutorial series would be awesome on myltiplayer

  • @Mathis14260
    @Mathis14260 Рік тому

    hey thx for the tuto. I have a little problem, i dont have any error, but when i launch the exported game, and i host, the mouse is not captured, and i can't move. Instead i can do it when im in godot, do you know where is the problem ?

  • @nemesiser89
    @nemesiser89 Рік тому

    Any chance of this tank game tutorial?

  • @Gandalf_Le_Dev
    @Gandalf_Le_Dev Рік тому +2

    Quick question, what if I have 10 different bullet types that inherit from one class should I add them all to the multiplayer spawner or can I only use the base class ?

    • @crigz
      @crigz  Рік тому +1

      You'd have to add the 10 different scenes, the multiplayer spawner works on scenes rather than classes.

    • @Gandalf_Le_Dev
      @Gandalf_Le_Dev Рік тому +1

      @@crigz hmmmm ok thats a shame then why cant we declare a scene as synchronized it could scale better

  • @Neocorey11
    @Neocorey11 7 місяців тому

    Sorry if this is a dumb question, but in this implementation is this "MutliplayerSpawner" node running on its own dedicated server or is it just "owned" by the first client who connects?

    • @Neocorey11
      @Neocorey11 7 місяців тому

      I think I saw you indirectly answer this in someone else's comment. (Answer being this is other clients connecting to the first client (host) and not a dedicated server). Though it sounds like that could be possible too?

  • @caiogoncalves1398
    @caiogoncalves1398 Рік тому

    question, how to open godot 4? I downloaded it and it gives a vulkan error

  • @tantoedge
    @tantoedge Рік тому

    the project in a repo anywhere?

  • @lightcomic1
    @lightcomic1 Рік тому

    Would it be possible to get this working with steam?

  • @coltr1
    @coltr1 Рік тому +1

    Can you go into more detail on the players creating bullets?

    • @coltr1
      @coltr1 Рік тому +2

      I got it! Instead of using the multiplayer synchronizer, I had to use RPC calls only in order to replicate the bullets across the scenes.

    • @krishGames0
      @krishGames0 4 місяці тому

      good to know!@@coltr1

  • @pmp209
    @pmp209 Рік тому

    do you have a github where the code for this lives? I'd love to take a look at it, that's the easiest way for me to learn

  • @N-Xrd
    @N-Xrd 10 місяців тому

    Low level info please!

  • @prizm7358
    @prizm7358 Рік тому +1

    Is there any chance you'll post the source code for this project? It would be very much appreciated.

  • @mike_tyson24
    @mike_tyson24 Рік тому

    Can anyone tell if this is a tutorial for multiplayer that can be played in different devices??

  • @greenya84
    @greenya84 3 місяці тому

    Great video. Trying to impl simpliest multiplayer project, and running into some issues like: get_node: Node not found: "Main/World/Player_504642280/MultiplayerSynchronizer" (relative to "/root"). , no idea how it works and how to fix it. The best part i take this from like 3rd tutorial, step by step and it still doesn't work. Please make a tutorial with a simpliest example. Tahnk you,

  • @Keliuszel
    @Keliuszel 6 місяців тому

    how do you have theese nodes called by default "Main", "SpawnRoot" etc?
    idk if im doing stuff correct because of this to be fair :/

  • @paulchen9145
    @paulchen9145 8 місяців тому +1

    1:42 is this actually true? This doesnt seem to work for me. I instantiate my scene under the spawn path node (not a direct child, but somehwere further down the hierarchy) and add it to the auto spawn list, yet still I am getting errors...

    • @foollin2170
      @foollin2170 8 місяців тому

      I'm experience this behavior too. In my current version(4.1.1), spawn_path property description read "Spawnable scenes that are added as *direct children* are replicated to other peers". I'm not sure if dev change this along the way and this is intended.

  • @voidofsoul8485
    @voidofsoul8485 Рік тому

    Tutorial for how to make a multiplayer game pls🥺

  • @codelinx
    @codelinx Рік тому

    Low level stuff please

  • @creriey4945
    @creriey4945 Рік тому +4

    can these work with steamwork?

    • @crigz
      @crigz  Рік тому +1

      Not that I know of

  • @robotamori
    @robotamori Рік тому

    Tutorial please!!! 😍

  • @calebpark7385
    @calebpark7385 Рік тому

    what's that intro song? :0

    • @sheppennings
      @sheppennings Рік тому

      bit late but its Golden Goose by Harris Heller

  • @bertangokalp9002
    @bertangokalp9002 10 місяців тому

    Tutorial please

  • @PeterGilesKnows
    @PeterGilesKnows Рік тому

    A tutorial would be great

  • @OlivierPons
    @OlivierPons 26 днів тому

    Is is still working today?

  • @nitokoshiro5904
    @nitokoshiro5904 Рік тому +2

    While this advanced engine-specific stuff is really cool, how do you even let people connect to a game you made at all? In the age of IPv6, port forwarding is no longer possible for many people, and buying server space online costs real money that not everyone is willing to spend on a silly leisure project. How to get online functionality off the ground to begin with is the most interesting and least discussed subject of all.

    • @Daniel_VolumeDown
      @Daniel_VolumeDown 9 днів тому

      Hmm port forwarding might be not the easiest thing to do but there are workarpunds. I used to host minecraft/terraria (etc.) server to play with friend by using things like ngrok or playit gg which are free. So while I wasn't able to unlock ports (because ISP probably) I was able to use these solutions.

  • @arasgonul75
    @arasgonul75 4 місяці тому

    yes tutorial pls

  • @uropig
    @uropig Рік тому

    music sauce?

  • @rocket007
    @rocket007 Рік тому

    am still using godot 3.5 :(

  • @Andredy89
    @Andredy89 Рік тому

    and all this will work if all of the players uses the same router, right?) How to connect them via the Internet?

    • @crigz
      @crigz  Рік тому

      Nope! All of this was recorded with friends over the internet.
      The key is the host needs to have their ports forwarded / UPnP enabled.

    • @Andredy89
      @Andredy89 Рік тому

      @@crigz ahh got it. thx. The only problem is UPnP... not all users has access to their routers or knowledge how to configure it.

    • @crigz
      @crigz  Рік тому +1

      Yeah, only real way around that is to use Nat Punch-through, were you essentially have a publicly hosted rendezvous server the clients connect to.

    • @Andredy89
      @Andredy89 Рік тому

      @@crigz could u make a video of that? I know all external IPs of host and client, also i've heard that UDP allows to connect peer-to-peer. But how to make it w\o using third-party services? I have web-server and VPS... but can't get what data i should pass and get on it to connect 2 players(

  • @pancakedev6
    @pancakedev6 3 місяці тому

    everyone keeps saying multiplayer in godot is easy but im trying to do a simple thing and it wont work

  • @ewaldschulte6529
    @ewaldschulte6529 Рік тому +1

    There's still no step-by-step-tutorial, or?

  • @chrismcpherson7582
    @chrismcpherson7582 Рік тому +2

    MOAR

  • @iviexe5942
    @iviexe5942 9 місяців тому

    Pls a cpmplete tutorial

  • @thomaseubank1503
    @thomaseubank1503 Рік тому

    700th like

  • @Prototiphrom
    @Prototiphrom 23 дні тому

    Are you kidding, right? this is looking awful. Unreal is easier