TASEmulators / TASEmulators/BizHawk
[F.Rq.] Netplay (multiplayer over a local network or possibly the Internet)
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 2.8k
- Forks
- 468
- PR merge metrics
- No merged PRs in 30d
Description
There are many ways this could be done.
Here are my thoughts on one way:
** use Kaillera (but it probably needs improving)**
Kaillera server and client were recreated in https://github.com/God-Weapon.
But it's still needs in improvements:
- Reconnecting or connect to active session
- Send states client->server->clients
- Only buttons need be send by UDP, other commands and states must be sended by another port or TCP. It allows us to require lost packets from clients.(packets can be contains chat or commands in current state)
- Possibility to start netplay game on server with only 1 player
How it must works:
Player creates game on server(4), then other player will connect to him(1), server requires state from first(host) player and send to client(2),during lag a server just wait and requires lost packets(3), on desync a server requires state from host(2)
So it needs make new server code or upgrage current Kaillera servers, you can replace original client code with own will work with Kaillera(or/and upgraded) servers
see also #4018
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files, tests, or entry points are named. Start by reviewing the existing Kaillera server/client work and related issue #4018, then define the networking design and acceptance criteria for reconnection, state transfer, packet handling, and single-player server sessions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- game-dev, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100