{"repo":"gschup/ggrs","free":true,"listed":false,"github":"https://github.com/gschup/ggrs","clone":"git clone https://github.com/gschup/ggrs.git","description":"GGRS is a reimagination of GGPO, enabling P2P rollback networking in Rust. Rollback to the future!","language":"Rust","stars":679,"topics":["ggpo","rollback","rust","gamedev","networking"],"license":null,"category":"game-templates","readme_excerpt":"P2P Rollback Networking in Rust GGRS (good game rollback system) is a reimagination of the GGPO network SDK written in 100% safe Rust 🦀. The callback-style API from the original library has been replaced with a much saner, simpler control flow. Instead of registering callback functions, GGRS returns a list of requests for the user to fulfill. If you are interested in integrating rollback networking into your game or just want to chat with other rollback developers (not limited to Rust), check out the GGPO Developers Discord! Live Demonstrations GGRS has two demo apps — one written with macroquad, the other with bevy. Both use matchbox for WebRTC-based matchmaking. Note: The hosted matchmaking server is currently offline, so the links below will not find opponents automatically. You can still open the link in two separate browser windows on the same machine to test locally. - Bevy Demo (Repository) - Macroquad Demo (Repository) Projects using GGRS - Jumpy - Gamercade - NES-bundler - Girls with Swords (gameplay footage) - NieR Automata: Online (Youtube) - Signs of Danger (devlog, forked) Getting Started To get started with GGRS, check out the following resources: - Docs — guide covering setup, sessions, the main loop, requests/events, time sync, and more - Examples — runnable P2P, spectator, and sync-test demos - API Documentation Development Status GGRS is fairly stable. The core functionality for multiple players and spectators has not changed significantly in recent version","default_branch":null,"files":null,"tree":[],"storefront":"/r/gschup","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/gschup/ggrs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}