I Build a Metaverse Game in 8 hours (MERN Stack, WebSockets)

Поділитися
Вставка
  • Опубліковано 3 лют 2025

КОМЕНТАРІ • 292

  • @ankiitjha
    @ankiitjha 3 місяці тому +97

    Ever since you mentioned this project i was excited and tried to learn all I could but I struggled to figure out how to build it. Thank you for sharing the video, sir!

    • @HARSHITAGRAWAL-vw5bs
      @HARSHITAGRAWAL-vw5bs 2 дні тому

      so have you made any progress i had just watch that video in which he mention the project and i am curious to build it

  • @souradipdasgupta8145
    @souradipdasgupta8145 3 місяці тому +77

    Indian devs gets better at everything since this man came with absolute talks and reality checks!!

  • @VibeHype-318
    @VibeHype-318 2 місяці тому +11

    need the 2nd part !!!! amazing video, but really looking forward for the leftover checkboxes to be covered in a 2nd video as soon as possible!!!!

  • @spectrotsu6629
    @spectrotsu6629 3 місяці тому +33

    Boom Another banger from harkirat now going to make it in future

  • @surajgoraicse
    @surajgoraicse 15 днів тому +2

    Sir you are the most hardworking guy I have ever seen in my life. Sir keep going.

  • @Nischal.shetty02
    @Nischal.shetty02 3 місяці тому +393

    Upnext coding up the universe in 12 hours

  • @farhaadkhan4780
    @farhaadkhan4780 3 місяці тому +6

    I have never regretted making my all CS friends subscribing his channel.

  • @avparadox
    @avparadox 3 місяці тому +47

    No idea why we boys are super motivated in middle of every night but nevertheless we have a good project to lean & build. Continuing with the video..

  • @hemantrathod5146
    @hemantrathod5146 2 місяці тому +1

    would love to see the second part of this project !!!! please upload 2nd part as soon as possible :)

  • @biswajitparida6491
    @biswajitparida6491 3 місяці тому +8

    Harkirat is something else hope i met him one day and say thank you .

  • @TSY-TheSmarterYou
    @TSY-TheSmarterYou Місяць тому

    The way he makes it look so easy is the hard work behind the camera hours no one has seen

  • @gachawings
    @gachawings 3 місяці тому +30

    Woah! ❤ Metaverse games 😍
    I'm really interested in Sword Art Online Game, that's why I took Coding too lol, hopefully there will be someone who will make it possible xD... Really can't wait. Sir, i wanna know what to focus too for that.
    Great work thou 😇

  • @RahulGupta-y7g
    @RahulGupta-y7g 3 місяці тому +11

    First time hearing about test driven development..
    Awesome insights......

  • @aradhyasingh1259
    @aradhyasingh1259 3 місяці тому +19

    Was not expecting a full fledged project video on this idea, thanks for all your efforts 🔥✨ would love to see the second part as well covering the remaining things 💯 although I would try to do it myself.

    • @StynerDev-DominicanUniversity
      @StynerDev-DominicanUniversity 3 місяці тому

      🎉🎉🎉 Thank you so very much dear 🎉

    • @Ramneet04
      @Ramneet04 Місяць тому

      Bro have you done the frontend? Like I'm bit confused how to make the map n all, do you wanna team up??

  • @aviral13
    @aviral13 2 місяці тому

    Didn't watch the whole video but for the last problem, we could take inspiration from how SSH works.
    By using a public and private key-based mechanism. Each user's video stream can be tied to a unique public key, with the corresponding private key stored securely on the SFU. When two users connect (based on proximity in the game), they exchange their public keys.
    The SFU then verifies that both users have the correct keys before allowing the video streams to flow between them. This ensures the video is only accessible to the intended participants and not anyone else sniffing the network.

  • @143_nimit6
    @143_nimit6 Місяць тому

    eagerly waiting for next part of this project.

  • @Kaff1ne
    @Kaff1ne 3 місяці тому +2

    I just picked this topic for my college project inspired by the website called "Gather" and i didnt have a clue i can lwaern and implement it so really thanks for this video❤, I'd love to see the 2nd part of it if you are uploading it.

  • @biswajitparida6491
    @biswajitparida6491 2 місяці тому

    Harkirat explains very well .he doesn't care about content he care about students who are going to see this video

    • @amirqayyum-f2v
      @amirqayyum-f2v Місяць тому

      i learn mern stack this project best for me

  • @Naimadmdp
    @Naimadmdp 2 місяці тому +2

    Wow men great job. I hug from Argentina 🇦🇷. Thanks for sharing your knowledge.

  • @Mysterious_debris_1111
    @Mysterious_debris_1111 3 місяці тому +2

    to address the last problem that you had mentioned about how the SFU should know the correct position of the user without a vulnerability, I think what we could do is to publish events from the game server via a broker like Kakfa/Rabbit MQ and the SFU could have a redis cache or an in memory server cache to store the current position of each user. Then it could do a proximity match in memory to authorize the video. Let me know if you'd like to collab and implement this BTW.

  • @parijatbhattacharya3681
    @parijatbhattacharya3681 3 місяці тому +3

    Bhai bhai bhai kirat is something else 🙏🏻

  • @communitynutrition1171
    @communitynutrition1171 3 місяці тому +3

    this is better than some of the web3 games that are currently available in the market right now

  • @ankanpoddar8815
    @ankanpoddar8815 Місяць тому

    I'd like to point out a couple of things -
    1. Sticky sessions doesn't mean that clients in the same room connect to the same WS server. It means requests from one client will go to a single server because WS protocol starts off as an usual HTTP request and then involves an Upgrade request to upgrade the connection to WS. The initial and the upgrade requests and then the subsequent request to establish the bidirectional, persistent communication channel must go to the same server. Also, as a fallback, WS clients can switch to long-polling and again requests should go to the same server since this is usually stateful.
    2. Clients in the same room may not be connected to the same WS server (I think it may not even be possible to do that because rooms are a concept known to only servers and only comes into play after the WS connection is established, but don't hold me to this one). Also, ensuring this is difficult if you don't have control over the load balancers. But communication is still made possible by using Adapters (Redis is commonly used).
    Good video otherwise! :)

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

    what? thats mad. tysm appreciate your work !

  • @ImmortalSul
    @ImmortalSul 3 місяці тому +4

    Straight up an impressive project

  • @amanmukhiya783
    @amanmukhiya783 2 місяці тому

    Honestly man i am just wondering how skilled is this man!

  • @alexanu8606
    @alexanu8606 3 місяці тому +1

    Damn I was waiting for this since last week

  • @asifmallick371
    @asifmallick371 3 місяці тому +1

    Did'nt expected this video to drop 🔥🔥🔥🔥

  • @pratyugna
    @pratyugna 3 місяці тому

    Thanks for uploading such content.. i have never seen any tutorial teaching us how to write tests.

  • @rakeshkumarparida98
    @rakeshkumarparida98 3 місяці тому +3

    We want more tutorials like this in future.

  • @adomicarts
    @adomicarts 2 місяці тому

    Great Hakirath❤

  • @monicakherajani5840
    @monicakherajani5840 3 місяці тому +1

    Bhai bhai bhai hats off for the efforts

  • @AnantShah-j6y
    @AnantShah-j6y 3 місяці тому +10

    IIT is at another level or this person's hardwork and consistency but building this kind of projects on a regular basis is something that is absolutely mind-blowing love his work ❤ 😍

  • @urveshpatil1
    @urveshpatil1 3 місяці тому +10

    Part 2 of this God Tier project like button👍

  • @thezeeshann
    @thezeeshann 3 місяці тому +1

    Harkirat bhai is a very skilled full man.

  • @dinbandhusharma4568
    @dinbandhusharma4568 3 місяці тому

    Always waiting for your video sir 🙏🎇🎆

  • @mashup5739
    @mashup5739 2 місяці тому

    5:18:46 BC can't even thought of sitting next to harkirat and harkirat is saying -"Lets see who will debug the code faster"

  • @RahulGupta-y7g
    @RahulGupta-y7g 3 місяці тому +1

    The new Vs code theme looks awesome

  • @blackbaloon03
    @blackbaloon03 3 місяці тому +1

    wow!! the best, thank you so much ser🙏🙏

  • @RahulGupta-y7g
    @RahulGupta-y7g 3 місяці тому

    This video made me drop everything I was doing and just follow along...

  • @arijitdn
    @arijitdn 3 місяці тому

    Wake up babe, another banger got dropped by Harkirat

  • @satyamkumar9095
    @satyamkumar9095 19 днів тому +2

    make part 2 please

  • @sumanthprabhu11
    @sumanthprabhu11 3 місяці тому +2

    Need part 2 of this video

  • @tusharpal4135
    @tusharpal4135 3 місяці тому +1

    SUPER30 mai yai project deke, youtube pai build bhi kardiya!! DAMNN!!!

    • @jaadu2551
      @jaadu2551 2 місяці тому

      how is super30 nowadays

  • @lazyplayer1
    @lazyplayer1 2 місяці тому

    Banger video

  • @roninzone4453
    @roninzone4453 2 місяці тому

    -> For the problem which you mentioned assume there is a single service ( for the websocket backend of the game and the other one is the SFU ). The player positions would be stored ( for custom spawn points ) in the game backend.
    -> Now coming to the main part the player movement need not necessarily be sent using the positions of the moving player. We can send direction of the player movement so that way it eliminates teleportation of the player from one place to another ( its understood that the game engine is written to handle direction of the player movement and the current direction etc ).
    -> These values of the user is stored in the backend of game. Using the players positions stored in the backend we can serve the produced video to the players who are near to each other.
    What do u think sir? And if u think there is a error i this solution do let me know. If you do like the solution or u have just read it could u pin / like so that I would know that you have read it. It would mean a lot sir. Thanks.

  • @deepanshumishra7518
    @deepanshumishra7518 3 місяці тому

    Thank you sir
    I'm waiting for it.

  • @akhilbisht798
    @akhilbisht798 3 місяці тому +2

    I was thinking of making it. But you already did.

    • @idksam27
      @idksam27 3 місяці тому +2

      EXACTLY!!!, me n some of my friends had already started to gather around the dependencies and stuff. I guess we will continue though.

  • @HarshSharma-gt3cl
    @HarshSharma-gt3cl 3 місяці тому +2

    God level sir 🎉

  • @yashrajanshukla7790
    @yashrajanshukla7790 3 місяці тому

    Bhai you are amazing ❤

  • @GeekyRahul-g1n
    @GeekyRahul-g1n 3 місяці тому

    Hii kirat ,
    It's a request that can you please specify in the starting of these kind of videos that what should be your level to make this project like skill wise as you share in your roadmaps videos like who can watch or who can not . like that ??

  • @Rahul-yf5cz
    @Rahul-yf5cz 3 місяці тому +3

    Add this video in the XYZ playlist

  • @captain-tb2ek
    @captain-tb2ek 3 місяці тому +7

    i was getting ready to do this project, learning all necessary tools(html 5 canvas) but u already finished it.Anyway i will also do it , maybe include better features

  • @abhinav_0.13
    @abhinav_0.13 2 місяці тому

    Harkirat please make next part of this project

  • @yashh862
    @yashh862 2 місяці тому

    hey, love watching your videos. Can you try creating your own protocol stack like TCP or UDP. Online resources for such projects like "Build your own X" are really confusing and just give an overlook about the approach. Would appreciate if you take us through the process if you have any knowledge about this topic.

  • @kavyasharma8390
    @kavyasharma8390 3 місяці тому

    Hi Harkirat, I have been watching your videos very frequently from a few days in expectation to find some good career suggesitons as I think you are the most genuine and gentle youtuber in education and programming but I couldn't get helped out with these.
    I am writing this to express my exhaustion about finding a good career starter job in programming. I have worked in a Shark Tank boosted startup Pharmallama but the venture unexpectedly wound up and now it has been a year and I am clueless about what to do with my career even after being extremely skilled in many stacks and language like React, Next, NestJS, Django, Node, Python, OpenCV, Databases and much more I am not able to land a job in a desired company.
    Please help me out.

  • @charchitmangal
    @charchitmangal Місяць тому +1

    09:27 ,what if in a no of people in a single room > web socket capacity..as they all cant be accommodated in single web socket

  • @MohdYaqoob-s3k
    @MohdYaqoob-s3k 3 місяці тому

    he is absolute genius

  • @minimal_code
    @minimal_code 3 місяці тому +1

    This man is crazy 😅

  • @kabirsharma2436
    @kabirsharma2436 2 місяці тому

    @Harkirat Singh should'nt the /metadata/bulk endpoint use userMiddleware?, also in the db schema the height for space should be mandatory it can't be optional, in map elements x and y should be mandatory that is why it is giving an error at 4:38:04 the admin may create an element with null size which should'nt be allowed

  • @HiteshBandhu
    @HiteshBandhu 3 місяці тому +2

    We were going to jail with a previous one, and bro switched the universe to escape. 😂

  • @atkt9387
    @atkt9387 Місяць тому +1

    bro i got stuck in 03:35:00 I dont know why .. but npx prisma migrate dev this command is not getting execute .. can anyone help .. trying to solve this bug since 4 housrs...

    • @programminganytime4332
      @programminganytime4332 Місяць тому +1

      what error

    • @atkt9387
      @atkt9387 Місяць тому

      @@programminganytime4332 the error was about prisma command but hopefully I resolve it

  • @tronop7540
    @tronop7540 3 місяці тому +1

    bro pls make the frontend like you shown ❤

  • @ultrabgmi7814
    @ultrabgmi7814 2 дні тому

    ispe band chad sakta hai ya nahi .... at 04:54:00

  • @abhishekkk95
    @abhishekkk95 19 днів тому

    I was going to start coding this, but I don’t see a complete end product at the end of the video. Is there going to be a part 2?

    • @programminganytime4332
      @programminganytime4332 18 днів тому

      If you are not new to programming, you can make a better frontend on your own.

  • @Jashandeep31
    @Jashandeep31 3 місяці тому

    4:11:19 Axios it self throws a error when status is not okay like from 200's
    we need to add it to try catch block

  • @SurajGupta-ux2se
    @SurajGupta-ux2se 3 місяці тому

    1:17:35 these test cases is for testing the backend and backend is needed to test these test cases 😂

  • @sanjaykohli965
    @sanjaykohli965 3 місяці тому

    Upgrading day by day

  • @anshpethe
    @anshpethe 2 місяці тому +1

    Oopsy Daisy

  • @malikasim3959
    @malikasim3959 3 місяці тому +2

    SFU can route the video based on the room logs of the users. If a User A has joined the same room as User B, the server session can inform the SFU and video of User B can get routed to A.
    Correct me if I am wrong Bhaiya.

    • @harkirat1
      @harkirat1  3 місяці тому +1

      we're trying to avoid all communication b/w sfu and game engine

    • @malikasim3959
      @malikasim3959 3 місяці тому

      ok bhaiya understood thanks

  • @shubham7203
    @shubham7203 2 місяці тому +1

    i feel something bulding is easy then contribute to someone else's code base

  • @eehan1769
    @eehan1769 14 днів тому +1

    wth editor 7:08:18 ??

  • @moveonvillain1080
    @moveonvillain1080 3 місяці тому +1

    I always had a doubt with TDD. What kind of tests are exactly written for it? Is it unit tests or is it E2E functionality / acceptance test? From the looks of it you have written the latter.

  • @manya7113
    @manya7113 2 місяці тому +1

    3:46:57 I am using npm and this issue is not resolved. anyone knows how to fix?

    • @davedoria2251
      @davedoria2251 2 місяці тому

      I'm using pnpm but when I followed the steps I was still getting the module not found error but saw in the video that for the import he had:
      import client from "@repo/db/client";
      He didn't mention that he added the 'client' at the end (before the cut, it was "@repo/db") but once I added "client", it worked for me

  • @rajaryan5884
    @rajaryan5884 3 місяці тому +1

    Hey harkirat can you please complete this project it will be really helpful

  • @singhrahul48635
    @singhrahul48635 3 місяці тому +2

    Damn , how are you able to code for 8hrs at first place!🤯☠️

  • @shreyashsaxena9748
    @shreyashsaxena9748 2 місяці тому +1

    Bro needed a VR to play 2d game

  • @NotSoAesthetic-l8w
    @NotSoAesthetic-l8w 3 місяці тому +1

    Great video Harkirat!
    A small question nonetheless, how to I write tests if I have a verification part written?
    I have already written a golang backend which allows users to signup, then sends a verification email to their email and the user verifies it by clicking on it. Now how do I do this using tests?

  • @adityakm47
    @adityakm47 3 місяці тому +6

    2:30:35 probably that's PHub 😐😂

  • @Street_Smash-1892
    @Street_Smash-1892 Місяць тому

    Please can you create a fast asset management system

  • @simple5636
    @simple5636 3 місяці тому +1

    By using Proximity Detection System we can give access to video chat for two peoples when ever they come close together. am i right sir ?

  • @immo0120
    @immo0120 2 місяці тому +1

    Very Stupid Question to ask: How are you able to think and handle ws payloads while writing tests :( so Cool how to achieve this level of Mastery?

  • @neeraj2112
    @neeraj2112 Місяць тому

    waiting for part 2

  • @Bitofmeforyou
    @Bitofmeforyou 3 місяці тому +2

    thanks

  • @sudarshankumarthakur6874
    @sudarshankumarthakur6874 3 місяці тому +2

    will code this with you using golang

  • @ownagejuice1394
    @ownagejuice1394 3 місяці тому

    is that PhaserJS for the game tiles you're using? funny you dont seem to mention the frontend

  • @WaqarAhmed-00
    @WaqarAhmed-00 3 місяці тому +1

    boom final year project ka backend karluga then i will built this

  • @AayushSingh-g5q
    @AayushSingh-g5q Місяць тому

    while writing the test-codes, why we are again and again signing up and signing in most of the places??

  • @krishnatiwari8028
    @krishnatiwari8028 25 днів тому +1

    what if i want to do it through mongodb

  • @assabtigle
    @assabtigle 2 місяці тому

    Thumbnail vs Actual Game

  • @sauravfarkade1928
    @sauravfarkade1928 3 місяці тому +4

    Can anyone guide me what technology should I know before starting with this video?

    • @webergaming655
      @webergaming655 3 місяці тому

      Same question

    • @sauravfarkade1928
      @sauravfarkade1928 3 місяці тому

      @@webergaming655 I said what pre knowledge I must have before starting this video.

    • @webergaming655
      @webergaming655 3 місяці тому

      @@sauravfarkade1928 sorry, i meant same question. It's was a typing mistake.

    • @mightydev-c5u
      @mightydev-c5u 3 місяці тому

      first learn
      React in Typescript , Tailwind css for Frontend Part
      & for backend
      Nodejs with express for server connection
      Mongodb with mongoose or postgresql with Prisma or Drizzle for Database &
      Websockets for server connections to browser

  • @JAY_VEGAD
    @JAY_VEGAD 3 місяці тому +3

    Bhaiya Live Me Build Karo Na Please

  • @AtulPal-i5s
    @AtulPal-i5s 3 місяці тому

    I just started learning springboot 1-2 months before. I didn't know about microservices. Should I start building this backend in springboot while watching this tutorial or first learn about microservices.

  • @ajaydeepsinghrajpoot
    @ajaydeepsinghrajpoot 2 місяці тому

    6:02:40 kara tha gpt, dimag sahi me kharab ho gaya tha. Lol

  • @Hey.MangoJango
    @Hey.MangoJango 2 місяці тому

    7:22:44 Lingering Websockets

  • @rajanlagah4529
    @rajanlagah4529 2 місяці тому +1

    So no GO language was used?
    Why?
    May be I missed something

  • @SudhirkYadav5678
    @SudhirkYadav5678 3 місяці тому

    4:10:49 may be it is Admin not admin

  • @dakshvaish5699
    @dakshvaish5699 Місяць тому

    Can I build this project and learn along with it or it require a good prior knowledge of the concepts that are used in this project

    • @programminganytime4332
      @programminganytime4332 Місяць тому

      you can learn along with it... Whenever you feel stuck, take a pause and learn about the stuff which is blocking your progress

  • @mridularyam1707
    @mridularyam1707 2 місяці тому

    Harkirat Bhaiya if you dont mind me asking can you tell your spectacles power I'm really curious..

  • @Rajdidnotdie
    @Rajdidnotdie 2 місяці тому

    first exp of tdd was painful 😭