Hacker News new | ask | show | jobs
by lxtx 2259 days ago
Quake's source code is very hackable. I forked ioquake3 for a personal project and it was surprisingly easy to add WebRTC support to the C codebase, so you could play it in your browser over WebRTC :)
3 comments

That is really impressive! Are you still doing stuff with WebRTC? It is quite a niche area, but lets you do lots of interesting things.

If you are ever interested in getting back into the space you should come join us working on Pion (A Pure Go implementation of WebRTC). I would love to hear about what else you did! [0] I am just really trying to build a intellectually curious/supportive community of RTC. Right now everything is so anemic community wise.

[0] https://pion.ly/slack

What was your experience with WebRTC?

I read some people tried to use it for multiplayer, but the performance suffered with more than 10 players.

Only played it with my friends, don't think a map ever exceeded 10 players. So I can't say much about scaling - although it was a client-server model over UDP and not peer to peer networking.
Ah, so you had a WebRTC datachannel between the clients and the server?
Basically yes, a custom datachannel implementation. Haven't updated it lately, but it's up at https://github.com/seemk/WebUDP
Pretty cool.

You don't happen to have some ping comparisons betwen WebRTC and WebSockets?

Sadly no, but I don't think there's much of a ping difference on a good network. With WebRTC (datachannels in UDP mode) you just get the benefits of UDP (or lack thereof :)).
It looks like the multiplayer here does similar, no?
If I remember right, this one is over WebSockets and the server is compiled to js as well. My version had a native server and browser clients.