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!
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 😇
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.
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.
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.
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.
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! :)
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 ❤ 😍
-> 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.
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 ??
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
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.
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.
@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
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...
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.
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.
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
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?
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
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.
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!
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
Indian devs gets better at everything since this man came with absolute talks and reality checks!!
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!!!!
Boom Another banger from harkirat now going to make it in future
Sir you are the most hardworking guy I have ever seen in my life. Sir keep going.
Upnext coding up the universe in 12 hours
😂
Hehe
😂
This guy is a god.. god of titles. What's inside. Just onions.
Nah... It's too much,
In 6 hours.
I have never regretted making my all CS friends subscribing his channel.
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..
would love to see the second part of this project !!!! please upload 2nd part as soon as possible :)
Harkirat is something else hope i met him one day and say thank you .
The way he makes it look so easy is the hard work behind the camera hours no one has seen
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 😇
The concept of SOA is very niche.
Yeah!!! ✨
I love that Anime😍
First time hearing about test driven development..
Awesome insights......
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.
🎉🎉🎉 Thank you so very much dear 🎉
Bro have you done the frontend? Like I'm bit confused how to make the map n all, do you wanna team up??
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.
eagerly waiting for next part of this project.
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.
Harkirat explains very well .he doesn't care about content he care about students who are going to see this video
i learn mern stack this project best for me
Wow men great job. I hug from Argentina 🇦🇷. Thanks for sharing your knowledge.
nice to meet you sir
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.
Bhai bhai bhai kirat is something else 🙏🏻
this is better than some of the web3 games that are currently available in the market right now
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! :)
what? thats mad. tysm appreciate your work !
Straight up an impressive project
Honestly man i am just wondering how skilled is this man!
Damn I was waiting for this since last week
Did'nt expected this video to drop 🔥🔥🔥🔥
Thanks for uploading such content.. i have never seen any tutorial teaching us how to write tests.
We want more tutorials like this in future.
Great Hakirath❤
Bhai bhai bhai hats off for the efforts
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 ❤ 😍
Part 2 of this God Tier project like button👍
Harkirat bhai is a very skilled full man.
Always waiting for your video sir 🙏🎇🎆
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"
The new Vs code theme looks awesome
What's the name
@@zigsaw7161 i want it too../
@@zigsaw7161 some version of monokai i think
wow!! the best, thank you so much ser🙏🙏
This video made me drop everything I was doing and just follow along...
Wake up babe, another banger got dropped by Harkirat
make part 2 please
Need part 2 of this video
SUPER30 mai yai project deke, youtube pai build bhi kardiya!! DAMNN!!!
how is super30 nowadays
Banger video
-> 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.
Thank you sir
I'm waiting for it.
I was thinking of making it. But you already did.
EXACTLY!!!, me n some of my friends had already started to gather around the dependencies and stuff. I guess we will continue though.
God level sir 🎉
Bhai you are amazing ❤
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 ??
Add this video in the XYZ playlist
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
Same
can we connect? I am also planning to build this.
@@shivnandanbasotra7837 we can connnect , i am starting this now
Harkirat please make next part of this project
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.
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.
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
he is absolute genius
This man is crazy 😅
@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
We were going to jail with a previous one, and bro switched the universe to escape. 😂
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...
what error
@@programminganytime4332 the error was about prisma command but hopefully I resolve it
bro pls make the frontend like you shown ❤
ispe band chad sakta hai ya nahi .... at 04:54:00
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?
If you are not new to programming, you can make a better frontend on your own.
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
1:17:35 these test cases is for testing the backend and backend is needed to test these test cases 😂
Upgrading day by day
Oopsy Daisy
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.
we're trying to avoid all communication b/w sfu and game engine
ok bhaiya understood thanks
i feel something bulding is easy then contribute to someone else's code base
wth editor 7:08:18 ??
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.
3:46:57 I am using npm and this issue is not resolved. anyone knows how to fix?
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
Hey harkirat can you please complete this project it will be really helpful
Damn , how are you able to code for 8hrs at first place!🤯☠️
Bro needed a VR to play 2d game
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?
2:30:35 probably that's PHub 😐😂
lmao
Please can you create a fast asset management system
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 ?
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?
waiting for part 2
will there be a part 2 ?
thanks
will code this with you using golang
is that PhaserJS for the game tiles you're using? funny you dont seem to mention the frontend
boom final year project ka backend karluga then i will built this
while writing the test-codes, why we are again and again signing up and signing in most of the places??
what if i want to do it through mongodb
Thumbnail vs Actual Game
Can anyone guide me what technology should I know before starting with this video?
Same question
@@webergaming655 I said what pre knowledge I must have before starting this video.
@@sauravfarkade1928 sorry, i meant same question. It's was a typing mistake.
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
Bhaiya Live Me Build Karo Na Please
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.
6:02:40 kara tha gpt, dimag sahi me kharab ho gaya tha. Lol
7:22:44 Lingering Websockets
So no GO language was used?
Why?
May be I missed something
4:10:49 may be it is Admin not admin
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
you can learn along with it... Whenever you feel stuck, take a pause and learn about the stuff which is blocking your progress
Harkirat Bhaiya if you dont mind me asking can you tell your spectacles power I'm really curious..
first exp of tdd was painful 😭