Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Uber Pong!
==========

An *Uber-engineered* and somewhat overthought multiplayer implementation of a classic game.

![](http://i.imgur.com/gSYqI2q.jpg) ![](http://i.imgur.com/K5IpCPr.jpg)

**NOTE: Uber Pong! is currently on its first alpha state, meaning that everything
is subject to change!**

##Requirements
* [python](http://python.org) >= 3.3
* [pyglet](http://pyglet.org)
* [pymunk](http://pymunk.readthedocs.org)
* [docopt](http://docopt.org)
* [lz4](https://pypi.python.org/pypi/lz4)
* [simpleubjson](https://pypi.python.org/pypi/simpleubjson)
* [bson](https://pypi.python.org/pypi/bson)

## Features
* Painless installation
* Client-server paradigm, meaning it comes with multiplayer support out of the box
* Powered by **pymunk** physics
* Powered by **pyglet** for almost everything else
* Fun and simple

##Installation

There are a bunch of ways you can install **uberpong**:

### The *pip* way
```bash
pip3 install uberpong
uberpong # Create a session
uberpong -H 43.21.2.4 # Connect to someone else's session
```

###The *git* way
First of all, you must clone the repo ...
```bash
git clone https://github.com/axltxl/uberpong.git
cd uberpong
```

From this point you can run it standalone ...
```bash
pip3 install -r requirements.txt
./uberpong.sh # Create a session
./uberpong.sh -H 43.21.2.4 # Connect to someone else's session
```

###BTW: you need an opponent to play
By default, *uberpong* runs in server mode, if your opponent wishes
to join an existing *uberpong* session, he/she must do in client mode, like so:


```bash
uberpong -H <server ip address>
```

##Usage
```bash
uberpong [-H <ip_address> | --host <ip_address>] [--port <port> | -p <port>] [--lz4 | -z]
uberpong -h | --help
uberpong --version

Options:
-z --lz4 Use LZ4 compression algorithm
-H --host <ip_address> Server to connect to
-p --port <port> Port to connect to [default: 54212]
-h --help Show this screen.
--version Show version.
```

###Examples
* Dead-simple execution of the game
```bash
uberpong
```

* Connect to an existing session
```bash
uberpong -H <host ip address>
```

* Create a session using a different port number for listening
```bash
uberpong -p 54201
```

* Connect to a session listening on an arbitrary port number
```bash
uberpong -H <host ip address> -p 54201
```

* Activate lz4 compression for network traffic on you *uberpong* session
```bash
uberpong --lz4
```

* Connect to a session using lz4 network traffic compression
```bash
uberpong -H <host ip address> --lz4
```

##How to play
* Press `F12` to exit the game at any point
* In-Game: Press `W` to move your paddle up
* In-Game: Press `S` to move your paddle down


##Contributing
There are many ways in which you can contribute to *uberpong*.
Code patches are just one thing amongst others that you can submit to help the project.
We also welcome feedback, bug reports, feature requests, documentation improvements,
advertisement and testing.

##Third party assets
* 8-bit Operator+ font family is made by [Grandoplex Productions](http://grandchaos9000.deviantart.com)
* Some sounds were made by [Morten Barfod Søegaard, Little Robot Sound Factory](http://grandchaos9000.deviantart.com)
![](http://www.littlerobotsoundfactory.com/img/LittleRobotSoundFactory_Logo_00.png)

##Licensing
Please read the [LICENSE](https://github.com/axltxl/uberpong/blob/readme/LICENSE)
file bundled with this distribution

Metadata

Release files for uberpong 0.1.0a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uberpong 0.1.0a1
File Size Uploaded Provenance Actions
uberpong-0.1.0a1.tar.gz 4.5 MB Without provenance Details for uberpong-0.1.0a1.tar.gz

Release files / uberpong-0.1.0a1.tar.gz

Download URL uberpong-0.1.0a1.tar.gz
Size 4.5 MB
Tags Source
SHA-256 checksum
How to use checksums
097738371d8646c7f63de816b3b6aa2635554441fcc511bd53ae9546861373a5
BLAKE2b-256 checksum
How to use checksums
d436776fa693e4c21060f07db4b0201ef7dc9013ebd395577d93d81ba1960767
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for uberpong 0.1.0a1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page