2015-03-11, 00:56
Hello again, I'm Anthony. In addition to the GameStream proposal, I'd like to propose Netplay in RetroPlayer. My experience in networking is limited to a small UDP project at a previous internship and an upper division networking fundamentals course, but I'm very interested in this topic.
Summary:
Adding networking support for RetroPlayer emulation for multiplayer games, in a similar fashion to netplay on other emulation platforms like RetroArch. Must be able to deal with common networking issues and latency.
What will the project focus on:
The scope of this project is a bit broad, with many little optimizations that could be made in order to improve usability and such. The most important part of this project is getting some sort of netplay in order over LAN, and providing a clean and central place for emulation networking.
How I will achieve this:
A binary addon that will provide networking capabilities to RetroPlayer. I think it would be wise to implement using UDP due to congestion control properties and overhead of TCP. This project would require a server-client model of doing things. I would look into architectures like GGPO (good game peace out) for guidance in creating a smoother online experience with RetroPlayer.
One possibility to adapt the existing netcode of RetroArch, which would have the added bonus of being compatible with their clients.
Benefits:
Multiplayer functionality over the internet, which is perfect for playing those nostalgic SNES with friends.
Goals:
What does it touch in Kodi
Probably stuff in Kodi/network, though I don't know how much access addon's are allowed.
Also, some changes in the RetroPlayer core and Game api might need to be changed to accommodate network play.
Requirements
C++, networking knowledge
Let me know if theres anything that could be improved. Thanks.
Summary:
Adding networking support for RetroPlayer emulation for multiplayer games, in a similar fashion to netplay on other emulation platforms like RetroArch. Must be able to deal with common networking issues and latency.
What will the project focus on:
The scope of this project is a bit broad, with many little optimizations that could be made in order to improve usability and such. The most important part of this project is getting some sort of netplay in order over LAN, and providing a clean and central place for emulation networking.
How I will achieve this:
A binary addon that will provide networking capabilities to RetroPlayer. I think it would be wise to implement using UDP due to congestion control properties and overhead of TCP. This project would require a server-client model of doing things. I would look into architectures like GGPO (good game peace out) for guidance in creating a smoother online experience with RetroPlayer.
One possibility to adapt the existing netcode of RetroArch, which would have the added bonus of being compatible with their clients.
Benefits:
Multiplayer functionality over the internet, which is perfect for playing those nostalgic SNES with friends.
Goals:
- Develop a protocol between server and clients for two player games
- Handle synchronization issues, possibly through syncing key save state frames provided by the rewind functionality.
- Have a playable netplay via LAN
- Deal with issues over the internet to deal with less than stellar networking means, including latency, dropped packets, etc.
What does it touch in Kodi
Probably stuff in Kodi/network, though I don't know how much access addon's are allowed.
Also, some changes in the RetroPlayer core and Game api might need to be changed to accommodate network play.
Requirements
C++, networking knowledge
Let me know if theres anything that could be improved. Thanks.