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

Include webrtc package #50

Closed
tarrencev opened this issue Feb 13, 2023 · 7 comments
Closed

Include webrtc package #50

tarrencev opened this issue Feb 13, 2023 · 7 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@tarrencev
Copy link
Contributor

Webrtc is a specification for real time communication.

It supports various audio/video codecs as well as datachannels.

We could use an webrtc to support state channels. It can be used to establish a p2p connection between clients or can be proxied through a sfu for scalability. In SFU mode, we could use SFrame for e2e encryption of the state channel messages.

There is a robust implementation here:
https://github.com/webrtc-rs/webrtc

They have some examples of establishing data channels.

I've previously written a golang sfu at https://github.com/pion/ion-sfu

@tarrencev tarrencev added enhancement New feature or request help wanted Extra attention is needed labels Feb 13, 2023
@ponderingdemocritus
Copy link
Contributor

This is very interesting.

So to elaborate for discussion:

  • p2p gameplay visuals sync for multiplayer games
  • zk state channels via wasm proof + verifying
  • p2p chat native to a game

@JunichiSugiura have you experimented with something like this in bevy?

@tarrencev
Copy link
Contributor Author

this looks pretty promising as far as sfu goes: https://github.com/algesten/str0m

@tarrencev
Copy link
Contributor Author

another option: https://github.com/johanhelsing/matchbox

@Cheelax
Copy link
Contributor

Cheelax commented Apr 17, 2023

What in your opinion should be a good first milestone on using webrtc in dojo?

@ponderingdemocritus
Copy link
Contributor

my thinking is we structure this around the Dojo node, it should be the singular point for any dojo client to connect to

@Cheelax
Copy link
Contributor

Cheelax commented Apr 17, 2023

Can you be a bit more specific? not sure to catch you here

tarrencev pushed a commit that referenced this issue May 18, 2023
@ponderingdemocritus ponderingdemocritus moved this to 📋 Backlog in Dojo Aug 22, 2023
Cheelax pushed a commit to Cheelax/dojo that referenced this issue Dec 8, 2023
@glihm
Copy link
Collaborator

glihm commented Feb 14, 2024

First phase completed in #1459. A new issue may be open for specific need on WebRTC specification that is not covered by this PR. 👍

@glihm glihm closed this as completed Feb 14, 2024
@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in Dojo Feb 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
No open projects
Status: Done
Development

No branches or pull requests

4 participants