Skip to content

stathismor/bit-pong

Repository files navigation

Bit Pong

github_background

A game about a ball and a cup.

Bit Pong is a casual game where you only have one goal: put the ball in the cup. Start by dragging the ball and letting it go and adapt to the progressively surreal levels!

Play

Android

Get it on Google Play

Browser

Play the web version on itch.io or on gh-pages.

iOS

In development.

Tech stack

Bit Pong is written in TypeScript, using the Phaser game engine, and Matter.js for the physics part. parcel is used for bundling it all together. The game is built with mobile in mind, although it is primarily a web application. cordova is used for the conversion to a mobile app (using WebView).

Requirements

  1. Node.js and yarn (or npm if you prefer)
  2. git-lfs

Install

After you clone the repo, on the root directory just run:

$ yarn

Run

Run:

$ yarn start

parcel will automatically open the game in your default browser, running on your local Node.js server.

Deploy

If you want to deploy under your own GitHub page, you can do that with:

$ yarn deploy

If your repo is setup to support gh-pages, then you should be able to access the game at https://<username>.github.io/<repo-name>. For this repo, the game is also available at https://stathismor.github.io/bit-pong/.

Architecture

You can read about the game architecture here.

Known issues

Slowdown on high refresh rate screens

Unfortunately, Matter.js has an issue where its engine update is not refresh-rate-dependent. Since Phaser caps on the refresh rate of the screen, rendering and physics updates can be out of sync. This is happening on screens with refresh rate higher than 60Hz, and can cause a slowdown effect, with the ball not going towards the projected trajectory.

License

Source code

Bit Pong source code is released under the GPLv3 license.

Assets

Creative Commons License
Bit Pong assets (images and audio) by Stathis Moraitidis are licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.