From dbaf583072da7d27627d9b52d41617783681af93 Mon Sep 17 00:00:00 2001 From: Srayan Jana Date: Mon, 5 May 2025 18:29:16 -0700 Subject: [PATCH 1/8] add fighting game rollback examples --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index a638481..1f67307 100644 --- a/README.md +++ b/README.md @@ -130,9 +130,15 @@ - [Normcore](https://normcore.io/) - Seamless multiplayer game networking for Unity (Cloud/SaaS). - [Photon Engine](https://photonengine.com) - Hybrid multiplayer game networking platform (Cloud/SaaS). - [RiptideNetworking](https://github.com/tom-weiland/RiptideNetworking) - Lightweight C# networking solution for multiplayer games. + - [BestoNet](https://github.com/BestoGames/BestoNet) - A custom rollback networking solution developed for the fighting game Idol Showdown. Built in C# for Unity - Go - [Nakama](https://github.com/heroiclabs/nakama) - Open-source backend infrastructure for multiplayer games (also with Unity/C# SDK). - [GoWorld](https://github.com/xiaonanln/goworld) - Scalable Distributed Game Server Engine with Hot Swapping (and Unity demo!). +- Godot + - [Snopek's Godot Rollback Netcode Addon](https://gitlab.com/snopek-games/godot-rollback-netcode/) - An addon for implementing rollback and prediction netcode in the Godot game engine + - [Rakugaki Rumble](https://github.com/AndreaJens/rakugaki-rumble) - A small open source Godot 4.2 fighting game project using Snopek's Rollback Addon + - [Delta Rollback](https://gitlab.com/BimDav/delta-rollback) - Port of Snopek's Rollback Addon to C++, has increased performance and optimizations compared to the former + - [Godot Rollback Fighter Demo](https://github.com/blast-harbour/Godot-Rollback-Fighter-Demo) - Example fighting game project using Delta Rollback. - Java - [SmartFoxServer](http://smartfoxserver.com/) - Massive multiplayer game server with advanced built-in features. - JavaScript From e7ec74424b2ab212f52c8f900851484b294224a5 Mon Sep 17 00:00:00 2001 From: Srayan Jana Date: Tue, 6 May 2025 22:53:30 -0700 Subject: [PATCH 2/8] add stuff i missed --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 1f67307..1085495 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ - [How a Shooter Shoots](https://kotaku.com/5869564/networking-how-a-shooter-shoots) - Armin Ronacher's analysis on Battlefield 3's shooting mechanism in multiplayer. - [Impact Of Latency In Wireless Networks For Real-time Multiplayer Games On Mobile Devices](https://ntnuopen.ntnu.no/ntnu-xmlui/bitstream/handle/11250/2352307/11752_FULLTEXT.pdf) - A paper. - [IT Hare on Network Programming](http://ithare.com/category/network-programming/) - Detailed network programming articles from IT Hare team. +- [I wanna make a fighting game! - Determinism](https://andrea-jens.medium.com/i-wanna-make-a-fighting-game-a-practical-guide-for-beginners-part-5-f049a78ddc5b) - Article explaining the determinism requirements of peer-to-peer rollback netcode, especially for fighting games. - [Kieran Newland's Blog](https://www.kierannewland.co.uk/blog/) - Various articles on Unreal Engine 5 multiplayer networking by Kieran Newland. - [Lag Compensation - Fair Play for all Pings](https://vercidium.com/blog/lag-compensation/) - An article explaining lag compensation by Mitchell Robinson. - [NAT Punch-through for Multiplayer Games](https://keithjohnston.wordpress.com/2014/02/17/nat-punch-through-for-multiplayer-games/) - NAT and P2P connectivity by Keith Johnston. @@ -35,6 +36,7 @@ - [Quake 3 Network Model](http://fabiensanglard.net/quake3/network.php) - Fabien Sanglard's source code review about Quake 3's networking model. - [Real Time Multiplayer in HTML5](http://buildnewgames.com/real-time-multiplayer/) - Sven Bergström's multiplayer game development on the web guide. - [Replication in Networked Games](https://0fps.net/2014/02/10/replication-in-networked-games-overview-part-1/) - Mikola Lysenko's replication articles for JavaScript-based multiplayer. +- [Rollback Pseudo Code](https://gist.github.com/rcmagic/f8d76bca32b5609e85ab156db38387e9) - A high level pseudocode of peer-to-peer rollback netcode, especially for fighting games - [Rollback Networking in INVERSUS](http://blog.hypersect.com/rollback-networking-in-inversus/) - Ryan Juckett's post on a peer-to-peer rollback system in multiplayer. - [SnapNet Blog](https://www.snapnet.dev/blog/) - Netcode Architectures (lockstep, rollback, snapshot interpolation, Tribes') by Jay Mattis. - [Source Multiplayer Networking](https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking) - Valve's Source engine wiki including advanced game networking topics. @@ -131,9 +133,11 @@ - [Photon Engine](https://photonengine.com) - Hybrid multiplayer game networking platform (Cloud/SaaS). - [RiptideNetworking](https://github.com/tom-weiland/RiptideNetworking) - Lightweight C# networking solution for multiplayer games. - [BestoNet](https://github.com/BestoGames/BestoNet) - A custom rollback networking solution developed for the fighting game Idol Showdown. Built in C# for Unity + - [PleaseResync](https://github.com/NoisyChain/PleaseResync-Unity) - Peer to Peer Rollback Networking Library Written in C# for Unity - Go - [Nakama](https://github.com/heroiclabs/nakama) - Open-source backend infrastructure for multiplayer games (also with Unity/C# SDK). - [GoWorld](https://github.com/xiaonanln/goworld) - Scalable Distributed Game Server Engine with Hot Swapping (and Unity demo!). + - [GGPO-Go](https://github.com/assemblaj/ggpo) - GGPO Port Into Go - Godot - [Snopek's Godot Rollback Netcode Addon](https://gitlab.com/snopek-games/godot-rollback-netcode/) - An addon for implementing rollback and prediction netcode in the Godot game engine - [Rakugaki Rumble](https://github.com/AndreaJens/rakugaki-rumble) - A small open source Godot 4.2 fighting game project using Snopek's Rollback Addon From cdbee8302e788dc2f1707c47437d5cfeb83a4036 Mon Sep 17 00:00:00 2001 From: Srayan Jana Date: Fri, 20 Jun 2025 09:41:07 -0700 Subject: [PATCH 3/8] Update README.md Co-authored-by: Fatih Mar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1085495..14fbe2c 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ - [Snopek's Godot Rollback Netcode Addon](https://gitlab.com/snopek-games/godot-rollback-netcode/) - An addon for implementing rollback and prediction netcode in the Godot game engine - [Rakugaki Rumble](https://github.com/AndreaJens/rakugaki-rumble) - A small open source Godot 4.2 fighting game project using Snopek's Rollback Addon - [Delta Rollback](https://gitlab.com/BimDav/delta-rollback) - Port of Snopek's Rollback Addon to C++, has increased performance and optimizations compared to the former - - [Godot Rollback Fighter Demo](https://github.com/blast-harbour/Godot-Rollback-Fighter-Demo) - Example fighting game project using Delta Rollback. + - [Rollback Fighter Demo](https://github.com/blast-harbour/Godot-Rollback-Fighter-Demo) - Example fighting game using [Delta Rollback Netcode](https://gitlab.com/BimDav/delta-rollback). - Java - [SmartFoxServer](http://smartfoxserver.com/) - Massive multiplayer game server with advanced built-in features. - JavaScript From 217bdcdf9cf1df50d255a1a64dd9abef19107759 Mon Sep 17 00:00:00 2001 From: Srayan Jana Date: Fri, 20 Jun 2025 09:41:17 -0700 Subject: [PATCH 4/8] Update README.md Co-authored-by: Fatih Mar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 14fbe2c..3b96f90 100644 --- a/README.md +++ b/README.md @@ -132,7 +132,7 @@ - [Normcore](https://normcore.io/) - Seamless multiplayer game networking for Unity (Cloud/SaaS). - [Photon Engine](https://photonengine.com) - Hybrid multiplayer game networking platform (Cloud/SaaS). - [RiptideNetworking](https://github.com/tom-weiland/RiptideNetworking) - Lightweight C# networking solution for multiplayer games. - - [BestoNet](https://github.com/BestoGames/BestoNet) - A custom rollback networking solution developed for the fighting game Idol Showdown. Built in C# for Unity + - [BestoNet](https://github.com/BestoGames/BestoNet) - GGPO-style rollback networking for fighting game in Unity/C#. - [PleaseResync](https://github.com/NoisyChain/PleaseResync-Unity) - Peer to Peer Rollback Networking Library Written in C# for Unity - Go - [Nakama](https://github.com/heroiclabs/nakama) - Open-source backend infrastructure for multiplayer games (also with Unity/C# SDK). From 56bcbbed717227c1c2ba2f719804c7e09de16870 Mon Sep 17 00:00:00 2001 From: Srayan Jana Date: Fri, 20 Jun 2025 09:41:44 -0700 Subject: [PATCH 5/8] Update README.md Co-authored-by: Fatih Mar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3b96f90..dc76601 100644 --- a/README.md +++ b/README.md @@ -139,7 +139,7 @@ - [GoWorld](https://github.com/xiaonanln/goworld) - Scalable Distributed Game Server Engine with Hot Swapping (and Unity demo!). - [GGPO-Go](https://github.com/assemblaj/ggpo) - GGPO Port Into Go - Godot - - [Snopek's Godot Rollback Netcode Addon](https://gitlab.com/snopek-games/godot-rollback-netcode/) - An addon for implementing rollback and prediction netcode in the Godot game engine + - [Snopek's Rollback Netcode](https://gitlab.com/snopek-games/godot-rollback-netcode/) - Godot addon implementing rollback and prediction netcode. - [Rakugaki Rumble](https://github.com/AndreaJens/rakugaki-rumble) - A small open source Godot 4.2 fighting game project using Snopek's Rollback Addon - [Delta Rollback](https://gitlab.com/BimDav/delta-rollback) - Port of Snopek's Rollback Addon to C++, has increased performance and optimizations compared to the former - [Rollback Fighter Demo](https://github.com/blast-harbour/Godot-Rollback-Fighter-Demo) - Example fighting game using [Delta Rollback Netcode](https://gitlab.com/BimDav/delta-rollback). From cd887878b53930d063a5eabe060cf14cf667ceb7 Mon Sep 17 00:00:00 2001 From: Srayan Jana Date: Fri, 20 Jun 2025 09:41:57 -0700 Subject: [PATCH 6/8] Update README.md Co-authored-by: Fatih Mar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dc76601..63726c6 100644 --- a/README.md +++ b/README.md @@ -141,7 +141,7 @@ - Godot - [Snopek's Rollback Netcode](https://gitlab.com/snopek-games/godot-rollback-netcode/) - Godot addon implementing rollback and prediction netcode. - [Rakugaki Rumble](https://github.com/AndreaJens/rakugaki-rumble) - A small open source Godot 4.2 fighting game project using Snopek's Rollback Addon - - [Delta Rollback](https://gitlab.com/BimDav/delta-rollback) - Port of Snopek's Rollback Addon to C++, has increased performance and optimizations compared to the former + - [Delta Rollback Netcode](https://gitlab.com/BimDav/delta-rollback) - C++ port of [Snopek's Rollback Netcode](https://gitlab.com/snopek-games/godot-rollback-netcode/) with performance optimizations. - [Rollback Fighter Demo](https://github.com/blast-harbour/Godot-Rollback-Fighter-Demo) - Example fighting game using [Delta Rollback Netcode](https://gitlab.com/BimDav/delta-rollback). - Java - [SmartFoxServer](http://smartfoxserver.com/) - Massive multiplayer game server with advanced built-in features. From e2aa980041cbca1499796f94a5ed91108dcbedfd Mon Sep 17 00:00:00 2001 From: Srayan Jana Date: Fri, 20 Jun 2025 09:42:20 -0700 Subject: [PATCH 7/8] Update README.md Co-authored-by: Fatih Mar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 63726c6..391b151 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ - [GGPO-Go](https://github.com/assemblaj/ggpo) - GGPO Port Into Go - Godot - [Snopek's Rollback Netcode](https://gitlab.com/snopek-games/godot-rollback-netcode/) - Godot addon implementing rollback and prediction netcode. - - [Rakugaki Rumble](https://github.com/AndreaJens/rakugaki-rumble) - A small open source Godot 4.2 fighting game project using Snopek's Rollback Addon + - [Rakugaki Rumble](https://github.com/AndreaJens/rakugaki-rumble) - Small fighting game using [Snopek's Rollback Netcode](https://gitlab.com/snopek-games/godot-rollback-netcode/). - [Delta Rollback Netcode](https://gitlab.com/BimDav/delta-rollback) - C++ port of [Snopek's Rollback Netcode](https://gitlab.com/snopek-games/godot-rollback-netcode/) with performance optimizations. - [Rollback Fighter Demo](https://github.com/blast-harbour/Godot-Rollback-Fighter-Demo) - Example fighting game using [Delta Rollback Netcode](https://gitlab.com/BimDav/delta-rollback). - Java From c7c79d0fd667c011636a45e7facd645e0ff84af1 Mon Sep 17 00:00:00 2001 From: Srayan Jana Date: Fri, 20 Jun 2025 09:50:15 -0700 Subject: [PATCH 8/8] add part 1 instead of part 5 --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 391b151..fe389a9 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ - [How a Shooter Shoots](https://kotaku.com/5869564/networking-how-a-shooter-shoots) - Armin Ronacher's analysis on Battlefield 3's shooting mechanism in multiplayer. - [Impact Of Latency In Wireless Networks For Real-time Multiplayer Games On Mobile Devices](https://ntnuopen.ntnu.no/ntnu-xmlui/bitstream/handle/11250/2352307/11752_FULLTEXT.pdf) - A paper. - [IT Hare on Network Programming](http://ithare.com/category/network-programming/) - Detailed network programming articles from IT Hare team. -- [I wanna make a fighting game! - Determinism](https://andrea-jens.medium.com/i-wanna-make-a-fighting-game-a-practical-guide-for-beginners-part-5-f049a78ddc5b) - Article explaining the determinism requirements of peer-to-peer rollback netcode, especially for fighting games. +- [I wanna make a fighting game!](https://andrea-jens.medium.com/i-wanna-make-a-fighting-game-a-practical-guide-for-beginners-part-1-2021-update-955a4672eea5) - Series of articles explaining how to make your own fighting game, with special attention given to the requirements of peer-to-peer rollback netcode, like determinism. - [Kieran Newland's Blog](https://www.kierannewland.co.uk/blog/) - Various articles on Unreal Engine 5 multiplayer networking by Kieran Newland. - [Lag Compensation - Fair Play for all Pings](https://vercidium.com/blog/lag-compensation/) - An article explaining lag compensation by Mitchell Robinson. - [NAT Punch-through for Multiplayer Games](https://keithjohnston.wordpress.com/2014/02/17/nat-punch-through-for-multiplayer-games/) - NAT and P2P connectivity by Keith Johnston. @@ -133,11 +133,9 @@ - [Photon Engine](https://photonengine.com) - Hybrid multiplayer game networking platform (Cloud/SaaS). - [RiptideNetworking](https://github.com/tom-weiland/RiptideNetworking) - Lightweight C# networking solution for multiplayer games. - [BestoNet](https://github.com/BestoGames/BestoNet) - GGPO-style rollback networking for fighting game in Unity/C#. - - [PleaseResync](https://github.com/NoisyChain/PleaseResync-Unity) - Peer to Peer Rollback Networking Library Written in C# for Unity - Go - [Nakama](https://github.com/heroiclabs/nakama) - Open-source backend infrastructure for multiplayer games (also with Unity/C# SDK). - [GoWorld](https://github.com/xiaonanln/goworld) - Scalable Distributed Game Server Engine with Hot Swapping (and Unity demo!). - - [GGPO-Go](https://github.com/assemblaj/ggpo) - GGPO Port Into Go - Godot - [Snopek's Rollback Netcode](https://gitlab.com/snopek-games/godot-rollback-netcode/) - Godot addon implementing rollback and prediction netcode. - [Rakugaki Rumble](https://github.com/AndreaJens/rakugaki-rumble) - Small fighting game using [Snopek's Rollback Netcode](https://gitlab.com/snopek-games/godot-rollback-netcode/).