Files
Turing-Complete-PacMan/readme.md

53 lines
1.5 KiB
Markdown
Executable File

# Turing Complete PacMan
This program is intended to be used as "level validation" for the `IO` level (in which player add support for keyboard, timer and screen display).
It thus should be able to run on the architecture and ISA the players have built at that point, and must be able to run smoothly on a simulation speed of `1 MHz` or above.
## About this repository
The `main` branch contains a minimal implementation of the game.
The following branches contains variations, allowing comparisons of performances, visuals, gameplay, ...
- `res-0-prerendered`:
- `80x60` screen resolution
- `5x5` tile resolution
- initial screen prerendered
- no sprite rotation
- `res-2`:
- `256x192` screen resolution
- `17x17` tile resolution
- `res-2-prerendered`:
- `256x192` screen resolution
- `17x17` tile resolution
- initial screen prerendered
- no sprite rotation
## Build script
Both scripts uses Deno's API, so you'll need to have a `deno` binary in your PATH.
### PPM to Symfony assembly
Output the Symfony assembly representation of the given PPM file.
Usage example:
```sh
./ppmToAsm.ts map map ./assets/map.ppm > ./dist/map.asm
./ppmToAsm.ts sprite robot ./assets/sprites/robot.ppm > ./dist/robot.asm
```
### Bundle and minify
Bundle all `.asm` and `.ppm` files and output the (optionaly minified) result.
Usage example:
```sh
./build.ts --minify > pacman.asm
```
## Documentation
- [Assets](assets.md)
- [Visuals](visuals.md)