What Goes Into Making A Multiplayer FPS?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
the ultimate dream for a lot of indie game developers including myself is to make a multiplayer first person shooter but what exactly goes into making one well i finally got started on my own project last week and basically there's a lot that goes into it the first question to answer when starting out is do you want your game to be peer-to-peer where each player connects directly to each other's machines or do you want client server where instead of connecting to each other the players only connect to a central server that is responsible for keeping everyone in sync most modern multiplayer games use some form of client server architecture because of the numerous benefits it has over peer-to-peer and it's also what i wanted for my game the game engine i use is godot and it's awesome godot uses a node based structure to build all the assets in the game including maps players weapons etc i chose to create two different versions of the game the client version which is what the general public gets to play and a stripped-down server version which only runs on the central server it handles most of the networking backend when you play a multiplayer game the other players you see on your screen aren't the actual players themselves but rather they are puppets that represent the other player and they're being controlled by the server sometimes this causes discrepancies between what you see versus what the server sees versus what the other person sees but for the most part this works fairly well in the beginning i had no idea where to start most of the tutorials on youtube were a bit too technical for me to understand but eventually i found a tutorial series by the youtuber rayuse which really helped me understand multiplayer linked below but of course it wasn't a perfect fit for what i had in mind and so i had to figure out a lot of the stuff on my own here all i was focused on was getting the game to connect to the server properly alright if everything is working correctly then when i press this button here this screen will change and we will see hello world pop up in the output over here so let's try it out yes after that i focus on making sure all players see the same thing at the same time when i press join game on both of the windows i should see a white cube in the middle of each so let's try it out all right after that i focused on movement and by the time i got that down i had learned enough about multiplayer to do what you're seeing now as far as i know there are no tutorials on youtube that show you how to do this exact thing but i figured it out on my own using my past experience making single player fps games as well as breaking tutorials down to their basics to try to apply them to situations that they don't cover right now when the player moves a character it first tells the server about its new position then the server updates the position on the other player's screens this is very simple and responsive but the one big problem is that it's super easy to create cheats and hacks in this model since anyone can mess around with the code on the client game and the server would have no idea to combat this instead of using the nuclear option of fully controlling all movement and physics on the server side which adds extra lag and complexity i'm going to try my hand at adding some anti-cheat measures to the game instead that's gonna be a doozy but it's something i hope to tackle in a future video and so make sure to subscribe and hit the bell button to be notified when that video drops if you enjoy my content make sure to like follow me on twitter join the discord and if you're feeling extra generous consider supporting me directly on coffee using the link below thanks for watching and as always have a nice day
Info
Channel: Garbaj
Views: 82,791
Rating: undefined out of 5
Keywords:
Id: aZ239kNcyng
Channel Id: undefined
Length: 3min 33sec (213 seconds)
Published: Wed Jul 28 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.