{"id":18411541,"url":"https://github.com/mikkun/termmaze3d","last_synced_at":"2026-01-22T18:43:37.732Z","repository":{"id":48024022,"uuid":"353468201","full_name":"mikkun/termmaze3d","owner":"mikkun","description":"Pseudo-3D first-person shooter written in AWK","archived":false,"fork":false,"pushed_at":"2024-12-20T14:45:16.000Z","size":14,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-12T23:28:40.930Z","etag":null,"topics":["awk","cellular-automata","fps-game","raycasting","terminal-game"],"latest_commit_sha":null,"homepage":"","language":"Awk","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/mikkun.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":"2021-03-31T19:30:01.000Z","updated_at":"2024-12-20T14:45:20.000Z","dependencies_parsed_at":"2025-02-16T05:30:47.762Z","dependency_job_id":null,"html_url":"https://github.com/mikkun/termmaze3d","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mikkun/termmaze3d","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkun%2Ftermmaze3d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkun%2Ftermmaze3d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkun%2Ftermmaze3d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkun%2Ftermmaze3d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikkun","download_url":"https://codeload.github.com/mikkun/termmaze3d/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkun%2Ftermmaze3d/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28668276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T17:07:18.858Z","status":"ssl_error","status_checked_at":"2026-01-22T17:05:02.040Z","response_time":144,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["awk","cellular-automata","fps-game","raycasting","terminal-game"],"created_at":"2024-11-06T03:37:32.358Z","updated_at":"2026-01-22T18:43:37.717Z","avatar_url":"https://github.com/mikkun.png","language":"Awk","readme":"\u003ch1 align=\"center\"\u003e\n    \u003cimg src=\"./md-images/termmaze3d-logo.png\" alt=\"TERMMAZE3D\" /\u003e\n\u003c/h1\u003e\n\n![GitHub top language](https://img.shields.io/github/languages/top/mikkun/termmaze3d)\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/mikkun/termmaze3d)\n![GitHub license](https://img.shields.io/github/license/mikkun/termmaze3d)\n\n\u003e :suspect: Pseudo-3D first-person shooter written in AWK\n\n## Description\n\n**TERMMAZE3D** is a first-person shooter in which the player explores a randomly generated map.\nThe game uses raycasting to render the walls and cellular automata to generate a map.\n\n![TERMMAZE3D screenshot](./md-images/termmaze3d-screenshot.png)\n\n## Video Demo\n\n[![TERMMAZE3D video demo](https://img.youtube.com/vi/0FIaCN9IakM/0.jpg)](https://www.youtube.com/watch?v=0FIaCN9IakM)\n\n## Requirements\n\n- `gawk` or `awk` (except `mawk`)\n- [GNU coreutils](https://www.gnu.org/software/coreutils/) or equivalent BSD command (`dd`, `echo`, `sleep`, `stty`)\n\n## Installation\n\n```shell\ngit clone https://github.com/mikkun/termmaze3d.git\n```\n\n## How to Play\n\nThe objective of the game is to collect all the treasures before time runs out.\n\n### Running the Game\n\n```shell\ncd /path/to/termmaze3d\n./termmaze3d.awk\n```\n\n### Controls\n\n- \u003ckbd\u003ew\u003c/kbd\u003e: Move forward\n- \u003ckbd\u003es\u003c/kbd\u003e: Move backward\n- \u003ckbd\u003ea\u003c/kbd\u003e: Strafe left\n- \u003ckbd\u003ed\u003c/kbd\u003e: Strafe right\n- \u003ckbd\u003ej\u003c/kbd\u003e: Turn left\n- \u003ckbd\u003el\u003c/kbd\u003e: Turn right\n- \u003ckbd\u003ek\u003c/kbd\u003e: Attack\n- \u003ckbd\u003ep\u003c/kbd\u003e: Pause\n- \u003ckbd\u003eq\u003c/kbd\u003e: Quit\n\n## License\n\n[MIT License](./LICENSE)\n\n## Author\n\n[KUSANAGI Mitsuhisa](https://github.com/mikkun)\n\n## References\n\n- Raycasting\n    - [Lode's Computer Graphics Tutorial: Raycasting](https://lodev.org/cgtutor/raycasting.html)\n    - [Retro Rampage](https://github.com/nicklockwood/RetroRampage)\n    - [awkaster](https://github.com/TheMozg/awk-raycaster)\n- Cellular automaton\n    - [Cellular Automata Method for Generating Random Cave-Like Levels](http://www.roguebasin.com/index.php?title=Cellular_Automata_Method_for_Generating_Random_Cave-Like_Levels)\n    - [Procedural Level Generation in Games using a Cellular Automaton: Part 1](https://www.raywenderlich.com/2425-procedural-level-generation-in-games-using-a-cellular-automaton-part-1)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikkun%2Ftermmaze3d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikkun%2Ftermmaze3d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikkun%2Ftermmaze3d/lists"}