Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open Match lobby [bounty: 666 XTR] #2632

Open
DreadKnight opened this issue Oct 17, 2024 · 26 comments
Open

Open Match lobby [bounty: 666 XTR] #2632

DreadKnight opened this issue Oct 17, 2024 · 26 comments
Assignees
Labels
bounty Some amount of our token, XatteR, is offered coding This issue requires some programming multiplayer Problems that occur in online multiplayer priority This should get fixed as soon as possible!

Comments

@DreadKnight
Copy link
Member

DreadKnight commented Oct 17, 2024

In order to have online multiplayer feature back up, we need to remove Nakama, as it was problematic and we only used it in order to match players together via its lobby feature, the rest of gameplay is actually p2p (we'll secure it via #1791).

We should even remove it as project dependency and have lobby feature implemented via Google's Open Match -> repo.

Could have this without a user system for the players, having auto-generated unique id's for now, later we'll go for #2032.

Open Match is serverless, so we should be able to host it via our sponsored servers provided by Qoddi, though Open Match uses Kubernets and KinD is needed in order to host those on Docker -> https://github.com/googleforgames/open-match/blob/main/docs/development.md

Note that the current implementation of online multiplayer (using Nakama) hasn't been maintained and is probably broken; it was tested for a while until we bumped into a show-stopping bug that wasn't fixed #2044 since the coder couldn't figure it out and neither did others - so ideally that issue will be fixed or avoided in the process.

This is issue is the first vital step towards having online multiplayer -> https://github.com/orgs/FreezingMoon/projects/11

@DreadKnight DreadKnight added coding This issue requires some programming priority This should get fixed as soon as possible! multiplayer Problems that occur in online multiplayer bounty Some amount of our token, XatteR, is offered labels Oct 17, 2024
@DreadKnight DreadKnight added this to the 0.6 - Cyber Wolf milestone Oct 17, 2024
@DreadKnight DreadKnight pinned this issue Oct 17, 2024
@DreadKnight DreadKnight changed the title Open Match integration [bounty: 666 XTR] Open Match integration [bounty: 666XTR] Oct 17, 2024
@DreadKnight DreadKnight changed the title Open Match integration [bounty: 666XTR] Google's Open Match [bounty: 666 XTR] Oct 17, 2024
@DreadKnight DreadKnight changed the title Google's Open Match [bounty: 666 XTR] Open Match lobby [bounty: 666 XTR] Oct 17, 2024
@codemaster321
Copy link
Contributor

codemaster321 commented Oct 17, 2024

Hi @DreadKnight, So I wanted to know whether this Nakama issue can be refactored and revamped or will be just removed totally?

@DreadKnight
Copy link
Member Author

DreadKnight commented Oct 17, 2024

@codemaster321 Heya! This issue is first vital step towards having functional online multiplayer feature -> https://github.com/orgs/FreezingMoon/projects/11

Nakama gets removed in the process and replaced with Open Match, as it was bloatware since we only used it for lobbies.

@codemaster321
Copy link
Contributor

Aight. I will have a look into it

@DreadKnight
Copy link
Member Author

Aight. I will have a look into it

@codemaster321 Cool, if the stuff makes sense and you think you can manage, let me know and I'll assign you to it. No pressure 🐻

@RajVerma97
Copy link

can you assign me?

@DreadKnight
Copy link
Member Author

DreadKnight commented Oct 22, 2024

can you assign me?

@RajVerma97 Alright, assigning. Keep me updated. Usually there's 2 weeks soft deadline on issues, thought this one is a bit more complex stuff.

@RajVerma97
Copy link

sure
i am confused about the xtr token price
can you tell me how much the bounty would be in terms of usd?

@DreadKnight
Copy link
Member Author

DreadKnight commented Oct 22, 2024

sure i am confused about the xtr token price can you tell me how much the bounty would be in terms of usd?

Right now is not that much, about $30. Having online multiplayer and giving it some time, the price will rocket 🚀

@RajVerma97
Copy link

got it

@RajVerma97
Copy link

RajVerma97 commented Oct 22, 2024

@DreadKnight i checked for the open match by google .it actually requires a google console cloud account with some credits but my account has already been over limit ,so i would another google account for settings up the open match with some credits. Do you have any?

@DreadKnight
Copy link
Member Author

DreadKnight commented Oct 22, 2024

@RajVerma97 Will poke at it soon and figure the best way to approach this. The other 2 important things needed for online multiplayer allow for having a team. I think that might be possible as well for the Google development stuff. Anyway, with this kind of thing, you usually deploy locally (via Kubernets) and develop, then take it to the next step, going online. See docs here https://open-match.dev/site/docs/getting-started/

@RajVerma97
Copy link

Screenshot 2024-10-23 at 2 35 17 AM

finally after a lot of failed trials ,I was like to run open match locally using minikube

@DreadKnight
Copy link
Member Author

Screenshot 2024-10-23 at 2 35 17 AM

finally after a lot of failed trials ,I was like to run open match locally using minikube

Yeah, noticed that docs mention minikube for local development. I'm working on making organization on Google in order to be able to add team mates. It was super easy to do on Qoddi.com (which should be sponsoring the project again since next month), but I'm not sure how Open Match would get deployed there, as they seem against Kubernetes somehow, though Docker works there, but Open Match seems to have just one instalation method sigh I couldn't even run Nakama on Qoddi before...

@RajVerma97
Copy link

RajVerma97 commented Oct 22, 2024

oh thats terrible.
i have a question though
right now i am using the demo matchmaking from the open match ,so do i have to write a custom making or the demo should work by default

@DreadKnight
Copy link
Member Author

oh thats terrible. i have a question though right now i am using the demo matchmaking from the open match ,so do i have to write a custom making or the demo should work by default

As the name says, it's a demo. I haven't tried it out, so not sure what it offers or how it looks.
We need autogenerated id for player name and integrate this replacing the Nakama lobby.

@RajVerma97
Copy link

got it

@DreadKnight
Copy link
Member Author

DreadKnight commented Oct 22, 2024

I've managed to create organization in Google Cloud and the project. Can add person to the team and we would have $300 credit for 91 days. This should make it easy to deploy Open Match via Kubernetes, just like in the official docs.

This would give us time to experiment with stuff and hopefully will be able to eventually move to Qoddi.com when they sponsor the project once again, as I've found some info about running Kubernetes inside Docker using KinD -> https://github.com/googleforgames/open-match/blob/main/docs/development.md - kinda wish stuff was way less nerdy tbh; will open new issue for the migration eventually if needed.

@RajVerma97
Copy link

i have implemented the open match client and used it in my connect.js and match.js.

Screenshot 2024-10-24 at 1 18 23 AM Screenshot 2024-10-24 at 1 18 32 AM Screenshot 2024-10-24 at 1 18 37 AM

also how do i test these features as i am not able to register for the Multiplayer .i tried that both on localhost and on
https://ancientbeast.com/.
Screenshot 2024-10-24 at 1 27 09 AM

@DreadKnight
Copy link
Member Author

@RajVerma97 You don't register for multiplayer, because there's no backend online, that was part of Nakama.
Instead, you can remove that log-in/register stuff and you can show the lobby (table with match list); players can be assigned with random ids for now just fine. Eventually we'll see about implementing #2032 and stuff like #1854

@RajVerma97
Copy link

oh! . I got it

@DreadKnight
Copy link
Member Author

DreadKnight commented Oct 23, 2024

Note: "openMatchWithGoogle" shouldn't contain a brand, rather be more generic, as we'll switch anyway given time.
s/Google/server or something else that makes sense.

@DreadKnight
Copy link
Member Author

@RajVerma97 Heya! Any progress with this? The free credit provided by Google will expire if not used within 3 months 🥲

@RajVerma97
Copy link

@RajVerma97 Heya! Any progress with this? The free credit provided by Google will expire if not used within 3 months 🥲

Sorry i have exams thats why i wont be able to work on it

@DreadKnight
Copy link
Member Author

@RajVerma97 Heya! Any progress with this? The free credit provided by Google will expire if not used within 3 months 🥲

Sorry i have exams thats why i wont be able to work on it

@RajVerma97 Good luck! Will you resume work after? If so, how long to the exam period lasts?

@RajVerma97
Copy link

oh thank you . I will resume after exams .
Exams are going to happen this entire month.

@DreadKnight
Copy link
Member Author

@RajVerma97 How did it go with the exams?
Let me know if you're still planning to resume work on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bounty Some amount of our token, XatteR, is offered coding This issue requires some programming multiplayer Problems that occur in online multiplayer priority This should get fixed as soon as possible!
Projects
Status: No status
Status: No status
Development

No branches or pull requests

3 participants