https://github.com/joakim-ribier/pong
The Pong game in Go with ebitengine 2D game engine.
https://github.com/joakim-ribier/pong
ebiten golang
Last synced: 7 months ago
JSON representation
The Pong game in Go with ebitengine 2D game engine.
- Host: GitHub
- URL: https://github.com/joakim-ribier/pong
- Owner: joakim-ribier
- License: mit
- Created: 2024-10-08T08:59:00.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-22T19:46:56.000Z (9 months ago)
- Last Synced: 2025-02-02T03:18:02.197Z (9 months ago)
- Topics: ebiten, golang
- Language: Go
- Homepage:
- Size: 105 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PONG
The first game `Pong` was developped by Atari in 1972.

[Usage](#usage) - [How to play](#how-to-play) - [Features](#features) - [License](#license)
## Usage
Clone the project and work with the source or directly `go install`.
### Git clone
```bash
$ git clone https://github.com/joakim-ribier/pong
$ go build -o . ./...
$ ./pong
```
### Go Install
```bash
$ go install -v github.com/joakim-ribier/pong/cmd/client@latest
$ ./pong
```
### Binaries
Available only for windows from [Releases](https://github.com/joakim-ribier/pong/releases).
For the others distributions: [Is_it_possible_to_cross-compile_an_application_with_Ebitengine](https://ebitengine.org/en/documents/faq.html#Is_it_possible_to_cross-compile_an_application_with_Ebitengine?)
## How to play
### Singleplayer
```bash
# start the game with no option and enjoy it
$ ./pong
```
### Multiplayer
We should have a server which host the game and a client to play with.
The server should start before the client and It's it which handle the whole game.
#### How to start the server
```bash
$ ./pong --server 127.0.0.1:3000
```
#### How to start the client
```bash
$ ./pong --client 127.0.0.1:3000
```
## Features
### Next
...
### latest
Create a `Pong` game with [`ebitengine`](https://ebitengine.org/) 2D engine.
* [x] Implement a singleplayer mode (`Player L` VS `Player R`)
* [x] Implement a multiplayer mode (`Server` VS `Client`) with the `[UDP]` protocol to exchange messages between the server and the client
* [x] Add Github workflows to generate binaries
## License
This software is licensed under the MIT license, see [License](https://github.com/joakim-ribier/pong/blob/main/LICENSE) for more information.