This is actually the first video I've found, that shows some useful and deeper knowledge in simple words. Great job. Thanks for the tip about playout buffer, I didn't think about it before.
26:09 precompute/preload - In an online game, how would the server know which direction the player is going to go in? How can the server preload in this case? For a youtube video it is possible because the server already has all the info about the video. But in an online game the server doesn't know about the next move the player is going to make so it can't preload. What you have solved is the buffereing problem but not the latency problem. The problem that action taken by player one will be simulated at player2's screen after some time(250ms) is still there.
I just loved it. please make a tutorial of demo of simplest online multiplayer game like multiplayer dx-ball (rather than chess) which will give us a concrete understanding of the usage of tricks/methods to sync and simulate the game.
22:00 now i understand why there's a lag when there are other players nearby. In gaming community, whenever we players experience a sudden lag, we immediately infer that there are enemies somewhere around. The technical reason is that the client (mobile) has to process not just the current player's environment, but also the enemies environmental changes are also to be displayed and rendered. This is the only con of this approach. However, the pro that its almost real-time, covers the con.
Hi Naren. I have been following all your videos, its really awesome. Keep Posting Videos, definitely you will get more subscribers & views down the line. Suggestion: All your videos are particular type of App and how they are designing which is really good, but why cant you make video about generic system design and talks about different technologies, Pros & Cons, challenges in every part from UI to DB. Eg: LB, DB, Queue, Cache, Cloud, Scalability etc. (Just a high level overview, so that we can find the similarities b/w the app and helps to identify/understand the different types of app in terms of all the technical aspects & patterns) - I hope you understand.
Hey Naren, it's one of the best explanation for understanding the multiplayer gaming design. I am loving all your videos on system design, though they are lengthy but content wise they are very good, keep going buddy, your'e doing amazing job. do you have Linkedin profile to connect?
I had to close my eyes for the first 1:30 and just listen. the looping background that bleeds into your shirt is very distracting. Aside from that minor issue I had, I absolutely loved your video. Thank you for taking the time to put this video together. Thumbs up!
Good explanation in simple words.👍 First good content i got for FPS games. 1 point you were telling that if we will get frames at every 1/60 for fps then also lag can be observed. You mean to say here that some object havnt uodated there state withing that time interval in 60 fps game right ..
Big fan here. Thanks a lot, a buddy for this system design educational campaign. Apart from your videos, can you recommend any book, online portal, online course or something for delving into system design?
Thank you for the video. As you mentioned, each player maintains state. Then when 2 players interact, what pattern should we use? For example, player1 jumps and throw a knife to player2. Should player1, and player2 both update their state?
Hi there, Can you explain why an anticheat in online massive multiplayer games are so difficult to develop? FPS games are full of those. Why this big enterprises can’t stop them?
UDP has its own problems though. for NAT devices(pretty much all private networks are behind NAT now.a days), you will need to deploy a stun server to get public IP and that is always going to add one whole round trip for each request and can become much more problematic than TCP.
The Way I understand UDP connection is for eg In CS GO P1 is standing still and Enemy P2 fires at P1 using gun but then charges at P1 and tries to knife him.If the packet containing the firing info. of P2 gets dropped but the Knife info. is delivered all P1 is going to experience is the sudden jump in position of P2 and the knife kill. Am I understanding it correctly ?
How simulation games like Football Manager 2018 simulate a match so realistically? Is those just random guesses or any advanced predicting algorithms are used there?
They are not random guesses(unless game needs) they are mostly "automated computation," or a predetermined and limited set of responses to a predetermined and limited set of inputs.
@@TechDummiesNarendraL we'd still love a number though. I am pretty sure as a beginner you would loved to hear such a number too. It gives us an overview of what to expect to reach that summit.
@@blasttrash Thank you. I get senior devs not wanting to throw out a number as it is not the same for all. At the same time, it is helpful to get an individuals number, at least ball park to gauge.
@@tamilshoutcom That number 8 is something I got after checking Linkedin profile of Naren. Of course its not accurate. It could be off by plus or minus 2 or something.
Friend do you have the discord app? You understand what they say here in this forum that they speak of language autoit and c ++ , I'm wanting to mess with multiplayer system, ADVMENU frontend.
THIS COMMENT IS FOR MY PERSONAL REFERENCE. TO UNDERSTAND PROPERLY WATCH THE FULL VIDEO -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- deterministic locking 19:50 where it will not work 24:18 payload buffer as a solution 26:15 why not TCP 29:00 the idea to use UDP 30:50 State synchronization idea as solution 35:20 mix payload buffer + state sync would be good
This is actually the first video I've found, that shows some useful and deeper knowledge in simple words. Great job.
Thanks for the tip about playout buffer, I didn't think about it before.
are you sure, which part is useful?
This is, by far, the most clearly explained and encompassing explanation one can find on the subject. Amazing!
26:09 precompute/preload - In an online game, how would the server know which direction the player is going to go in? How can the server preload in this case? For a youtube video it is possible because the server already has all the info about the video. But in an online game the server doesn't know about the next move the player is going to make so it can't preload. What you have solved is the buffereing problem but not the latency problem. The problem that action taken by player one will be simulated at player2's screen after some time(250ms) is still there.
I just loved it. please make a tutorial of demo of simplest online multiplayer game like multiplayer dx-ball (rather than chess) which will give us a concrete understanding of the usage of tricks/methods to sync and simulate the game.
I love all the examples. Thank you so much!!
Thanks for making video on this toppic.Love your work!
You deserves more subscribers.
Great Work!!
loved it. Consider Investing in a better mic later down the line. Your content is top notch. Thanks.
wonderful explanation! learned so much
22:00 now i understand why there's a lag when there are other players nearby. In gaming community, whenever we players experience a sudden lag, we immediately infer that there are enemies somewhere around. The technical reason is that the client (mobile) has to process not just the current player's environment, but also the enemies environmental changes are also to be displayed and rendered. This is the only con of this approach. However, the pro that its almost real-time, covers the con.
Hi Naren. I have been following all your videos, its really awesome. Keep Posting Videos, definitely you will get more subscribers & views down the line.
Suggestion: All your videos are particular type of App and how they are designing which is really good, but why cant you make video about generic system design and talks about different technologies, Pros & Cons, challenges in every part from UI to DB. Eg: LB, DB, Queue, Cache, Cloud, Scalability etc. (Just a high level overview, so that we can find the similarities b/w the app and helps to identify/understand the different types of app in terms of all the technical aspects & patterns) - I hope you understand.
Sure, Idea considered
Hey Naren, it's one of the best explanation for understanding the multiplayer gaming design. I am loving all your videos on system design, though they are lengthy but content wise they are very good, keep going buddy, your'e doing amazing job. do you have Linkedin profile to connect?
Thanks: www.linkedin.com/in/narendra-l-3ba78a19/
Thanks man you are genius, from iraq/kurdistan 🖐👏👏
I had to close my eyes for the first 1:30 and just listen. the looping background that bleeds into your shirt is very distracting. Aside from that minor issue I had, I absolutely loved your video. Thank you for taking the time to put this video together. Thumbs up!
Such a clear and ellaborate video! Thanks for that
Hi, thanks for much for making this video, deserves more thumbs up!
Quite informative and entertaining to watch
Clearly a good base to abstract further on the topics you mentioned
Absolutely wonderful video. Great job!
Good explanation in simple words.👍
First good content i got for FPS games.
1 point you were telling that if we will get frames at every 1/60 for fps then also lag can be observed.
You mean to say here that some object havnt uodated there state withing that time interval in 60 fps game right ..
Big fan here. Thanks a lot, a buddy for this system design educational campaign. Apart from your videos, can you recommend any book, online portal, online course or something for delving into system design?
Amazing video and your content, Can you please post a video on how to design GMAIL which can send 100000 emails
Amazing content. I learned a lot about the design approach for a game.
Hey dude, why don't you post references/links from which you did your research on these topics? It would be great for further reading
Why don't you use web-sockets for communication between multiple players in real-time games?
Just one thing want to say ...
You are too good ....
Thank you for the video. As you mentioned, each player maintains state. Then when 2 players interact, what pattern should we use? For example, player1 jumps and throw a knife to player2. Should player1, and player2 both update their state?
Hi there,
Can you explain why an anticheat in online massive multiplayer games are so difficult to develop? FPS games are full of those. Why this big enterprises can’t stop them?
Good video.
Playout buffer though, may not work for online gaming. The movie / youtube video is known content (it's recorded), a game is not.
Superb ! Thank you !
Starcraft or Age of Empires are examples of games using deterministic lock step.
awesome explanation
amazing job done in explaining !
Great vid!! Just confused about one thing. If we send only keypress can't we send that in 1 bite. Coz 1 bite can make 256 different combinations.
UDP has its own problems though. for NAT devices(pretty much all private networks are behind NAT now.a days), you will need to deploy a stun server to get public IP and that is always going to add one whole round trip for each request and can become much more problematic than TCP.
thank you helped me a lot 🤗
Does this apply to games Like EverQuest and or World of Warcraft? Or is there a different design for those types of games?
thank you for your helpful video
Good job! Really nice video.
Great video! Please do one for Food Delivery App, especially in the case of multiple clients (e.g web, ios app, android app).
The Way I understand UDP connection is for eg In CS GO P1 is standing still and Enemy P2 fires at P1 using gun but then charges at P1 and tries to knife him.If the packet containing the firing info. of P2 gets dropped but the Knife info. is delivered all P1 is going to experience is the sudden jump in position of P2 and the knife kill. Am I understanding it correctly ?
Very informative, thx
Really helpful sir. Thank you ❤️
Please Post some video about software design patterns
great content sir!
Good content!
You can include Replication graph
Marvellous ✌️😉
Do you guys do private consulting?
Thank you.
Thanks for making the video! You are awesome.
How simulation games like Football Manager 2018 simulate a match so realistically? Is those just random guesses or any advanced predicting algorithms are used there?
They are not random guesses(unless game needs) they are mostly "automated computation," or a predetermined and limited set of responses to a predetermined and limited set of inputs.
How many years software engineering experience did it take for you to be able to dissect architecture like this?
There's no absolute number, its all about reading + understanding.
@@TechDummiesNarendraL we'd still love a number though. I am pretty sure as a beginner you would loved to hear such a number too. It gives us an overview of what to expect to reach that summit.
8 years I guess after you graduate from your computer science or electronics or electrical engg college.
@@blasttrash Thank you. I get senior devs not wanting to throw out a number as it is not the same for all. At the same time, it is helpful to get an individuals number, at least ball park to gauge.
@@tamilshoutcom That number 8 is something I got after checking Linkedin profile of Naren. Of course its not accurate. It could be off by plus or minus 2 or something.
Best video ever!
Thanks for video
Friend do you have the discord app?
You understand what they say here in this forum that they speak of language autoit and c ++
, I'm wanting to mess with multiplayer system, ADVMENU frontend.
Sir AAP ne ye kiss book se study Kiya hai
For multiplayer online games required c# but learn networking course or not please tell me
🤔
Great Video
This is awesome.
Is that 13 ms or 13 μs?
thank you bhaiya
why not use socket ?
TCP and UDP both run via sockets.
Thanks you.
Can i buy a server???
AWESOME
Supportive
Sweet shirt
I will wait for your reply sir
nice video
Nice video
Watched it again. Learnt a lot.
nice
ams also from gameprogrammingpattern
nice nice
Do you know everything?
Great video, but I gave you thumbs down because in every video you state you don't want to deep dive;why is that??
You're gay so am not surprised
watch in 1:25x
THIS COMMENT IS FOR MY PERSONAL REFERENCE. TO UNDERSTAND PROPERLY WATCH THE FULL VIDEO
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
deterministic locking 19:50
where it will not work 24:18
payload buffer as a solution 26:15
why not TCP 29:00
the idea to use UDP 30:50
State synchronization idea as solution 35:20
mix payload buffer + state sync would be good
Bai ap dekne Main indian lakte tho...
Hindi bolne mein kya taklip hai
Raise ur voice i cant get anything even on full vol.
This is the guy who survived all the bullets in real life
Hindi bolo