Hi, I'm Shaun. I'm currently developing an unofficial remake of Pac-Man inspired by Jamey Pittman's The Pac-Man Dossier and Bart Grantham's Annotated Ms. Pac-Man Disassembly. This version provides more gameplay features for learning the ghost behaviors. It also scales to any screen size and is playable on modern web browsers (including tablets, smartphones, and Nintendo Wii-U).


Click to learn the ghosts!

Click to play Pac-Man with visuals!


Get the source code with the git command:
        git clone http://pacman.shaunew.com/pacman.git
        

Play Current Version Track Development


This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License Version 3 as published by the Free Software Foundation.

Why?

Pac-Man needs a definitive implementation. The subtleties and details of the game are important, and even official ports of the game lack some very important details from the original arcade.

This remake is a labor of love resulting from years of hard work from many passionate people (reverse engineers, writers, expert players, and developers). Pac-Man is iconic and part of our culture, and we want to see this game preserved and opened for all to learn.

Play

You can play the game on all canvas-enabled browsers. Touch controls are enabled for mobile browsers. The game is resolution-independent and smoothly scales to fit the size of any screen. Performance may increase by shrinking the window or zooming in with your browser.

Main Controls

Confirmed Desktop Browers

Confirmed Mobile Devices

Games

Each of the following games are playable from the main menu.

montage

Turbo Mode

Each game has an alternate mode called Turbo (a.k.a. speedy mode). This is a popular hardware modification of the game found in many of the original arcade cabinets. In this mode, Pac-Man travels about twice as fast (same speed as the disembodied eyes of the ghosts) and is not slowed down when eating pellets.

High Scores

High scores for each game (normal and turbo separately) are stored on your local machine by your browser.

Learn Mode

Learn Mode allows you to visualize the behaviors of the ghosts. (The colored square represents the ghost bait.)

Learn

Practice Mode

This mode allows you to practice the game with special features. You can go into slow-motion or rewind time with the special onscreen buttons or the hotkeys listed below. (The time-manipulation controls and design were borrowed from the game Braid). You can also turn on invincibility or ghost visualizers from the menu.

Practice

Practice Controls

Procedurally-Generated Maps

In the Cookie-Man game mode, the mazes change as often as they do in Ms. Pac-Man, but are procedurally generated. Each level has a pre-defined color palette, granting an element of consistency to the random structure of the mazes.

Procedural

Algorithm Description

The mazes are built carefully to closely match design patterns deduced from the original maps found in Pac-Man and Ms. Pac-Man.

I have an article under construction for describing the algorithm here

Accuracy

It is a goal of this project to stay reasonably accurate to the original arcade game. The current accuracy is due to the work of reverse-engineers Jamey Pittman and Bart Grantham.

Currently, the coordinate space, movement physics, ghost behavior, actor speeds, timers, and update rate match that of the original arcade game.

Inaccuracies

The timings of certain non-critical events such as score display pauses and map-blinking animations are currently approximated.

Unfortunately, you cannot use patterns from the original Pac-Man because of complications with random number generators.

Also, the collision detection is tighter than the original (checked twice as often) to prevent pass-through "bugs".

Report/Fix Bugs

Feel free to report any inaccuracies that may detract or simply annoy. Any reverse-engineers willing to contribute their expertise to this project would be a big help as well!

Navigating the Repository

Credits

Reverse-Engineers

Thanks to Jamey Pittman for compiling The Pac-Man Dossier from his own research and those of other reverse-engineers, notably 'Dav' and 'JamieVegas' from this Atari Age forum thread. Further thanks to Jamey Pittman for replying to my arcade implementation-specific questions with some very elaborate details to meet the accuracy requirements of this project.

Thanks to Bart Grantham for sharing his expert knowledge on Ms. Pac-Man's internals, providing me with an annotated disassembly and notes on how fruit paths work in meticulous detail.

Testers

Thanks to the following guys from the classic arcade gaming forums. They were avid Pac-Man players in the 80s, and remain competitive today in the pac scene. They took a very active interest in this project by correcting subtle but important gameplay details, submitting bug reports and feature suggestions. Because of them, this project enjoys a high level of accuracy and faithfulness to the original.

  • neg1
  • anningmay
  • pacwhiz

Original Games

Thanks to the original Pac-Man team at Namco for creating such an enduring game. And thanks to the MAME team for their arcade emulator and very helpful debugger.

Thanks to the Ms. Pac-Man team at GCC for improving Pac-Man with a variety of aesthetic maps that I based the map generator on.

Thanks to Jonathan Blow for creating the rewind mechanic in Braid which inspired the same mechanic in my project. Further thanks for presenting the implementation details in this talk which helped in my own implementation.

Art

Thanks to Tang Yongfa and their cookie monster Pac-Man design at threadless website which I used as the character in the random maze mode.