Skip to content

add fighting game rollback examples #70

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

ValorZard
Copy link

No description provided.

@0xFA11
Copy link
Owner

0xFA11 commented May 6, 2025

good stuff, I'll review (read by myself) and merge some time soon when I find a bit more free time — thank you very much!

@ValorZard
Copy link
Author

I should probably add these two as well
https://github.com/HeatXD/PleaseResync
https://github.com/NoisyChain/PleaseResync-Unity

and a high level description of the rollback algorithm: https://gist.github.com/rcmagic/f8d76bca32b5609e85ab156db38387e9

@ValorZard
Copy link
Author

https://andrea-jens.medium.com/i-wanna-make-a-fighting-game-a-practical-guide-for-beginners-part-5-f049a78ddc5b

This is also a really good article explaining determinism in fighting game netcode

(sorry for the spam, I’m at work so I’m making sure I list everything I can remember about fighting game netcode so I can go back and add it to the PR later)

@ValorZard
Copy link
Author

@0xFA11 I am pretty confident that this is ready for merge

@0xFA11
Copy link
Owner

0xFA11 commented Jun 15, 2025

I'm still on it, will merge once I have some free time and consume the content — thank you again.

README.md Outdated
@@ -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.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I guess that’s fair, I just wanted to link to the bit about determinism specifically since that’s important for rollback netcode

README.md Outdated
@@ -130,9 +132,17 @@
- [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
- [PleaseResync](https://github.com/NoisyChain/PleaseResync-Unity) - Peer to Peer Rollback Networking Library Written in C# for Unity
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused about this one. It links to another project (https://github.com/HeatXD/PleaseResync) but this repo itself it not a fork of it?
Can you help me understand this repo and the other one linked there in README?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This repo is the most updated version of Please Resync I could find (which is a GGPO port to c#)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

now that i think about it, it will probably be best to remove it and add it in later, since we already have a couple of GGPO C# ports in here anyways

README.md Outdated
- 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
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently unfinished.

err... let's get this into the list later, like when it looks more finished/tested?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That sounds good to me

ValorZard and others added 6 commits June 20, 2025 09:41
@ValorZard
Copy link
Author

ValorZard commented Jun 20, 2025

alright, dealt with all your comments @0xFA11

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants