Giter VIP home page Giter VIP logo

bootpong's Introduction

Bong

Bong is a simple 2 player pong game written entirely in x86 assembly using the NASM instruction set.

Bong is designed to be run in real mode from the bootsector of a drive. It includes padding and a valid boot signature so it requires no action from the user apart from building, (optionally) installing an emulator capable of booting into bong and getting someone else to play with you (this is not necessary but is advised).

To build bong you will need to have NASM installed.

Building Bong

Linux

nasm -f bin -o bong bong.asm

To run bong you will need to store it on a drive or use an emulator. I suggest QEMU, as it is what I used when developing bong.

Running in QEMU

qemu-system-i386 bong

Playing Bong

Instructions

Bong starts as soon as it is boot into. The ball with start on the left and bounce off to the right to start with. Move the your bat in front of the ball to deflect it back at your opponent. As the ball is deflected off of the bats it will move faster and faster; this is to prevent stalemates because of slow ball speed (or skilled participants).

Win condition

The winner is whoever does not let the ball go past his bat. When the ball goes past the bat the game ends with text displayed to indicate the winner.

Control Scheme

Action Control
left bat up w
left bat down s
right bat up i
right bat down k

Future Development

In the future the following may be implemented depending on free time

  • Make screen update only when a change has happened
  • Make ball move in more ways than diagonally
  • Add score instead of instant win/lose

License

Bong uses the MIT License.

See LICENSE or this for more information.

bootpong's People

Contributors

murto avatar

Watchers

James Cloos avatar  avatar

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.