Eric Fortier
Generalist Programmer
∽ PAC-MAN ∼
Loading a large GIF!

Programming Pac-Man for anyone else should probably not take five weeks. However, this is not your typical clone.

This version was meant to be a perfect replica that played exactly like the original, from the moment the game boots up to the interludes between levels. The graphics, sounds, and timing are identical to that of the arcade machine.

Every part of the original game is painstakingly recreated, including Pac-Man's gliding around the corners when it moves. Even the bug from the original game that allowed Pac-Man and a ghost to go through each other is present and emerged from recreating the tile movement of the characters.

Since nothing is perfect there are subtle differences. While the AI of the ghosts matches that of the original game, their random behavior could not be reproduced as accurately since that aspect was tightly coupled to the hardware running the game.

This project allowed me to further my understanding of rendering vs. updating logic loops. I managed to improve the main loop by completely decoupling the rendering from the logic, without using threads. This provides a smooth 1580 FPS, while the logic updates at 60 iterations per second, matching the original game.

The game's progression--yes, there is progression in Pac-Man!--culminates in the dreaded level 256, where a glitch with how the fruits are drawn actually leads to a completely mangled layout that is still playable but cannot be completed without cheating.