How Networking Works in Games

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

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

  • @brendanmerkel4857
    @brendanmerkel4857 7 лет назад +113

    For honor has a much more simplified networking system that greatly reduces system stress and workload by just not working at all. Its rather genius actually!

  • @zardify_
    @zardify_ 9 лет назад +106

    I'm so grateful that i found your channel... Seriously. I've been learning programming for about 10-12 years. Damn, I've even been working on big game projects. And the things you talk about in your videos are EXACTLY the parts i was missing and the parts that nobody explained. I love every part of what you're doing here, i love the way you can make people understand almost anything, i love that we share a lot of things in our personalities (mostly thinking of Q&As). Challenge is what makes us go and accomplishment makes us find new challenges. Much love and respect from Hungary, girl! Keep up the good work! ;) - (Unity / mostly C# guy)

    • @TheHappieCat
      @TheHappieCat  9 лет назад +19

      +Bernát Gyovai That's the best thing I could hear! Thank you!

    • @zardify_
      @zardify_ 9 лет назад +7

      +TheHappieCat Actually i'm the one who forgot to include the "Thank you!" :)

    • @Wingacrusade
      @Wingacrusade 8 лет назад +2

      +Bernát Gyovai This is my exact sentiment!

  • @enderbiradam6954
    @enderbiradam6954 8 лет назад +127

    How Networking Works in Dark Souls.

    • @enderbiradam6954
      @enderbiradam6954 8 лет назад +6

      Not that i'm complaining. :)

    • @themedic1137
      @themedic1137 8 лет назад

      Ender Bir Adam Exactly what I came here for xD

    • @chacatiarla
      @chacatiarla 5 лет назад +2

      @@enderbiradam6954 it's how networking works..

    • @enderbiradam6954
      @enderbiradam6954 5 лет назад +2

      ​@@chacatiarla yeah but the main example, or rather the only example was dark souls so I though I'd state the obvious. :D

  • @ackdood
    @ackdood 8 лет назад +57

    7 layers = All People Seem To Need Data Processing

    • @BrandNewByxor
      @BrandNewByxor 8 лет назад +5

      +Guiseppe Very useful for an upcoming exam of mine. Thanks!

    • @michaelbrassfield1550
      @michaelbrassfield1550 7 лет назад +7

      Please Do Not Throw Sausage Pizza Away: 1. Physical 2. Data Link 3. Network 4. Transport 5. Session 6. Presentation 7. Application

    • @coaxialsynapse
      @coaxialsynapse 7 лет назад +4

      All People studying this need drastic psychotherapy.
      7 Application
      6 Presentation
      5 Session
      4 Transport
      3 Network
      2 Data Link
      1 Physical
      I just started learning the OSI model, and in fact - I have a test tomorrow.

    • @licknelon3076
      @licknelon3076 6 лет назад +9

      All Prostitutes Seem To Need Double Penetration

    • @michaeldurrant8446
      @michaeldurrant8446 7 месяцев назад +1

      I've been doing networks for 25 years and this is the first time I've heard this mnemonic. Awesome!

  • @rstar111
    @rstar111 7 лет назад +3

    As a relatively new programmer, I found that the things you discussed about online gaming and the internet in general were fascinating. I definitely feel like I learned a lot (even if it's just the tip of the iceberg) from this video. Thank you!

  • @strassboom2612
    @strassboom2612 6 лет назад +1

    So happy that I found your channel again! Your videos were very helpful for classes I had difficulties in, and I plan to watch many more later, so thank you for taking the time to explain these concepts to us!

  • @saadtariq3632
    @saadtariq3632 6 лет назад +2

    As a former Dota 2 addict now moving to professional life. I really love your videos explaining game concepts with such ease. Thanks for all these explanatory videos !

  • @ededdynedd
    @ededdynedd 9 лет назад +4

    Thank you so much for what you're doing. I'm on the "Visual Novel" parts and i'm gonna use those all winter to help me learn and develop my skills. THANK YOU for helping me accomplish a long time dream of mine, you have no idea. please keep it up, you're a great youtube teacher and you have a great voice and personality for it. It's what this community needs, so thank you and please keep it up:)

  • @MrAZweistein
    @MrAZweistein 8 лет назад +13

    To see the OSI model on this video made me laugh because of memories from my computer science degree :)

  • @SpaceWolfHudson
    @SpaceWolfHudson 8 лет назад +3

    I still find it amazing if I think of how many parts work together in computer and networking and how fast all is done. If you consider all the pieces of hardware and all the different protocols involved, not only on your computer but in the whole network, and how much information gets transmitted (and processed and translated!) within fractions of a second...

    • @kurtisrinker1202
      @kurtisrinker1202 8 лет назад

      SpaceWolfHudson When you have someone breakdown ALL the steps like her then yes, I'd have to agree with you.

  • @Bradockey
    @Bradockey 8 лет назад +3

    I'm so glad I found you channel! Awesome material here!

  • @capability-snob
    @capability-snob 8 лет назад +2

    Topic idea: delve more into the application layer, specifically, how to get consistency when (always) there's latency between client input locally and reaching the server, and latency between events becoming canonical and reaching the client.
    There are two extremes. One is no consistency, for example on Han's computer he shot first and Darth is out, but on Darth's computer Han is out cold, both continue playing unaware that their game is no longer synchronised. The other is sequential consistency, which many games implement. For example, Universe At War claims "Synchronisation Error" and kicks everyone out the first time clients work off different assumptions.
    Designing application-layer protocols so that the client can queue events but react when those events get rejected isn't always possible - it's sometimes necessary to disconnect a client - but figuring out which events can be reasonably rejected without destroying the experience is a skill worth learning. Similarly, being able to know which events are pending and how to roll-back client state if and when they are rejected is an important part of the application layer.
    It can often be important to ensure, in the design of the protocol, that an individual client can't cheat (or limit how they can cheat). It's often easy to determine from the data coming in the location of things you shouldn't know about.
    I know it's a big topic and an area of huge active research, but it's something online multiplayer game developers SHOULD be thinking about.

  • @quintevail7500
    @quintevail7500 9 лет назад +6

    Loved how all the people in your drawings were cats.

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

    I find it interesting that I, a Reverse Engineer obsessed with Dark Souls II goes on RUclips to learn more about networking (I've reversed the P2P code in the past, looking at server communication now) and finds a video that "focuses" on Souls games to explain networking. I guess I will take that.

  • @Rijads
    @Rijads 8 лет назад +6

    If I had this visualized in my head for network exam, I wouldn't have to take it 3 times. The 7 layers from hell.

  • @codyhubert6178
    @codyhubert6178 8 лет назад +58

    IP Protocol = internet protocol protocol...
    Great video though! :)

    • @yousefedris3701
      @yousefedris3701 6 лет назад +17

      dc comics = detective comics comics xDD

    • @akashchoudhary8162
      @akashchoudhary8162 5 лет назад +6

      Sahara Desert = "Desert" Desert

    • @riggz5496
      @riggz5496 4 года назад

      VIN number TIN number PIN number. Vehicle identification number number, tax identification number number, personal identification number number lol

    • @codyhubert6178
      @codyhubert6178 4 года назад

      @@riggz5496 It's called RAS Syndrome. Repetitive Acronym Syndrome Syndrome. It's a real thing.

    • @integraxnine745
      @integraxnine745 4 года назад

      DC current = Direct current current.
      AC current= Alternating current current.

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

    i have a test about the osi model tomrrow and this video connected the stuff im learning with video games which is super awesome

  • @Jack-ig8dl
    @Jack-ig8dl 8 лет назад

    Your videos are great. I only started learning about the 7 OSI layers last week, so I definitely know I'm in the right place.

  • @aqimiljazi3699
    @aqimiljazi3699 8 лет назад

    you voice is soo soothing . and also this channel is great and keep up the good work

  • @CJBT
    @CJBT 9 лет назад

    You got yourself a new subscriber. :3
    Very informative, lovely voice, paint style visual... couldn't ask for more.
    Big thanks.

  • @Dotexe245
    @Dotexe245 7 лет назад

    Just found this. Probably going to be in my top favorite youtube channels.

  • @babyface8955
    @babyface8955 9 лет назад +3

    This was actually really helpful, thanks!

  • @Loppy2345
    @Loppy2345 8 лет назад +9

    Wow Happie really likes Dark souls lol!

  • @untapped8776
    @untapped8776 5 лет назад +2

    Thanks for summarizing my entire networking class in about 10 minutes. This was much more educational and entertaining.

  • @rydohg
    @rydohg 8 лет назад +17

    My favorite HTTP error is 418 (I'm a teapot)

    • @lachee3055
      @lachee3055 8 лет назад

      To be more accurate, Response :) Who says you wern't looking for a Teapot? :P

    • @HassanSelim0
      @HassanSelim0 8 лет назад +1

      well, the 4xx responses belong to the "Client Error" category, but yeah, maybe some people like teapots :D

    • @capability-snob
      @capability-snob 8 лет назад +4

      It's supposed to be sent in response to requests to brew coffee (over hypertext coffee-pot control protocol).

  • @daveyhu
    @daveyhu 4 года назад

    UDP is used not just for sending audio - in fact it's used by most games worth their salt. The problem with TCP is that it blocks until a packet is successfully received (simplified). With UDP you have control over what happens.

  • @CoolVids19
    @CoolVids19 8 лет назад

    I just found your channel, so glad I found it. LOVE IT!!!

  • @maow-tty-archive
    @maow-tty-archive 4 года назад

    Fun fact: Dead by Daylight was originally a P2P game, until they added Dedicated Servers, which caused a lot of problems during the Public Test Build, nowadays, if someone gets hit and they shouldn't have *by any means* , it's called a "Dedi-hit" for "Dedicated server hit".

  • @Liggliluff
    @Liggliluff 4 года назад +1

    (3:30) That's IPv4 and I've heard those aren't unique. Don't a whole house and sometimes a whole neighborhood have the same IPv4 address sometimes? But nowadays we do also have IPv6 that are much longer in length and can be unique per client.

  • @andyh495
    @andyh495 9 лет назад +1

    Something to delve into for funsies (and maybe make a video about since you skip over it here) is the actual mechanics of what happens when packets arrive at the server or client (what if UDP packets arrive out of order? what if packets are lost? what if lag is so high the game would feel unresponsive?). You can google "unreal engine replication" and "dead reckoning" to start.

  • @PhantomCooper
    @PhantomCooper 9 лет назад +4

    Have you played Bloodborne yet?, there's a password-based matchmaking system that makes finding your friends super easy.

  • @MagicGonads
    @MagicGonads 8 лет назад +5

    I was expecting a discussion of how the server might prioritise data and how it handles each players perspective of another player. Also nothing was said about what the server actually does with any of those inputs.
    I don't think the specific conditions for a check in dark souls is actually relevant to networking since that has nothing to do with how it actually gets those IP addresses, and what actually happens when you summon someone.
    (The second half of the video was completely unlike the first half)

  • @Xeverous
    @Xeverous 8 лет назад

    you should mention network layers in opposite order (how the data is packed with more information during encapsulation)

  • @GCNavigator
    @GCNavigator 7 лет назад

    It would be helpful if you could also describe the game server activity, instead of only the player side experience.

  • @Mestoc
    @Mestoc 5 лет назад

    Studying for CCNA and ended up here. Neat

  • @Maztergyl666
    @Maztergyl666 8 лет назад

    Good explaination, except two things:
    1: You skipped the Data Link Layer (Quite important)
    2: You skipped the Session Layer (Even more important)

  • @invntiv
    @invntiv 7 лет назад

    I love your videos! You cover great concepts

  • @Saverrio
    @Saverrio 3 года назад

    I know this is old, but so some of you know, this is the basics of network engineering. You need to know this even for a Tier 1 position.

  • @siegeO2
    @siegeO2 9 лет назад +2

    More on algorithms please :D

  • @ardakemalokanoglu4003
    @ardakemalokanoglu4003 4 года назад

    I actually came here to learn how to build a network inside games but I guess I'll learn the backend side now... ^.^

  • @WM_46
    @WM_46 8 лет назад

    Don't know if there was a follow up video to this, but it would have been nice to know a little bit more specifics about stuff like clientside and serverside info. I remember editing memory values for a single player game to give myself infinite ammo, and then wanting to use it online, but found out that the server keeps my ammo serverside, while the indicator information was clientside.

    • @tyraelarchangel183
      @tyraelarchangel183 8 лет назад

      The server likely keeps all the info, and may have limits. When you "save" your game single player if you're connected online the server may validate this information before it takes it.
      Otherwise the server just keeps most of the info and SHOVES that into your client when it starts up.
      For example. When you hit the a button, the server gets this info and says: "Hey, he used a bullet, decrement his ammo count by 1." And this is the only way your client can alter the server info. Manipulating the data by hand results in nothing, since the server already has the data file for you, it gives you the data file, not the other way around >.<
      But who really knows beyond the programmers themselves. Some games do get hacked in ways like this! So it sometimes just comes down to the implementation of the servers/clients themselves!

  • @ZGGuesswho
    @ZGGuesswho 8 лет назад

    Wow, great work, this is inspiring teaching. Thanks so much.

  • @jeddunkxyz
    @jeddunkxyz 9 лет назад +1

    Mnemonic for the network layers: Please Do Not Throw Salami Pizzas Away! :)
    Edit: You might want to look into how rollback netcodes like GGPO work as an extension to this video.

  • @DarkKnightBatman420
    @DarkKnightBatman420 9 лет назад

    Just found your channel and I like it.

  • @HA7DN
    @HA7DN 6 лет назад

    I had(has) no problem playing with my friends on DS, the summon sign appears just instantly.

  • @huntermay8322
    @huntermay8322 5 лет назад

    The question im asking is more complex, I'm building the bases for a
    multi purpose, with a cross console platform. The bases of the game you
    can be on a PC and your friend your playing with is on a PS5. being on
    the same server (with or with out region). My question comes down to
    severs capability plus regions servers, how much can a single server
    handle in player complexity, how many servers can a regional server can
    handle. I'm trying to understand theses concepts before i give my idea
    to a major company to handle. I want my presentation to be perfect. tho
    this part of the presentation may not be needed but it's best to know it
    if someone ask "How many players can be in each server?" This being a
    cross platform game i want about 9k players per "world" but with how
    complex the matrix of the game it will need powerful servers and a big
    handful of them to run one world. so the game can have the best
    connection to the point if you suffer any lag its coming down to the
    client and not the host. then it comes down to the bases of how to
    handle and take care of each server and whats the different between
    severs and regional servers and are there any physical differences
    between them?

  • @mrcrespo8392
    @mrcrespo8392 9 лет назад +1

    Keep going! I really love tour work

  • @aadesh_kale
    @aadesh_kale 4 года назад

    I respect you for drawing with a mouse.

  • @unrealdevop
    @unrealdevop 4 года назад

    Nice, thanks for the video.

  • @rerere284
    @rerere284 8 лет назад

    What sort of data network packets contain and what glitches can happen as a result? From looking into bukkit modding it seems like messing with them can do some weird things, like crashes or things being client side when they shouldn't be.

  • @Zybax1
    @Zybax1 8 лет назад

    i cant believe i learning networking with one of my favorites rpgs holy shit...

  • @THE16THPHANTOM
    @THE16THPHANTOM 8 лет назад

    already know the osi model intimately. was expecting something deeper like what kind of server side software do they use to save progress data. cause i heard normal record storing software like mysql and ms sql just wont cut it.

  • @hannovb5379
    @hannovb5379 8 лет назад +6

    oh no! mean people in chat :'(

  • @arash1934
    @arash1934 5 лет назад

    Can you PLZ do the same stuff about the division? I love to learn about the server side of this game

  • @iphoneanimationstudios4845
    @iphoneanimationstudios4845 5 лет назад +1

    Your data doesn’t get sent it a packet it gets sent in multiple packets.

  • @jonathanmeyer4842
    @jonathanmeyer4842 8 лет назад

    Wow, pretty amazing and easy explanation, subbed :)

  • @kylenki
    @kylenki 5 лет назад

    This is really helpful. Thanks!

  • @שלוםוברכה-ז8כ
    @שלוםוברכה-ז8כ 8 лет назад

    What a great channel

  • @TheEighthByte
    @TheEighthByte 9 лет назад +1

    Thank you! This was really helpful :)

  • @Daniels2l
    @Daniels2l 5 лет назад

    Omg, what an amazing video!

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

    I started becoming interested in networking after seeing the FFXIV documentary

  • @Dream_Spark
    @Dream_Spark 8 лет назад

    dude you're so awesome!!! I love your channel!

    • @the-bgrspot6997
      @the-bgrspot6997 8 лет назад

      she is a girl...

    • @Dream_Spark
      @Dream_Spark 8 лет назад

      The-BGR Spot I'm not Autistic. And let me fix that for you
      She's a girl*
      Muuuuuch better. doesn't hurt my eyes anymore. I use the word "dude" as in another human being. It's pretty clear you can do that. Jacksepticeye does the same thing and he's way more relevant to the human race than both of us will ever be combined so choke on that!
      I'm sorry I can't contain myself sometimes just don't mind me please

    • @the-bgrspot6997
      @the-bgrspot6997 8 лет назад

      Dream Spark I dont mind it
      dont worry
      I spend my day literally shitposting so just someone expressing his opinion (which I respect) is totally ok

    • @Dream_Spark
      @Dream_Spark 8 лет назад +1

      The-BGR Spot

  • @AbderrahmaneDouha
    @AbderrahmaneDouha 6 месяцев назад

    this video doesn't answer the main question, how game networking is made, in other word which protocol does games use in their networking

  • @lesliewubbel9157
    @lesliewubbel9157 2 года назад

    Great explanation thanks

  • @mathajar9563
    @mathajar9563 3 года назад

    I love 0 and 1 and I love your explanation so 101 :)

  • @ayushmandutta4261
    @ayushmandutta4261 2 года назад

    Are dedicated servers funded by the company that built the game or by gamers?

  • @rustygear447
    @rustygear447 8 лет назад +1

    thumbs up for Dark Souls! :)

  • @RobertHall-ef8yf
    @RobertHall-ef8yf 8 лет назад +2

    Damn I fell too deep into nerd youtube again and now I know way too much about really specific skills I will never actually use.

  • @LinWasTaken
    @LinWasTaken 6 лет назад

    the reason why peer to peer is the best : when X game company decides to AXE their game, most of the time it was server based so the servers are gone and poof , no more multiplayer.
    In the case of original dark souls (not that SHITTY "remaster") however, all you need is a working connection (if you're still having problems get DSCM).
    but that's just my opinion.

  • @harrisonansah1359
    @harrisonansah1359 8 лет назад

    May I know which tool you use for your presentations?

  • @SevenDeMagnus
    @SevenDeMagnus 6 лет назад

    We love hearing your voice, it's perfect while you're programming coz' it produces beta and maybe alpha waves:-)
    I wish you were my college programming subjects professor coz' you can explain and articulate the hardest subject in the world- programming (harder that physics, advanced Math and philosophy for it encompasses all that) and tracking the data flow with abstract concepts that are hard to relate to coz' it can't be touched or seen physically, it without going into geek speak- you're gifted with simplifying the complicated which is genius.
    God bless, Proverbs 31

  • @Soochoup
    @Soochoup 8 лет назад

    Where did you learn everything you know ? i want to learn. Please keep making videos btw haha

  • @emmetcasey6405
    @emmetcasey6405 7 лет назад

    As soon as you said lag the video started buffering

  • @90kapo
    @90kapo 4 года назад

    great video, now i am also happie :D

  • @WesleyAlcoforado
    @WesleyAlcoforado 7 лет назад +5

    You don't really explain how networks work in games, just how networks work. The title is very misleading.

  • @aljuvialle
    @aljuvialle 6 лет назад

    You make me happy. "You've probably heard about IP addresses which are unique addresses of your machine, like 127.0.0.1"©

  • @patrick.julian.peter.himme4974
    @patrick.julian.peter.himme4974 4 года назад

    I find that you are lot of worried in the case of Video games . So what I would know is, who is the most important for you , developers or Users?

  • @ryanrosario2429
    @ryanrosario2429 6 лет назад

    Thanks very educational

  • @ipwnpancakes910
    @ipwnpancakes910 9 лет назад

    im trying to make a simple game and right now I am limited to 2.5d. my question is: How does 2.5 dimensions even work? How would one implement that in a 2d environment?

    • @MaxonerousX
      @MaxonerousX 7 лет назад +1

      i PunkPancakes I would assume you just make a 3D environment but have buttons only move you across a 2d axis

  • @antiHUMANDesigns
    @antiHUMANDesigns 8 лет назад +1

    "IP Protocol" is a tautology, though. :P

  • @thechillipl
    @thechillipl 8 лет назад

    I love this channel :)

  • @afilmbycray6898
    @afilmbycray6898 7 лет назад

    Great video

  • @RobotronSage
    @RobotronSage 5 лет назад

    Good stuff

  • @ASRANILO
    @ASRANILO 6 лет назад

    not exactly, we in tekken 7 ( pc, ps4 or xbox on) cannot play in different continents.... try to play with a friend who is in europa and you are on oceania its very very lag ....

  • @sebmeier4461
    @sebmeier4461 7 лет назад +1

    "IP protocol" So the Internet protocol protocol? I like your videos but they are to basic for me. I was hoping for more technical information how game engines handle networking.

  • @AlessandroCussino
    @AlessandroCussino 8 лет назад

    How Mario Kart 8 Networking work ???

  • @aaaab384
    @aaaab384 8 лет назад

    0:42 Where in the world "familiar" is pronounced \fəməlyər\? I thought in American English it was pronounced \fəmilyər\.

    • @lpnp9477
      @lpnp9477 8 лет назад +3

      Depends on the American region. Regional dialects differ wildly.

  • @ataraxic89
    @ataraxic89 8 лет назад

    Great channel Cat. I just found it today.
    Its cool because its so rare to have women youtubers, much less women youtubers capable of explaining technical subjects like game development (which as you know ranges from programming, to art, to computer networks). I say bravo and good luck!

  • @chenqingzhi6845
    @chenqingzhi6845 11 месяцев назад

    so cute drawing

  • @thecodersexperience
    @thecodersexperience 7 лет назад

    I really like ur video

  • @Hazzymane56
    @Hazzymane56 7 лет назад

    Good vid

  • @FlorianEagox
    @FlorianEagox 8 лет назад

    YEY the OSI method!

  • @leterpou7111
    @leterpou7111 8 лет назад

    *devastatingly guod plays*

  • @xcryptgames4410
    @xcryptgames4410 4 года назад

    yes

  • @KrustyQuad
    @KrustyQuad 5 лет назад

    So thats what that professor meant by the 7 layers....lol 3 years too late

  • @beat461
    @beat461 7 лет назад

    didn't even talk about networking libraries or sockets. no, instead you started talking about some one specific game's mechanics that didn't really have much to do with general networking.

  • @mustafah348
    @mustafah348 8 лет назад

    I didn't understand very well maybe because I don't play dark souls if you can make about league of legends that will be nice
    thank you

  • @behnamezazi2370
    @behnamezazi2370 6 лет назад

    ermm…. ip works at layer 3....! Mac works at layer 2...

  • @micaiahstevens
    @micaiahstevens 8 лет назад

    And soon to No Mans Sky for stupid not playing with your friends!

  • @Momo40K
    @Momo40K 8 лет назад

    IP protocAl? ;p