{"id":34670267,"url":"https://github.com/abdulahshoaib/mazerunner","last_synced_at":"2026-04-20T08:31:55.689Z","repository":{"id":259666850,"uuid":"878840065","full_name":"abdulahshoaib/MazeRunner","owner":"abdulahshoaib","description":"A fun game written in x86 assembly language, designed to be compiled with the NASM assembler. Automated builder provided ","archived":false,"fork":false,"pushed_at":"2025-03-09T15:11:37.000Z","size":63,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T02:27:44.612Z","etag":null,"topics":["8088-architecture","assembly","build-tool","lua","nasm-assembly","x86-assembly"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abdulahshoaib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-26T08:50:57.000Z","updated_at":"2025-03-09T17:22:25.000Z","dependencies_parsed_at":"2025-03-09T13:28:33.518Z","dependency_job_id":"f13769d0-602f-477f-854b-78c978b3d6fd","html_url":"https://github.com/abdulahshoaib/MazeRunner","commit_stats":null,"previous_names":["whoiscipher/mazerunner","abdulahshoaib/mazerunner"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/abdulahshoaib/MazeRunner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulahshoaib%2FMazeRunner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulahshoaib%2FMazeRunner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulahshoaib%2FMazeRunner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulahshoaib%2FMazeRunner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abdulahshoaib","download_url":"https://codeload.github.com/abdulahshoaib/MazeRunner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulahshoaib%2FMazeRunner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32039972,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["8088-architecture","assembly","build-tool","lua","nasm-assembly","x86-assembly"],"created_at":"2025-12-24T19:53:53.582Z","updated_at":"2026-04-20T08:31:55.680Z","avatar_url":"https://github.com/abdulahshoaib.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MazeRunner\n![MazeRunner](assets/1.png)\n\nA classic maze navigation game developed in Assembly language.\n\n## Description\n\nMaze Runner is a 2D maze navigation game written in x86 Assembly. The player must navigate through maze levels using the WASD keys while avoiding obstacles and managing time constraints.\n\n## Features\n\n- **Menu System**: Navigate using arrow keys and select with Enter\n- **Game Controls**:\n  - WASD for player movement\n  - Spacebar to activate Superman mode\n  - ESC to pause the game\n  - R to reset the current level\n  - Q to quit the game\n- **Game Elements**:\n  - Score tracking\n  - Lives system\n  - Timer functionality\n  - Superman mode for special abilities\n\n## Technical Details\n\nThe game utilizes several BIOS interrupts for core functionality:\n- **INT 10h**: BIOS VGA modes for graphics\n- **INT 9h**: Keyboard interrupt for player input\n- **INT 8h**: Timer interrupt for game timing\n\n## Code Structure\n\nThe codebase is organized into several key components:\n\n### Interrupt Handlers\n- **Keyboard Interrupt**: Handles menu navigation and in-game controls\n- **Timer Interrupt**: Manages game timing with approximately 18 ticks per second\n\n### Game Functions\n- Screen management (video mode setting, clearing)\n- Menu drawing and selection\n- Player movement\n- Score and lives tracking\n- Timer functionality\n- Superman mode toggle\n\n### Graphics\n- Custom font rendering\n- Color palette configuration\n- Maze rendering\n- UI element drawing\n\n![Game Picture](assets/2.png)\n\n\n## Developers\n\n- [Moiz Ijaz](https://github.com/Moeezijaz1)\n- Abdullah Shoaib\n\n## Building and Running\n\n### Manual Build\nThis game is designed to run in a 16-bit DOS environment. It can be assembled using NASM or similar x86 assemblers and executed in DOS or a DOS emulator like DOSBox.\n\n```\nnasm maze.asm -o maze.com\n```\n\n### Automated Build\n\nYou can use either Bash or Lua build scripts to automate the build process.\n\n#### Lua Build Script\n\n1. Install Lua:\n   - Ubuntu/Debian: `sudo apt-get install lua5.3`\n   - macOS: `brew install lua`\n   - Windows: Download from the official Lua website\n\n2. Make the build script executable (Linux/macOS):\n   ```bash\n   chmod +x build.lua\n   ```\n\n3. Run the build script:\n   - Linux/macOS: `./build.lua` or `lua build.lua`\n   - Windows: `lua build.lua`\n\n\n#### Requirements for Automated Build\n- NASM assembler\n- Bash shell (Linux/macOS/WSL) or Lua interpreter\n- Optional: DOSBox for testing\n- Optional: zip utility for creating distribution packages\n\n## Distribution Packages\n\nThe build scripts can create distribution packages for easy sharing of your game. A distribution package includes:\n\n1. **The executable file** (`maze.com`) - Your compiled game that users can run\n2. **Documentation** (`README.md`) - Instructions and information about the game\n3. **Convenience scripts** (`run_game.bat`) - A batch file for easy game launching\n4. **Everything packaged in a ZIP file** - For easy distribution\n\nUsers who receive your distribution package can simply extract the ZIP file and run the game without needing to compile it themselves.\n\n## Running the Game\n\nAfter building, run the game in DOSBox:\n\n1. Mount your directory in DOSBox:\n   ```\n   mount c /path/to/game\n   c:\n   ```\n\n2. Run the executable:\n   ```\n   maze.com\n   ```\n\nOr use the automated launcher in the build script by selecting \"yes\" when asked if you want to run the game in DOSBox.\n\n## Notes\n\n- The game uses VGA mode 13h (320x200, 256 colors) for graphics\n- Custom interrupt handling is implemented for keyboard and timer functions\n- The code segment starting at 0x0100h is typical for .COM files in DOS\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdulahshoaib%2Fmazerunner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdulahshoaib%2Fmazerunner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdulahshoaib%2Fmazerunner/lists"}