{"id":19186151,"url":"https://github.com/kkkaan/simple-bomberman-game","last_synced_at":"2026-07-17T23:36:39.064Z","repository":{"id":207750866,"uuid":"720005570","full_name":"kkKaan/simple-bomberman-game","owner":"kkKaan","description":"Bomberman game with inter-process communication.","archived":false,"fork":false,"pushed_at":"2023-11-17T11:50:52.000Z","size":658,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-13T04:05:07.467Z","etag":null,"topics":["c","inter-process-communication"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kkKaan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-11-17T11:24:09.000Z","updated_at":"2024-02-01T12:56:11.000Z","dependencies_parsed_at":"2023-11-17T12:44:22.882Z","dependency_job_id":null,"html_url":"https://github.com/kkKaan/simple-bomberman-game","commit_stats":null,"previous_names":["kkkaan/a-simple-bomberman-game-with-ipc","kkkaan/simple-bomberman-game"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kkKaan/simple-bomberman-game","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkKaan%2Fsimple-bomberman-game","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkKaan%2Fsimple-bomberman-game/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkKaan%2Fsimple-bomberman-game/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkKaan%2Fsimple-bomberman-game/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kkKaan","download_url":"https://codeload.github.com/kkKaan/simple-bomberman-game/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkKaan%2Fsimple-bomberman-game/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013604,"owners_count":26085389,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"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":["c","inter-process-communication"],"created_at":"2024-11-09T11:13:33.915Z","updated_at":"2025-10-13T04:05:08.248Z","avatar_url":"https://github.com/kkKaan.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bomberman Game with IPC\n\n## Overview\nThis project presents a C-based text Bomberman game leveraging inter-process communication (IPC). Players navigate a maze, plant bombs, and aim to be the last one standing. The game employs bidirectional pipes for communication and involves complex game logic for bomber and bomb behaviors.\n\n## Features\n- Text-based maze environment.\n- Multiple players with unique initiatives.\n- Bomb planting with explosion mechanics affecting bombers and obstacles.\n- Bidirectional pipe communication using `socketpair()`.\n- Select/Poll system calls for non-blocking I/O.\n\n## Prerequisites\n- C compiler (e.g., GCC)\n- Linux-based OS for system calls compatibility\n\n## Compilation and Execution\n1. Clone the repository.\n2. Navigate to the project directory.\n3. Compile the game using the provided `Makefile`.\n4. Run the game with `./bgame`.\n\n## Game Mechanics\n\n### Bombers\n- **Initiative**: Order of message sending.\n- **Movement**: One step at a time in the maze.\n- **Obstacle Vision**: Limited visibility with obstacle considerations.\n- **Bomb Planting**: At current location, fails if a bomb is already present.\n- **Death**: Occurs on explosion impact.\n\n### Bombs\n- **Explosion Mechanics**: Timed explosions with a cross pattern.\n- **Obstacle Interaction**: Obstacles block and can be destroyed by explosions.\n- **Player Elimination**: Bombs can eliminate bombers, including self-elimination.\n\n### Controller Logic\n- **Socket Monitoring**: Using `select()` or `poll()` for bomb and bomber sockets.\n- **Game Progression**: Manages game state, including ending conditions.\n\n## Code Structure\n\n- `bgame.c`: Main game file containing logic, bomber and bomb management, and IPC mechanisms.\n- `bomb`: Executable for managing bomb explosions.\n- Additional utility and header files for supporting functionalities.\n\n## Additional Information\nFor a detailed game description, refer to the included PDF documentation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkkkaan%2Fsimple-bomberman-game","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkkkaan%2Fsimple-bomberman-game","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkkkaan%2Fsimple-bomberman-game/lists"}