Show HN: PSX Party – Online Multiplayer Playstation 1 Emulator Using WebRTC

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
  • OPS - Build and Run Open Source Unikernels
  • joystick-mapper

    A Rust library to map joystick input to keyboard, mouse and custom actions

    This is very neat but gamepad mapping can't be configured and the browser default "standard" mapping doesn't work very well (at least with my Xbox one controller).

    If you visit chrome://flags you can enable "Restrict gamepad access" which will disable

    Incidentally, I recently wrote a small crossplatform gamepad mapper you can use: https://github.com/framp/joystick-mapper/releases/tag/0.3.0

    Configuration for psxparty here:

  • ggpo

    Good Game, Peace Out Rollback Network SDK

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • datagram

    In-progress version of draft-ietf-quic-datagram

    What do you find hard about setting up a WebRTC server? I hear from users they are able to spin up a Pion DataChannel server in 5 mins (including installing Go)

    WebTransport isn’t going to be here soon though, I would be cautious in investing. Stuff like Congestion Control is still a big unknown [0] and we don’t have Datagrams everywhere.

    [0] https://github.com/w3c/webtransport/issues/168

    [1] https://github.com/quicwg/datagram

  • geckos.io

    🦎 Real-time client/server communication over UDP using WebRTC and Node.js http://geckos.io

    https://github.com/pion/datachannel looks great! Thank you for sharing your project with the open source community.

    I just starred it, it does seem like it'd alleviate a some of the pain. Another similar (more end to end) project I had come across is: geckos.io. This previous HN thread[1] discusses some of the (at least perceived) difficulty with using WebRTC as a "WebSockets but UDP" solution.

    I'm not sure I follow the concern about congestion control. UDP doesn't have it either, presumably since if you're building an application that requires such latency sensitivity, you don't mind rolling your own congestion control algorithm that makes most sense given your application's specific needs, right? Pretty much all FPS games do this, as far as I understand.

    [0] https://github.com/geckosio/geckos.io

  • webtransport

    WebTransport is a web API for flexible data transport

    tl;dr using WebRTC just for realtime clientserver data sucks, but WebTransport[1] is coming soon to serve that exact usecase with an easy API

    WebRTC has data channels, which are currently the only way to achieve unreliable and unordered real-time communication (UDP-style) between the browser and other browsers or a server. This is pretty essential for any networked application where latency is critical, like voice and video and fast-paced multiplayer games.

    As other commenters have noted, it's a royal pain in the ass to set up WebRTC if all you want is UDP-style communication between a server and browser, since you need to wrangle half a dozen other protocols in the process.

    However! A new API, WebTransport[1], is actively being developed that will offer a WebSockets-like (read: super simple to set up) API for UDP-style communication. I am extremely excited about it and its potential for real-time browser-based multiplayer games (which I'm working on).

    https://github.com/w3c/webtransport

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts