{"id":30612516,"url":"https://github.com/blagojeblagojevic/wrogue","last_synced_at":"2025-08-30T05:15:16.828Z","repository":{"id":286939790,"uuid":"957142101","full_name":"BlagojeBlagojevic/wrogue","owner":"BlagojeBlagojevic","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-04T09:38:19.000Z","size":95861,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-04T10:36:40.415Z","etag":null,"topics":["c","rouglike"],"latest_commit_sha":null,"homepage":"https://blagojeblagojevic.github.io/wrogue/","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/BlagojeBlagojevic.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-29T16:51:13.000Z","updated_at":"2025-07-04T09:38:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"9f22cd63-dc30-4ab3-9e9b-fe4641ba8eb9","html_url":"https://github.com/BlagojeBlagojevic/wrogue","commit_stats":null,"previous_names":["blagojeblagojevic/rouge"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BlagojeBlagojevic/wrogue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlagojeBlagojevic%2Fwrogue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlagojeBlagojevic%2Fwrogue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlagojeBlagojevic%2Fwrogue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlagojeBlagojevic%2Fwrogue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BlagojeBlagojevic","download_url":"https://codeload.github.com/BlagojeBlagojevic/wrogue/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlagojeBlagojevic%2Fwrogue/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272805572,"owners_count":24995916,"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-08-30T02:00:09.474Z","response_time":77,"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","rouglike"],"created_at":"2025-08-30T05:15:14.961Z","updated_at":"2025-08-30T05:15:16.818Z","avatar_url":"https://github.com/BlagojeBlagojevic.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# wrogue\n\nA simple turn-based roguelike dungeon crawler written in C using SDL2, playable on desktop and in the browser (via Emscripten).\n\n![game](https://github.com/user-attachments/assets/18032142-d44a-4512-b9e1-b348fc347464)\n\n\n## Features\n\n* Procedurally generated dungeons\n* Turn-based movement and combat\n* Permadeath\n* Item discovery and inventory management\n* Graphical display via SDL2\n* Compile to native executables or WebAssembly for browser play\n\n## Demo\n\nPlay the web demo [here](https://blagojeblagojevic.github.io/wrogue/) or build a native version.\n\n## Requirements\n\n* SDL2\n* SDL2\\_image\n* SDL2\\_ttf\n* C compiler (GCC or Clang)\n* GNU Make\n* (Optional) Emscripten SDK for building the browser version\n\n## Building and Running\n\n### Native (Desktop)\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/BlagojeBlagojevic/wrogue.git\n   cd wrogue\n   ```\n\n2. Build with Make:\n\n   ```bash\n   make build\n   ```\n\n3. Run the game:\n\n   ```bash\n   ./app\n   ```\n\n\u003e *Note:* On Windows, use the provided `SDL2.dll`, `SDL2_image.dll`, and `SDL2_ttf.dll` in the project root.\n\n### Web (Emscripten)\n\n1. Ensure Emscripten SDK is installed and activated.\n\n2. From the project root, build the HTML version:\n\n   ```bash\n   make buildemcc\n   ```\n\n3. Serve the `html` with a local web server:\n\n   ```bash\n   python3 -m http.server 8080\n   ```\n\n4. Open `http://localhost:8080/` in your browser.\n\nFor detailed Emscripten instructions, see [`emcc.md`](emcc.md).\n\n## Controls\n\n| Key                   | Action           |\n| -----------------     | ---------------- |\n| Arrow Keys / WASDQEZC | Move             |\n| Space                 | Wait / Pass turn                              |\n| `p`                   | Pick up item                                  |\n| `u`                   | Open inventory and type what you want to use  |\n| `o`                   | Destroy boulder  |\n\n## Configuration\n\nThere are no external configuration files. To tweak settings (map size, spawn rates, etc.), edit constants in `utils.h` and rebuild.\n\n## Project Structure\n\n```\n├── assets/          # Game assets (sprites, fonts)\n├── app.c            # Main application loop and SDL2 setup\n├── entity.c/.h      # Entity definitions and behavior\n├── map.c/.h         # Dungeon generation and map handling\n├── item.c/.h        # Item definitions and inventory logic\n├── utils.h          # Utility macros and constants\n├── makefile         # Build targets for native and web\n├── emcc.md          # Emscripten build instructions\n└── README.md        # This document\n```\n\n## Roadmap\n\n* [x] Monsters\n* [x] Implement procedural item descriptions\n* [x] Improve graphical tileset and UI\n* [x] Bsp map generation\n* [x] Drunk walk map generation\n* [ ] Brouge style map genration  \n* [x] Potion systems\n* [x] Scrol systems\n* [X] Range combat\n* [ ] Wands\n* [ ] Rings\n* [ ] Balance\n* [ ] More monsters\n* [X] Traps\n* [ ] Raycaster engine \n\n## Monsters\n\nA variety of creatures roam the dungeons of wrogue, each presenting unique challenges:\n\n### Undead\n\n* **Acolyte**\n  A nimble caster with modest health  and balanced defenses. Uses basic attacks and dark spells to harass adventurers.\n* **Zombie**\n  Slow-moving undead brutes that relentlessly hunt intruders. Their basic attacks deal minor damage, but their berserk tendency makes them unpredictable when injured. Occasionally siphons life to sustain its shambling form. Spell poisons gas.\n* **Ghoul**\n  Ferocious undead predators with powerful basic strikes. More aggressive than zombies, ghouls relentlessly chase prey and gain strength by draining life with each successful hit\n* **Abomination**\n  A grotesque amalgamation that spews poison clouds instead of direct blows. High poison attack makes it a dangerous crowd controller in tight corridors.\n  Spell poisons gas\n  \n* **Wagon**\n  A haunted war wagon  that cannot attack directly but casts summoning spells. \n* **Necromancer**\n  Frail spellcaster with light defenses. Prefers to summon ghouls from the shadows and maintain distance. Fleeing is common unless bolstered by summoned minions.\n* **Banshee**\n  An ethereal wailer whose piercing shriek drains vitality. Combines poison attacks with debilitating curse spells that reduce the hero’s maximum health.\n* **Spider**\n  A venomous cave crawler that fires poisonous webs at range. Agile and persistent, spiders avoid close combat unless cornered and may bind prey in sticky snares.\n* **Gargoyle**\n   Stone-skinned sentinels with balanced melee and ranged prowess. Tireless watchers that swoop in for crushing blows or hurl stones from atop ledges.\n* **Destroyer**\n  A hulking spellblade blending basic strikes with destructive magic. Wields devastating offensive spells, making it deadly at any encounter distance.\n  \n* **Dragon**\n  The apex predator of the dungeons. Masters both melee and ranged fire attacks. High stamina and spell likelihood allow it to dominate prolonged battles.\n\n### Orcs\n\n* Grunt \n* Berserker \n* Archer \n* Witch \n\n### Neutral\n* Rat \n* Goblin \n\n\n\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblagojeblagojevic%2Fwrogue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblagojeblagojevic%2Fwrogue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblagojeblagojevic%2Fwrogue/lists"}