philiparvidsson / Pong-Game

Simple but very artistic Pong game (with Rigid Body Dynamics)!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Simple but very artistic Pong game (with Rigid Body Dynamics)!

License:MIT License


Languages

Language:C# 72.8%Language:HLSL 23.7%Language:Python 3.5%