https://github.com/mikkun/termmaze3d
Pseudo-3D first-person shooter written in AWK
https://github.com/mikkun/termmaze3d
awk cellular-automata fps-game raycasting terminal-game
Last synced: 6 months ago
JSON representation
Pseudo-3D first-person shooter written in AWK
- Host: GitHub
- URL: https://github.com/mikkun/termmaze3d
- Owner: mikkun
- License: mit
- Created: 2021-03-31T19:30:01.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-12-20T14:45:16.000Z (10 months ago)
- Last Synced: 2025-04-12T22:55:54.822Z (6 months ago)
- Topics: awk, cellular-automata, fps-game, raycasting, terminal-game
- Language: Awk
- Homepage:
- Size: 13.7 KB
- Stars: 10
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()


> :suspect: Pseudo-3D first-person shooter written in AWK
## Description
**TERMMAZE3D** is a first-person shooter in which the player explores a randomly generated map.
The game uses raycasting to render the walls and cellular automata to generate a map.
## Video Demo
[](https://www.youtube.com/watch?v=0FIaCN9IakM)
## Requirements
- `gawk` or `awk` (except `mawk`)
- [GNU coreutils](https://www.gnu.org/software/coreutils/) or equivalent BSD command (`dd`, `echo`, `sleep`, `stty`)## Installation
```shell
git clone https://github.com/mikkun/termmaze3d.git
```## How to Play
The objective of the game is to collect all the treasures before time runs out.
### Running the Game
```shell
cd /path/to/termmaze3d
./termmaze3d.awk
```### Controls
- w: Move forward
- s: Move backward
- a: Strafe left
- d: Strafe right
- j: Turn left
- l: Turn right
- k: Attack
- p: Pause
- q: Quit## License
[MIT License](./LICENSE)
## Author
[KUSANAGI Mitsuhisa](https://github.com/mikkun)
## References
- Raycasting
- [Lode's Computer Graphics Tutorial: Raycasting](https://lodev.org/cgtutor/raycasting.html)
- [Retro Rampage](https://github.com/nicklockwood/RetroRampage)
- [awkaster](https://github.com/TheMozg/awk-raycaster)
- Cellular automaton
- [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)
- [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)