Git Product home page Git Product logo

pong's Introduction

Pong

Pong was created in C++ to get familiar with SFML, game architecture and rapid development.

It has the option of playing AI vs AI, AI vs Player or Player vs Player with two people at the same keyboard.

For a postmortem where I talk about what I learned while developing Pong (surprisingly more than I expected), read Pong Postmortem

Play

Audio Warning

Just to warn you, the audio isn't adjustable or muteable in game and will be pretty loud. Didn't get around to implementing adjustable audio and probably never will.

Controls

R does a soft reset which resets the paddles and ball but not the scores.

The up and down arrow keys control the right paddle.

W and S control the left paddle.

Esc brings up the options menu.

How to Build

Built with Visual Studio 2017 15.5.2. Just open the solution file (pong.sln) in VS and build it from there.

Built With

Libraries included in libs/

  • SFML - Used for 2D graphics, input and audio handling
  • TGUI - GUI library for SFML

Audio created by me in

Deployment

To create a standalone project:

  1. Build the release version of Pong in Visual Studio. Executable should be in pong/Release. Copy it to its own folder.
  2. Copy all the dlls from libs\SFML-2.4.2-windows-vc14-32-bit\SFML-2.4.2\bin into the same folder as pong.exe.
  3. Copy tgui.dll from libs\TGUI-0.7.5-vc14-32bit-for-SFML-2.4.2\TGUI-0.7\lib into the same folder as pong.exe.
  4. Copy sounds/ and oswald.ttf from pong/ into the same folder as pong.exe.

You should now be able to run the executable and start playing Pong.

pong's People

Contributors

grotke avatar

Stargazers

Aeva & Watch Gallery 2 avatar

Watchers

 avatar

pong's Issues

Plan all milestones

Create rough outlines for all future milestones. This is complete once all planned features of the game have been written out.

Set up Git in Visual Studio

Set up Git in Visual Studio. This is complete after the project, including SFML libs, are committed to Github.

Fix AI jittering

The AI paddle jitters up and down when tracking the ball instead of moving smoothly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.