Start making C++ Multi-Player Games! Tutorial

Sdílet
Vložit
  • čas přidán 7. 09. 2024
  • In this video, I will introduce you to multi-player programming in game dev. I will use C++ and ENET.
    #cpp #gamedev #programming #multiplayer
    Join my Discord:
    / discord
    Check Out Midnight Arrow on Steam 😼:
    store.steampow...
    Join this channel if you want to support me 😻:
    / @lowlevelgamedev9330
    C++ Game Setup (with ENET already configured):
    • Best C++ projects setu...
    Github Repo:
    github.com/mee...
    good ENET tutorial (Not mine):
    • Basic ENet Tutorial Se...
    Music: Evan King - Everything is Okay
    Music: Evan King - Esuna
    Music: Evan King - Spicy Boom
    / contextsensitive
    contextsensiti...

Komentáře • 46

  • @JoseRomagueraM
    @JoseRomagueraM Před 6 měsíci +12

    This videos have a lot of value. Aren't deep tutorials but useful introductions that lead to experimentation. No "clean code" but focusing on solving real problems (I hate those SOLID gurus). Thats the kind of programming channel is missing today and you are making an excellent job. Congratulations!

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Před 6 měsíci +2

      thank you 💪 I also hate things like solid like that isn't even clean code lol you write 10 times as much code

    • @JoseRomagueraM
      @JoseRomagueraM Před 6 měsíci

      @@lowlevelgamedev9330 Also ends up in low quality software, so sad

    • @JoseRomagueraM
      @JoseRomagueraM Před 6 měsíci

      @@lowlevelgamedev9330 Also ends up in bad quality software, so sad

    • @toksic424
      @toksic424 Před 6 měsíci

      Based

  • @justaway_of_the_samurai
    @justaway_of_the_samurai Před 6 měsíci +3

    To prevent hacking in some types of games, you have to be careful in selecting what game logic the client is trusted to compute without the server verifying it.
    For example, in a first person shooter game like COD, it is not adequate to have the client report to the server "I successfully shot this other player" and have the server take its word for it. A hacker can hack his own client and just have it report that exact same message to the server any time he desires.
    In order to prevent cheating, the server will have to receive the message from the client, and verify the position of the 2 players as well as their aim directions at the time the bullets were fired, and make sure that the reported event is valid and not forged.
    The server should also watch the reported changes in positions to ensure no unrealistic movement is happening, so hackers can't teleport themselves away.

  • @nickelp3032
    @nickelp3032 Před 6 měsíci

    Hello!
    Just wanted to say that I love your channel and have been watching you for some time.
    All these videos are really inspiring for me to start building real things!
    I am a beginner coder, and some little things can become a real challenge for me. But I don't give up and your videos are always helpful, even when I don't write my own game engine.
    All these 2 years I have been only learning languages, even tried c++, but programming isnt as much about learning only languages. You need to learn to problem solve, learn to learn and many more things.
    Past few days I made a very simple compiler in C# that translates my "language's" return code into C code with a main function. The code could have been better but It's a big step!
    Building an actual program was a fun challenge for myself and I want to thank you, for encouraging me to start CODING, not learning another language.
    :D cheers

    • @nickelp3032
      @nickelp3032 Před 6 měsíci

      also I wanted to ask one question, how long did it take you to code a game engine?

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Před 6 měsíci +1

      glad to hear that man 💪💪 you're wellcome

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Před 6 měsíci +1

      well the 3D part quite a lot because I was also learning opengl so like 1 2 3 years or something, but the core of the engine just a few months actually

  • @lucasmence
    @lucasmence Před 6 měsíci +4

    hello, its fine to use SFML for gamejam? I'm planning on making a co-op version of my current game, but maybe I should start sooner with this new gamejam challenge to get ready. thx for the video and inspiration😊

  • @costelinha1867
    @costelinha1867 Před 6 měsíci

    This sounds so good, I dunno if I'd partake in it tho, not only is multiplayer kinda intimidating but I kinda have other projects that I'm considering resuming...... mainly the one that may or may not have started on a day where I may or may not have decided to make a snake clone in c that runs on a literal Nintendo DS.

  • @toksic424
    @toksic424 Před 6 měsíci

    9:02 based Amon Amarth enjoyer

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Před 6 měsíci +1

      💪💪

    • @toksic424
      @toksic424 Před 6 měsíci

      @@lowlevelgamedev9330 one of the first extreme metal bands I got into. They put on a great show too.

  • @BasPower12
    @BasPower12 Před 6 měsíci +1

    let's get low level to 20K he pleases us always

  • @OscarCS
    @OscarCS Před 6 měsíci

    cool vid as always

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Před 6 měsíci

      thank you and I hope you will make your first game soon 💪💪💪💪 maybe with this challenge who knows 👀

  • @sharokhkeshawarz2122
    @sharokhkeshawarz2122 Před 6 měsíci

    Hello, I'm really struggling with OpenGL VAO, VBO and EBO do you have something with drawing or animation to understand this three concepts or OpenGL just like you ? Aside of that You inspire me so much love you bro!

    • @jakubrogacz6829
      @jakubrogacz6829 Před 6 měsíci

      Just look for modern opengl tutorial. It says how to use them. Then when you know just read a bit more about theory and maybe look into opengl docs. Vbo is probably most important from what I remember.

    • @v01d_r34l1ty
      @v01d_r34l1ty Před 6 měsíci +1

      Generic descriptions:
      VAO => Vertex Array Object. Stores VBOs and IBOs for shapes.
      VBO => Vertex Buffer Object. Stores vertices for a shape.
      IBO => Index Buffer Object aka Element Buffer Object (EBO). Stores indices which are used to remove duplicate vertices for a shape.
      I learned this from TheCherno's OpenGL series on CZcams.

    • @jakubrogacz6829
      @jakubrogacz6829 Před 6 měsíci +1

      @@v01d_r34l1ty ah so I remembered correctly.
      So to just summarise vao is like object that stores vbos and ibos which are more like array in programming. If I remember right its so you can just swap vao and render something else.

    • @v01d_r34l1ty
      @v01d_r34l1ty Před 6 měsíci +1

      @@jakubrogacz6829 Sure. I’m still a newbie at OpenGL so I can’t really give any advice. Afaik modern GPUs are optimized for only 1 VAO in the whole program although that wasn’t the specification’s intention, so it’s kinda like creating the “stack” for VBOs and IBOs in my mind.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Před 6 měsíci +2

      well the best tutorial from opengl is jamie kings tutorial on youtube and you can always ask us on my discord. In short, the VBO is just a buffer for the gpu so just like a std vector for the gpu and it is used to store data, usually to draw it, the VAO is used to describe how to imterpret that data, so with this analogi the VBO is the vector and the VAO is the template argument, you have to tell opengl that you have floats for example. the things related to glvertexattribpointer and what VBO and what EBO you use are stored in the VAO. Finally EBO just tells Opengl the order in witch to connect the points when drawing the triangles 💪💪

  • @EnLopXf
    @EnLopXf Před 6 měsíci

    did you have next topic about Windows API?

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Před 6 měsíci

      the next video will also be on input stuff, but I have some other videos right now pending before that

  • @realzguardian
    @realzguardian Před 6 měsíci

    How do you not have A LOT of subscribers

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Před 6 měsíci

      good question 😭😭 maybe I'll soon get some more

    • @realzguardian
      @realzguardian Před 6 měsíci

      @@lowlevelgamedev9330 fr man you need to get some you're probably one of the only good game dev channels on CZcams

  • @webslime_ceo
    @webslime_ceo Před 6 měsíci +1

    hi, I want to make my own engine, but now I'm learning js. maybe I shouldn't switch to c++?

    • @sheraah.-1948
      @sheraah.-1948 Před 6 měsíci +1

      Switch.

    • @theintjengineer
      @theintjengineer Před 6 měsíci +2

      Yes. Move away from JS, if you want to shift into Game Engines Development haha.
      C++❤

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Před 6 měsíci +2

      yes move to c++ but if you like js it's ok to make a game in js to get started for now .... 🔫😱

    • @jakubwegrzyn3798
      @jakubwegrzyn3798 Před 6 měsíci

      No, do NOT switch to c++.
      There are practically no advantages of using c++ and there are many disadvantages to it. For example. It's much harder to get anything done in c++, you will face crashes and bugs that are difficult to debug. JS is more friendly and you have access to very powerful devtools for debugging in your browser. In c++ you need to recompile your code every time you change something and then rerun your game which takes time - JS can auto reload on changes so your changes are instant. If you want to show your friends your game you can just send them a link and the game can be hosted by free - it just works. In c++ you send an executable file that is indistinguishable from malware and can be used only on a single platform. UI in JS is first class citizen - you can style and animate it however you want as you have CSS. In c++ good luck making something pretty and responsive.
      See? Give me at least one advantage of c++ for beginners. In open for discussion.

    • @PixelThorn
      @PixelThorn Před 6 měsíci

      It'd fine to stay and get good in js, it makes switching easier

  • @catatrophicalist
    @catatrophicalist Před 6 měsíci

    yo dude are you employed or something?