Skip to content

A Breakout game implemented in Assembly Language (MASM/TASM) for x86 systems.

Notifications You must be signed in to change notification settings

ahmedkamal14/ASM-Breakout

Repository files navigation

Brick Breaker Game (8086 Assembly)

demo

Overview

This is a Brick Breaker game developed in Assembly 8086, featuring multiple gameplay modes including single-player, two-player, and chat functionality via serial communication. The game includes challenging mechanics, power-ups, and a competitive ping pong phase!

Features

Let's introduce the main page first, as the following image shows, you can go through any mode of the four available modes by pressing their keys.

demo

1. Chat Mode

In this mode, communication takes place through text mode. Players can exchange messages via serial communication, allowing both sending and receiving of messages between them. demo

2. One Player Mode

This mode operates in assembly video mode and includes the following exciting features:

  • Three levels of increasing difficulty.
  • Bricks with varying health values (requiring multiple hits to break).
  • Power-ups that enhance the speed of the paddle and ball.
  • Three lives per player with a scoring system.

To start playing this mode, use the 1 and 3 keys on your keyboard (not the left and right arrow keys).

demo

3. Two Player Mode

This mode operates in assembly video mode and includes the following exciting features:

  • Two players compete on separate computers via serial communication.
  • The first player to clear all bricks wins.
  • If a player loses all lives first, they lose the match.
  • The winner of the brick-breaker phase gains an advantage in the next phase.
  • Ping Pong Phase The game transitions into a ping pong match where the winner from the brick-breaker game has a larger paddle.

NOTE

  • Press the F key to start the two-player mode synchronously. Remember, use uppercase F, not lowercase f.
  • To start playing, use the 1 and 3 keys on your keyboard (not the left and right arrow keys).

demo

4. Ping Pong Mode

As mentioned earlier, you can access this mode either by pressing 4 from the main menu or by playing the two-player mode, which will automatically transition into the ping pong game after the brick-breaker phase. This mode operates in assembly video mode and includes the following exciting features:

  • A standalone ping pong match using serial communication.
  • The first player to reach the target score wins.

NOTE

  • Press the Q key to start the two-player mode synchronously. Remember, use uppercase Q, not lowercase q.
  • To start playing, use the 2 and 5 keys on your keyboard (not the up and down arrow keys).

demo

Setup Requirements

  • DOSBox
  • MASM/TASM assembler.
  • Serial communication setup for multiplayer modes.

Installation

  1. Ensure you have an emulator like DOSBox or a real 8086-compatible system.

  2. Install an assembler like MASM or TASM.

  3. Clone this repository:

    git clone https://github.com/ahmedkamal14/ASM-Breakout.git
  4. Assemble the game:

    tasm main.asm
  5. Link the executable:

    link main.obj
  6. Run the game:

    main.exe

Controls

To ensure you have a fantastic experience with our game, here’s a summary of how each mode works:

  1. Starting a Mode

    • Press the designated key from the main menu to select a mode.
    • Two-Player Mode: Press F (uppercase) to start synchronously. Do not use lowercase f.
    • Ping Pong Mode: Press Q (uppercase) to start synchronously. Do not use lowercase q.
  2. Paddle Controls

    • Two-Player Mode: Use the 1 and 3 keys to move the paddle (not the left and right arrow keys).
    • Ping Pong Mode: Use the 2 and 5 keys to move the paddle (not the up and down arrow keys).

Acknowledgments

This project was developed as part of a microprocessors course, showcasing game development using low-level assembly programming and serial communication.

Demo Video

brick_breaker_demo.mp4

Contributors

Amira Alyaa Ahmed Ahmed Hazem
Amira Khalid Alyaa Ali Ahmed Kamal Ahmed Hazem

About

A Breakout game implemented in Assembly Language (MASM/TASM) for x86 systems.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •