Online games system design frontend PART 1 | online game software architecture

Поділитися
Вставка
  • Опубліковано 15 жов 2024

КОМЕНТАРІ • 97

  • @Roen99
    @Roen99 5 років тому +40

    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.

    • @bowang1825
      @bowang1825 4 роки тому

      are you sure, which part is useful?

  • @KevinNijmeijer
    @KevinNijmeijer 2 роки тому +1

    This is, by far, the most clearly explained and encompassing explanation one can find on the subject. Amazing!

  • @rahulsaxena9103
    @rahulsaxena9103 4 роки тому +8

    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.

  • @fujinafiul6044
    @fujinafiul6044 4 роки тому +1

    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.

  • @justinluu3032
    @justinluu3032 5 місяців тому

    I love all the examples. Thank you so much!!

  • @prateekthakur4060
    @prateekthakur4060 6 років тому +5

    Thanks for making video on this toppic.Love your work!

  • @shikharsharma02
    @shikharsharma02 5 років тому +2

    You deserves more subscribers.
    Great Work!!

  • @daviddunmer3889
    @daviddunmer3889 2 роки тому

    loved it. Consider Investing in a better mic later down the line. Your content is top notch. Thanks.

  • @guitarcrax127
    @guitarcrax127 11 днів тому

    wonderful explanation! learned so much

  • @AnkitKumar-zu7cn
    @AnkitKumar-zu7cn 4 роки тому +2

    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.

  • @prabubalasubramanian7375
    @prabubalasubramanian7375 6 років тому +2

    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.

  • @kishorem812
    @kishorem812 6 років тому +4

    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?

  • @FarhadGuli
    @FarhadGuli 5 років тому +2

    Thanks man you are genius, from iraq/kurdistan 🖐👏👏

  • @RealAntiguaDreams
    @RealAntiguaDreams 4 роки тому

    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!

  • @parthgupta5058
    @parthgupta5058 3 роки тому

    Such a clear and ellaborate video! Thanks for that

  • @lwang9175
    @lwang9175 5 років тому +1

    Hi, thanks for much for making this video, deserves more thumbs up!

  • @MrThepratik
    @MrThepratik 4 роки тому

    Quite informative and entertaining to watch
    Clearly a good base to abstract further on the topics you mentioned

  • @laybunzz
    @laybunzz 4 роки тому

    Absolutely wonderful video. Great job!

  • @NeeteshSingh
    @NeeteshSingh 4 роки тому

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

  • @UntamedRogueMavrick
    @UntamedRogueMavrick 5 років тому +1

    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?

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

    Amazing video and your content, Can you please post a video on how to design GMAIL which can send 100000 emails

  • @shivaramapranav8007
    @shivaramapranav8007 4 роки тому

    Amazing content. I learned a lot about the design approach for a game.

  • @mohamedahmedfree
    @mohamedahmedfree 2 роки тому

    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

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

    Why don't you use web-sockets for communication between multiple players in real-time games?

  • @parwana1000
    @parwana1000 3 роки тому

    Just one thing want to say ...
    You are too good ....

  • @pengli4769
    @pengli4769 3 роки тому

    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?

  • @mardukvassili
    @mardukvassili 3 роки тому

    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?

  • @kumarp1976
    @kumarp1976 3 роки тому

    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.

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

    Superb ! Thank you !

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

    Starcraft or Age of Empires are examples of games using deterministic lock step.

  • @2bitsbyab
    @2bitsbyab 2 роки тому

    awesome explanation

  • @haonanliu5296
    @haonanliu5296 3 роки тому

    amazing job done in explaining !

  • @simransngh024
    @simransngh024 5 років тому

    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.

  • @simplyashi
    @simplyashi 4 роки тому

    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.

  • @haribunty9247
    @haribunty9247 4 роки тому +1

    thank you helped me a lot 🤗

  • @kornelious1
    @kornelious1 3 роки тому

    Does this apply to games Like EverQuest and or World of Warcraft? Or is there a different design for those types of games?

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

    thank you for your helpful video

  • @zniverse
    @zniverse 5 років тому +1

    Good job! Really nice video.

  • @nickngqs
    @nickngqs 6 років тому +3

    Great video! Please do one for Food Delivery App, especially in the case of multiple clients (e.g web, ios app, android app).

  • @harshyadav7913
    @harshyadav7913 4 роки тому

    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 ?

  • @antonantochi8498
    @antonantochi8498 2 роки тому

    Very informative, thx

  • @finixhawkeye3213
    @finixhawkeye3213 3 роки тому

    Really helpful sir. Thank you ❤️

  • @soheshdoshi8472
    @soheshdoshi8472 5 років тому

    Please Post some video about software design patterns

  • @danielwen7891
    @danielwen7891 3 роки тому

    great content sir!

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

    Good content!

  • @sourcesource8750
    @sourcesource8750 2 роки тому

    You can include Replication graph

  • @vikas6629
    @vikas6629 2 роки тому

    Marvellous ✌️😉

  • @MrDawg-ol5pc
    @MrDawg-ol5pc 5 років тому +1

    Do you guys do private consulting?
    Thank you.

  • @karankanchetty105
    @karankanchetty105 5 років тому

    Thanks for making the video! You are awesome.

  • @admiralrohan
    @admiralrohan 6 років тому +1

    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?

    • @TechDummiesNarendraL
      @TechDummiesNarendraL  6 років тому +2

      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.

  • @tamilshoutcom
    @tamilshoutcom 6 років тому +1

    How many years software engineering experience did it take for you to be able to dissect architecture like this?

    • @TechDummiesNarendraL
      @TechDummiesNarendraL  6 років тому

      There's no absolute number, its all about reading + understanding.

    • @blasttrash
      @blasttrash 5 років тому

      @@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
      @blasttrash 5 років тому

      8 years I guess after you graduate from your computer science or electronics or electrical engg college.

    • @tamilshoutcom
      @tamilshoutcom 5 років тому

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

    • @blasttrash
      @blasttrash 5 років тому

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

  • @prernachauhan6262
    @prernachauhan6262 3 роки тому

    Best video ever!

  • @abhishekwani1933
    @abhishekwani1933 3 роки тому

    Thanks for video

  • @caiobeneditodrumond7770
    @caiobeneditodrumond7770 5 років тому

    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.

  • @humanside3382
    @humanside3382 5 років тому

    Sir AAP ne ye kiss book se study Kiya hai

  • @jaatsuspenceworld3974
    @jaatsuspenceworld3974 5 років тому +1

    For multiplayer online games required c# but learn networking course or not please tell me

  • @arshdeepkumar2586
    @arshdeepkumar2586 4 роки тому

    Great Video

  • @gouravkhanijoe1059
    @gouravkhanijoe1059 6 років тому +1

    This is awesome.

  • @tshazt
    @tshazt 4 роки тому

    Is that 13 ms or 13 μs?

  • @karansahu7710
    @karansahu7710 4 роки тому

    thank you bhaiya

  • @manav314
    @manav314 3 роки тому

    why not use socket ?

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

      TCP and UDP both run via sockets.

  • @cuentadeyoutuization
    @cuentadeyoutuization 5 років тому

    Thanks you.

  • @prajil_
    @prajil_ 5 років тому

    Can i buy a server???

  • @AbhishekSharma-si8ui
    @AbhishekSharma-si8ui 4 роки тому

    AWESOME

  • @bellaaurora4880
    @bellaaurora4880 4 роки тому

    Supportive

  • @adamhughes9938
    @adamhughes9938 4 роки тому

    Sweet shirt

  • @AmitKumar-ly8qx
    @AmitKumar-ly8qx 4 роки тому

    I will wait for your reply sir

  • @adelinealexa6301
    @adelinealexa6301 4 роки тому

    nice video

  • @ankk98
    @ankk98 5 років тому

    Nice video

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

      Watched it again. Learnt a lot.

  • @punith_m5
    @punith_m5 6 років тому +1

    nice

  • @ankitsrivastav6363
    @ankitsrivastav6363 4 роки тому

    ams also from gameprogrammingpattern

  • @alicehailey3836
    @alicehailey3836 4 роки тому

    nice nice

  • @0xggbrnr
    @0xggbrnr 4 роки тому

    Do you know everything?

  • @SupGhostly
    @SupGhostly 5 років тому

    Great video, but I gave you thumbs down because in every video you state you don't want to deep dive;why is that??

  • @santanusahoo9286
    @santanusahoo9286 2 роки тому

    watch in 1:25x

  • @sumonmal009
    @sumonmal009 3 роки тому

    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

  • @Jarakuyaa
    @Jarakuyaa 3 роки тому

    Bai ap dekne Main indian lakte tho...
    Hindi bolne mein kya taklip hai

  • @WavePlayz
    @WavePlayz 4 роки тому

    Raise ur voice i cant get anything even on full vol.

  • @amritpalsingh5320
    @amritpalsingh5320 5 років тому

    This is the guy who survived all the bullets in real life

  • @gamezonecart1370
    @gamezonecart1370 3 роки тому

    Hindi bolo