Terminal-based game for Linux similar to Pac-Man and written entirely in Haskell using Brick. The game should also work in terminal emulators on the MacOS, but may not work on Windows (I have only tested it on Linux).
If you want to just get the latest release binary for Linux rather than compiling from source, then go here. Otherwise, the program uses the Haskell Tool Stack for package management and compiling. Clone the repository and install with
git clone https://github.com/MWRuszczycky/pmgame.git
cd pmgame
stack installStack will tell you where the binary has been installed (e.g., ~/.local/pmgame). To run the game use
pmgameTo see a list of options try
pmgame --helpTo update the game, move to the repository directory and update with
git pull origin master
stack installAfter running the game for the first time, a ~/.config/pmgame directory will be created in your home directory where high scores are saved. If there is no .config file in your home directory, then no directory will be created and the high scores will not be saved between game plays.
Delete the pmgame binary from wherever Stack installed it (see above). Delete the configuration directory pmgame from your ~/.config directory.
- Use the arrow keys,
awsd(Querty) ora,oe(Dvorak) to change direction. - Use
Escto quit the game at any time. - Use
Spaceto pause the game.
You can create and play your own custom maze as the first level. Complete information, including an example, about how to write your own ascii maze file can be displayed using the help command:
pmgame --helpWhen the game runs, it sets the TERM environment parameter to xterm-256color. If this causes a problem such as a message like
pmgame : setupTerm: Couldn't lookup terminfo entry "xterm-256color"then you can try using a different terminal setting using the --terminal option. For example, try,
pmgame --terminal=xterm-16colorThe game should still display correctly with only 16 colors; however, you will start to lose colors if you go below 16. For example, grey text will not show up and power pellets will not flash if you set --terminal=xterm, but everything else should still work.
