Godot 4 Makes Multiplayer EASY!

Поделиться
HTML-код
  • Опубликовано: 7 июл 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
  • ИгрыИгры

Комментарии • 121

  • @Snafuey
    @Snafuey Год назад +381

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

  • @mojosulo
    @mojosulo Год назад +113

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

  • @indieology7336
    @indieology7336 Год назад +34

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

  • @piousthepious
    @piousthepious Год назад +27

    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.

  • @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!!

  • @SW-vy4he
    @SW-vy4he Год назад

    Godot and your tutorial are both awesome.

  • @disregarded10
    @disregarded10 Год назад +1

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

  • @hairiclilred
    @hairiclilred Год назад

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

  • @jorgeramirez4761
    @jorgeramirez4761 10 месяцев назад +1

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

  • @pixezy8962
    @pixezy8962 Год назад +22

    Of course I want a tutorial. Godot 4 is 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,

  • @JonathanTash
    @JonathanTash Год назад +1

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

  • @labrum4932
    @labrum4932 Год назад +2

    Subscribed 🎉

  • @jared7650
    @jared7650 9 месяцев назад

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

  • @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

  • @tomf4927
    @tomf4927 Год назад +6

    I would absolutely like a tutorial. Yes please :)

  • @danieldarko6495
    @danieldarko6495 Год назад +1

    Would also love to see a Multiplayer/Networking tutorial

  • @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!

  • @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!

  • @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`.

  • @TheMaskedPlayerr
    @TheMaskedPlayerr Год назад +1

    PLEASE do a tutorial series on it!

  • @ericwood1185
    @ericwood1185 8 месяцев назад

    yes a MP tutorial would be great!

  • @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

  • @OlivierPons
    @OlivierPons Месяц назад +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.

  • @pmp209
    @pmp209 Год назад

    multiplayer tutorial? YES PLEASE

  • @dippinpahwa
    @dippinpahwa Год назад

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

  • @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

  • @schmecklin377
    @schmecklin377 Год назад +2

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

  • @GBSCronoo
    @GBSCronoo Год назад +3

    Yes Plz!

  • @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.

  • @lismith5733
    @lismith5733 Год назад +2

    good tutorials

  • @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

  • @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.

  • @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 8 месяцев назад

      @@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)

  • @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.

  • @spayeur
    @spayeur 7 месяцев назад

    A tutorial would help so much!!

  • @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! :)

  • @KaasTVNL
    @KaasTVNL Год назад

    tutorial series would be awesome on myltiplayer

  • @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.

  • @chrismcpherson7582
    @chrismcpherson7582 Год назад +2

    MOAR

  • @aerialsnack
    @aerialsnack 6 дней назад

    How did you get rid of the bullets? I'm having an issue where I can create objects just fine, but removing them isn't going so well! I'm trying to use queue_free() from the server but it's causing desync issues on the peers!

  • @piousthepious
    @piousthepious Год назад +1

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

  • @firebrozockt5492
    @firebrozockt5492 2 месяца назад

    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

  • @FreestyleRez
    @FreestyleRez 11 месяцев назад +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

  • @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

  • @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

  • @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 ?

  • @voidofsoul8485
    @voidofsoul8485 Год назад

    Tutorial for how to make a multiplayer game pls🥺

  • @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 5 месяцев назад

      good to know!@@coltr1

  • @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

  • @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

  • @paulchen9145
    @paulchen9145 9 месяцев назад +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.

  • @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?

  • @prizm7358
    @prizm7358 Год назад +1

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

  • @N-Xrd
    @N-Xrd 11 месяцев назад

    Low level info please!

  • @mike_tyson24
    @mike_tyson24 Год назад

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

  • @robotamori
    @robotamori Год назад

    Tutorial please!!! 😍

  • @caiogoncalves1398
    @caiogoncalves1398 Год назад

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

  • @nemesiser89
    @nemesiser89 Год назад

    Any chance of this tank game tutorial?

  • @greenya84
    @greenya84 4 месяца назад

    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,

    • @planktongunslinger5730
      @planktongunslinger5730 10 дней назад

      Maybe it's because you didn't add is_force_read arg in add_child (), or you didn't spawn this in a multi-player spawner (which makes multi-player syncing more consistent ). There a lot of ways to have these bugs, but if these only happen once pee each node then I think thats normal (atleast it happens in my game and doesnt break something big)

  • @codelinx
    @codelinx Год назад

    Low level stuff please

  • @PeterGilesKnows
    @PeterGilesKnows Год назад

    A tutorial would be great

  • @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 21 день назад

      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.

    • @Burnrate
      @Burnrate 7 дней назад

      That's not very disgust because it's hard. I don't know what kind of plugins are available to support online services in Godot.
      What your are really working with are online systems like the steam sdk for a game only on steam or the EOS sdk for cross platform and cross store play.
      In ue4 there is even a basic online subsystem that you can use to connect to your own servers on AWS and ignore steam or whatever storefront you are using. You can look at the source code in the engine to see how it handles the nat punch through and all that stuff
      I imagine Godot has their own implementation of this to support modern multiplayer but even then integrating it with a storefront or other game services is still hard work.

  • @Keliuszel
    @Keliuszel 7 месяцев назад

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

  • @lightcomic1
    @lightcomic1 Год назад

    Would it be possible to get this working with steam?

  • @arasgonul75
    @arasgonul75 5 месяцев назад

    yes tutorial pls

  • @tantoedge
    @tantoedge Год назад

    the project in a repo anywhere?

  • @rocket007
    @rocket007 Год назад

    am still using godot 3.5 :(

  • @creriey4945
    @creriey4945 Год назад +4

    can these work with steamwork?

    • @crigz
      @crigz  Год назад +1

      Not that I know of

  • @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(

  • @bertangokalp9002
    @bertangokalp9002 10 месяцев назад

    Tutorial please

  • @pancakedev6
    @pancakedev6 3 месяца назад

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

  • @calebpark7385
    @calebpark7385 Год назад

    what's that intro song? :0

    • @sheppennings
      @sheppennings Год назад

      bit late but its Golden Goose by Harris Heller

  • @ewaldschulte6529
    @ewaldschulte6529 Год назад +1

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

  • @iviexe5942
    @iviexe5942 9 месяцев назад

    Pls a cpmplete tutorial

  • @OlivierPons
    @OlivierPons Месяц назад

    Is is still working today?

  • @uropig
    @uropig Год назад

    music sauce?

  • @thomaseubank1503
    @thomaseubank1503 Год назад

    700th like

  • @Prototiphrom
    @Prototiphrom Месяц назад

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