ba12492ebf53410d73808217262394d8fc72f666
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:80x60screen resolution5x5tile resolution- initial screen prerendered
- no sprite rotation
res-2:256x192screen resolution17x17tile resolution
res-2-prerendered:256x192screen resolution17x17tile 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:
./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:
./build.ts --minify main.asm > pacman.asm
# To beforehand convert all ppm files
./build.ts --ppm --minify main.asm > pacman.asm
Documentation
Description
Languages
Assembly
67%
TypeScript
33%