ggpo
geckos.io
Our great sponsors
ggpo | geckos.io | |
---|---|---|
22 | 5 | |
3,071 | 1,289 | |
- | 1.9% | |
0.0 | 7.0 | |
4 months ago | 4 months ago | |
C++ | TypeScript | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ggpo
-
Q: How are online games like Street Fighter 6 able to synchronize inputs from two players at a high frame rate? (60fps)
As mentioned in the top comment, rollback and client side prediction is key. One of the more robust and popular libraries that do this specifically for fighting games is GGPO. When it was opened sourced a few years ago it was a fairly big deal as games that used it felt great. Larger studios have their own libraries but the concept is the same. Its worth a look through if you want to implement something on your own.
-
Virtual Venerable Vestments - Weekly Discussion Thread, May 8th, 2023
I just did a quick Google so I don't know the exact details, but I think Max said Idol Shodown is running GGPO which, as far as I can tell, is open source.
-
2D Fighting Game Engines in 2023
will reply here also in case anyone else wanted an answer. You could use the original C++ library with C++ or any language that interops with C++ (e.g. C#), so that's there for ya if you need
- What was your "Holy crap...This is like, an actual game" moment
-
rolled back
Sure thing bud. I guess we'll just keep pretending like Code Mystics, the same people that did the KI netcode, haven't partnered with SNK because SNK realized their shit sucks and they needed external assistance. We'll pretend like the source code for GGPO is hidden away in the recesses of Tony Cannon's mind or that it isn't open and free for anyone to use or that it doesn't have Japanese documentation. We'll pretend like MikeZ didn't implement a version of GGPO in Skullgirls in 2012.
-
Lesser known fields or industries?
GGPO is a common implementation and it's all open source if anyone wants to get into the nitty-gritty: https://github.com/pond3r/ggpo
-
[Summary] Help wanted with Backroll-rs (new networking library) r/rust
Backroll-rs is a brand new networking library based on GGPO dedicated to peer-to-peer Rollback Netcode, for use in fighting games, platform fighters, and other games with less than 8 players that require low latency. We are looking for programmers familiar with Rust to help finish this project. We are 80% of the way completed with this project, but we need more unit tests and debugging to fully finish it.
-
Why is online so hard for fighting games?
This doesn't work in the comparison to shooters. Shooters operate through a server, while fighting games are peer-to-peer. They only require a server for matchmaking purposes. Doing the peer-to-peer part actually puts fighting game devs at an advantage compared to other genres, as there's libraries and documentation for those libraries to either plug and play a rollback solution or build one buy looking at existing source code complete with solid documentation.
-
Rant: I love Street Fighter V ! But I HATE the netcode! Please Capcom! Let SF6 have good netcode!!
GGPO doesn't really solve the biggest problem with SFV's netcode, which is client timesync. It does have code in there to handle it by slowing down the client that's ahead and allowing the client that's behind to catch up, but that doesn't fix the fact that one client consistently gets ahead in the first place, and also means the faster client will see more stuttering or slowdown.
- Honest opinion about rollback netcode
geckos.io
-
How to properly scale an IO game?
First, I would try exchange Socket.io over Geckos - https://github.com/geckosio/geckos.io.
- I need a new framework for my game.
-
Show HN: Hathora – Multiplayer Game Development Made Easy
I agree the scope is massive. I think a lot of people struggle with figuring out how to even get started with multiplayer dev, and I hope Hathora can be a useful tool for them.
Thanks for linking matchbox - I've been looking into https://github.com/geckosio/geckos.io as a way to integrate WebRTC into Hathora
- I spent the past year building a multiplayer web game in Typescript/Node
-
Show HN: PSX Party – Online Multiplayer Playstation 1 Emulator Using WebRTC
https://github.com/pion/datachannel looks great! Thank you for sharing your project with the open source community.
I just starred it, it does seem like it'd alleviate a some of the pain. Another similar (more end to end) project I had come across is: geckos.io. This previous HN thread[1] discusses some of the (at least perceived) difficulty with using WebRTC as a "WebSockets but UDP" solution.
I'm not sure I follow the concern about congestion control. UDP doesn't have it either, presumably since if you're building an application that requires such latency sensitivity, you don't mind rolling your own congestion control algorithm that makes most sense given your application's specific needs, right? Pretty much all FPS games do this, as far as I understand.
What are some alternatives?
nakama - Distributed server for social and realtime games and apps.
React-Discord-Clone - Discord Clone using React, Node, Express, Socket-IO and Mysql
backroll-rs - A (almost) 100% pure safe Rust implementation of GGPO-style rollback netcode.
webtransport - WebTransport is a web API for flexible data transport
rapier - 2D and 3D physics engines focused on performance.
SkyOffice - Immersive virtual office built with Phaser, React, Redux, PeerJS, and Colyseus.
bevy - A refreshingly simple data-driven game engine built in Rust
datagram - In-progress version of draft-ietf-quic-datagram
joystick-mapper - A Rust library to map joystick input to keyboard, mouse and custom actions
among-us-tutorial