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!
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.
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.
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). 
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.
- Press the
F
key to start the two-player mode synchronously. Remember, use uppercase F, not lowercase f. - To start playing, use the
1
and3
keys on your keyboard (not the left and right arrow keys).
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.
- Press the
Q
key to start the two-player mode synchronously. Remember, use uppercase Q, not lowercase q. - To start playing, use the
2
and5
keys on your keyboard (not the up and down arrow keys).
- DOSBox
- MASM/TASM assembler.
- Serial communication setup for multiplayer modes.
-
Ensure you have an emulator like DOSBox or a real 8086-compatible system.
-
Install an assembler like MASM or TASM.
-
Clone this repository:
git clone https://github.com/ahmedkamal14/ASM-Breakout.git
-
Assemble the game:
tasm main.asm
-
Link the executable:
link main.obj
-
Run the game:
main.exe
To ensure you have a fantastic experience with our game, here’s a summary of how each mode works:
-
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.
-
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).
This project was developed as part of a microprocessors course, showcasing game development using low-level assembly programming and serial communication.
brick_breaker_demo.mp4
Amira Khalid | Alyaa Ali | Ahmed Kamal | Ahmed Hazem |