🧠 Gameplay & Mechanics
- 🌪️ Control a rotating cannon at the center of the screen.
- 🟢 Colored balls travel along a fixed path toward the endpoint.
- 🎯 Shoot balls to form groups of 3+ matching colors to eliminate them.
- ⏳ Progressive difficulty: increased speed and ball variety over time.
🛠 Key Features
- 🖼️ Optimized Graphics Rendering: Direct pixel manipulation for smooth visuals in real mode.
- 💾 Efficient Memory Usage: Minimal stack/heap footprint for state management.
- 🎨 Color Matching Engine: Real‑time collision detection and match logic between fired balls and chain.
- 📈 Score & High Score Tracking: File I/O to persist scores across sessions.
- ⌨️ Real‑Time Input Handling: Interrupt‑driven keyboard controls for precise aim/shoot.
- 🔥 Multiple Difficulty Levels: Gameplay speeds up and adds complexity as you progress.
💻 Tech Stack
Technology | Purpose |
---|---|
x86 Assembly | Core game logic and hardware‑level control |
Irvine32 Library | Graphics, input, and file I/O support |
DOSBox / EMU8086 | Runtime environment for testing |
Interrupts (INT 10h, 21h) | Screen rendering, keyboard, and file handling |
🏁 How to Run
- Ensure you have an x86‑compatible emulator (e.g., DOSBox, EMU8086, or MASM on Windows).
- Include the Irvine32 library and related
.lib
and.inc
files in your project directory. - Assemble, link, and run the program from your emulator/IDE.
git clone https://github.com/rauf17/Zuma-Game-Clone---x86-Assembly.git
cd Zuma-Game-Clone---x86-Assembly
; Open in your assembler/IDE (MASM/DOSBox/EMU8086), include Irvine32, build & run
🎯 Learning Outcomes
- Deep understanding of memory management, interrupt handling, and graphics programming in Assembly.
- Experience designing a complete game loop: input, rendering, state, and file persistence.
- Sharpened debugging skills for low‑level, performance‑critical code.
📦 Repository
Academic/Showcase Project — Low‑level game built for learning and performance.