Play a real-time Pong match against a random opponent using Quick Match.
Set up a private room with a friend using a shared secret code to play over the internet.
Play against another player on the same local network using LAN Lobby.
Study the project as an example of building peer to peer netcode with libp2p.
| tusharsinghbisht/pong.net | advayc/wrapped | aegrail/aegrail-engine | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Go | Go | Go |
| Setup difficulty | moderate | easy | hard |
| Complexity | 3/5 | 2/5 | 5/5 |
| Audience | developer | general | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires Go 1.26+ to build from source, or a compatible terminal with Unicode and color support to run a prebuilt binary.
Pong.net is a two player Pong game that runs directly in your terminal, with no game server involved at all. The two players' computers connect straight to each other over the internet or a local network using a peer to peer networking system called libp2p, so there is nothing central to sign into or depend on. To find an opponent, the game offers four ways to connect. Quick Match pairs you with a random stranger looking for a game right now. Private Room lets two friends type the same secret code so the network can introduce them to each other. LAN Lobby automatically finds other players on the same local network, useful for an office or a home network. Direct Connect lets you paste a friend's network address by hand if the other methods do not work. Whichever peer's identifier comes first alphabetically automatically becomes the host running the actual game logic, so no separate coordination step is needed. The game itself has a polished text based interface with an animated menu, colored playing field, and a live score header showing connection ping. Gameplay runs thirty times a second, with paddles that have momentum, a ball that speeds up with every hit, and the return angle depending on where the ball strikes the paddle. First player to five points wins. While playing, you can chat with the other player, pause and resume, or request a rematch once a game ends. To build and run it yourself you need Go version 1.26 or newer and a terminal that supports Unicode text and color, at least 80 by 25 characters in size, though prebuilt versions of the game do not require Go installed. The project includes an automated test suite covering the game physics, the network protocol, and full matches played over a real network connection. The README does not state a license for this project.
A terminal based, peer to peer Pong game written in Go where two players connect directly to each other with no game server involved.
Mainly Go. The stack also includes Go, libp2p, Bubbletea.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.