A single-player, arcade-style taxi simulation game developed in x86 Assembly Language. Navigate a 20x20 grid, pick up passengers, and avoid obstacles to climb the leaderboard.
| Main Menu | Difficulty |
|---|---|
![]() |
![]() |
| Modes | Car Selection |
|---|---|
![]() |
![]() |
| Career | Time |
|---|---|
![]() |
![]() |
| Endless |
|---|
![]() |
-
Three Game Modes:
-
Career: Reach target scores to advance.
-
Time: 10-minute race against the clock.
-
Endless: Play until you quit or crash too many times.
-
Dynamic Difficulty: Choose between Easy, Medium, and Hard (affects passenger spawn rates and NPC speed).
-
Customization: Choose between a Red Car (higher speed) or a Yellow Car (different penalty structure).
-
Persistent Leaderboard: Top 10 scores are saved to a file using file I/O operations and sorted via Bubble Sort.
-
Sound Effects: Real-time audio feedback for crashes, pickups, and menu clicks.
- Language: x86 Assembly (MASM)
- Library: Irvine32
- IDE: Visual Studio
- Key Algorithms:
- Bubble Sort: Used for managing the leaderboard.
- Random Generation: Procedural placement of passengers and bonus items.
- Collision Detection: Board-array lookups before player movement.
| Key | Action |
|---|---|
| Arrow Keys | Move Taxi (Up, Down, Left, Right) |
| Spacebar | Pick up / Drop off Passenger |
| P | Pause Game |
| C | Resume Game |
| Esc | Exit to Main Menu |
- Prerequisites: Ensure you have Visual Studio installed with the MASM (Microsoft Macro Assembler) component.
- Library Configuration:
- Include the
Irvine32library in your project properties.
- Running:
- Open the
.asmfile in your IDE. - Build the solution (
Ctrl+Shift+B). - Run the executable (
Ctrl+F5).
Different cars have different "risk/reward" profiles:
- Red Taxi: Faster starting speed, but penalizes hits on other cars more heavily (-3 pts).
- Yellow Taxi: Standard speed, but harsher penalties for hitting static obstacles (-4 pts).
- Universal: Hitting a pedestrian results in a -5 point penalty. Dropping a passenger earns +10 points.
Kanwal Fatima Course: Computer Organization & Assembly Language
Semester: Fall 2025






