Skip to content

philiparvidsson/Pong-Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pong.

Pong. was a weekend project that started with the idea of creating a machine learning algorithm for the game Pong. Although an AI was implemented, focus was shifted to the artistical aspects of the game. All of the code—including engine, physics, HLSL shaders, etc—is written by me. No third-party software components were used, except for SharpDX, which is only used as a wrapper for DirectX and XAudio2.

Pong.

Features

Architecture
. Carefully designed ECS (Entity–Component–System) engine
. Separated into base engine and game implementation (for future use!)

Artificial Intelligence
. So far just a trivial AI, although challenging enough.

Graphics
. Camera effects (shaking)
. Chromatic aberration
. Hardware-accelerated graphics (DirectX 11.0)
. Motion blur
. Noise (ISO) shader
. Object animations
. Particle effects

Physics
. Binary search for precise time-of-collision resolution
. Collision detection (Separating Axis Theorem)
. Realistic physics with fourth-order Runge–Kutta integration
. Rigid body dynamics with convex polytopes

Sound
. Background music
. Multi-channel sound effects

Building

Requires: git, Python 2.7

  1. Clone this repository by typing git clone https://github.com/philiparvidsson/Pong-Game.git in your terminal.
  2. Chdir into the Pong-Game directory.
  3. Type python make.py init all.
  4. Run Pong.exe in the bin directory.

Or, copy this and run it to download, build and run the game:

git clone https://github.com/philiparvidsson/Pong-Game.git && cd Pong-Game && python make.py init all run

Video

Pong Game