53 lines
1.5 KiB
Markdown
Executable File
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)
|